To present different translations properly, info about language name, text direction, plural definitions and language code is needed.
Parsing language codes¶
While parsing translations, Weblate attempts to map language code (usually the ISO 639-1 one) to any existing language object.
You can further adjust this mapping at project level by Language aliases.
If no exact match can be found, an attempt will be made
to best fit it into an existing language (e.g. ignoring the default country code
for a given language—choosing
cs instead of
Should that also fail, a new language definition will be created using the defaults (left to right text direction, one plural) and naming of the language as xx_XX (generated). You might want to change this in the admin interface later, (see Changing language definitions) and report it to the issue tracker (see Contributing to Weblate).
In case you see something unwanted as a language, you might want to adjust Language filter to ignore such file when parsing translations.
Changing language definitions¶
You can change language definitions in the languages interface
While editing, make sure all fields are correct (especially plurals and text direction), otherwise translators will be unable to properly edit those translations.
Built-in language definitions¶
Definitions for more than 550 languages are included in Weblate and the list is extended in every release. Whenever Weblate is upgraded (more specifically whenever weblate migrate is executed, see Generic upgrade instructions) the database of languages is updated to include all language definitions shipped in Weblate.
Each language consists of following fields:
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.
Visible name of the language. The language names included in Weblate are also being localized depending on user interface language.
Determines whether language is written right to left or left to right. This property is autodetected correctly for most of the languages.
Number of plurals used in the language.