To present different translations properly, info about language name, text direction, plural definitions and language code is needed.
Wbudowane definicje języków#
Definitions for about 650 languages are included in Weblate and the list is
extended in every release. Whenever Weblate is upgraded (more specifically
migrate is executed, see
Ogólne instrukcje dotyczące aktualizacji) the database of languages is updated to
include all language definitions shipped in Weblate.
Parsowanie kodów językowych#
While parsing translations, Weblate attempts to map language code (usually the ISO 639-1 one) from the Maska pliku to any existing language object.
You can further adjust this mapping at project level by Aliasy językowe.
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.
Wyszukiwanie wbudowanych aliasów językowych.
Wyszukiwanie według nazwy języka.
Ignoring the default country code for a given language—choosing
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
Zmiana definicji języka) and report it to the issue tracker (see
Przyczyń się do rozwoju Weblate), so that the proper definition can be added to the
upcoming Weblate release.
In case you see something unwanted as a language, you might want to adjust Filtr języka to ignore such file when parsing translations.
Zmiana definicji języka#
You can change language definitions in the languages interface
While editing, ensure all fields are correct (especially plurals and text direction), otherwise translators will be unable to properly edit those translations.
Niejednoznaczne kody językowe i makrojęzyki#
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.
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 worldwide speakers of this language.
Weblate comes with a built-in set of plural definitions. These are based on file-format specifications, CLDR, and other sources.
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 a issue in our issue tracker.
Number of plurals used in the language.
Formuła liczby mnogiej#
Gettext compatible plural formula used to determine which plural form is used for given count.