Definicije jezika

To present different translations properly, info about language name, text direction, plural definitions and language code are needed.

Ugrađene definicije jezika

Definitions for about 800 languages are included in Weblate and the list is extended in every release. Whenever Weblate is upgraded (more specifically whenever migrate is executed, see Generic upgrade instructions) the database of languages is updated to include all language definitions shipped in Weblate.

This feature can be disabled using UPDATE_LANGUAGES. You can also enforce updating the database to match Weblate built-in data using setuplang.

Obrada jezičnih kodova

While parsing translations, Weblate attempts to map language code (usually the ISO 639-1 one) from the Maska datoteke to any existing language object.

You can further adjust this mapping at project level by Aliasi jezika.

If no exact match can be found, an attempt will be made to best fit it into an existing language. Following steps are tried:

  • Case insensitive lookups.

  • Normalizing underscores and dashes.

  • Looking up built-in language aliases.

  • Traženje prema imenu jezika.

  • Ignoring the default country code for a given language—choosing cs instead of cs_CZ.

Should that also fail, a new language definition will be created using the defaults (left to right text direction, one plural). The automatically created language with code xx_XX will be named as xx_XX (generated). You might want to change this in the admin interface later, (see Mijenjanje definicija jezika) and report it to the issue tracker (see Doprinošenje Weblateu), so that the proper definition can be added to the upcoming Weblate release.

Savjet

In case you see something unwanted as a language, you might want to adjust Filtar jezika to ignore such file when parsing translations.

Mijenjanje definicija jezika

You can change language definitions in the languages interface (/languages/ URL).

While editing, ensure all fields are correct (especially plurals and text direction), otherwise translators will be unable to properly edit those translations.

Savjet

Please consider contributing your changes back, see Extending built-in language definitions.

Nejedinstveni jezični kodovi i makrojezici

In many cases it is not a good idea to use macrolanguage code for a translation. The typical problematic case might be Kurdish language, which might be written in Arabic or Latin script, depending on actual variant. To get correct behavior in Weblate, it is recommended to use individual language codes only and avoid macrolanguages.

Više informacija

Macrolanguages at Wikipedia

Definicije jezika

Each language consists of following fields:

Kod jezika

Code identifying the language. Weblate prefers two letter codes as defined by ISO 639-1, but uses ISO 639-2 or ISO 639-3 codes for languages that do not have two letter code. It can also support extended codes as defined by BCP 47.

Ime jezika

Visible name of the language. The language names included in Weblate are also being localized depending on user interface language.

Smjer teksta

Determines whether language is written right to left or left to right. This property is autodetected correctly for most of the languages.

Broj ljudi koji govore ovim jezikom

Broj ljudi koji govore ovim jezikom na svijetu.

Definicije množine

Weblate comes with a built-in set of plural definitions. These are based on file-format specifications, CLDR, and other sources.

Upozorenje

Doing changes to the built-in plural definitions will most likely won’t have desired effect, as these rules need to match underlying implementation.

Changing plural number or formula will affect only displaying of the strings, but not parsing and storing strings to the files. Should you think Weblate behaves incorrectly, please file an issue in our issue tracker.

Broj množine

Broj množina koje se koriste u jeziku.

Formula za množinu

Gettext compatible plural formula used to determine which plural form is used for given count.

The formula uses the same expression syntax as the plural= part of the Gettext Plural-Forms header. The nplurals value sets how many plural forms the language has, and the formula returns the zero-based index of the plural form to use for a count n.

Weblate validates the formula using the Gettext parser provided by Python. The accepted syntax is a C-like integer expression with n as the only variable. It can use decimal numbers, parentheses, arithmetic operators (+, -, *, /, %), comparison and equality operators, logical operators (&&, ||, !), and the ternary operator (condition ? value1 : value2). The result must be between 0 and nplurals - 1.

For example, English uses:

nplurals=2; plural=n != 1;