L10n:Locale Codes
After recent discussions, MLP staff decided on using an extended scheme for locale names, following the "language tag" RFC 3066.
This means that in addition to the previous style of ab-CD locale names, we also support simple language-only names, and even extended names for dialects.
The basic for of our new locale identifiers is <language>-<region>-<dialect>, where the region dialect parts are optional.
Actually, every language that's not different for different regions should go with the ISO 639.1/.2 (2-letter/3-letter) language code alone in theory ("de", "eo", "pl", "cs", etc.), while all where the region does matter should include it (2-letter ISO 3166 code; locale strings look like those we have used until now: "es-ES", "es-AR", "pt-PT", "en-US"). In some rare cases, we might need the dialect part as a third part (3- to 8-letter basically freeform part), we currently can image two cases there:
1. (real case we have at the moment): there's no ISO 639.2 code for some language that wants to do a localization (venetian Firefox in our current case). In this case, we can use the generic identifier for the language family (romance: roa) from ISO 639.2 as the language code, and add an identifier for the specific language as the dialect (if one exists, we prefer to use the 3-letter SIL code). In the case of venetian, we end up with "roa-IT-vec" this way.
2. (hypothetical case): we have a real dialect, e.g. a Bavarian L10n, which would get "de-DE-bavarian" or similar.
To summarize, these schemes are supported:
- ab
- ab-CD
- abc-CD
- abc-CD-SIL
- abc-CD-dialect
where
- ab/abc - from ISO 639.1/639.2
- CD - from ISO 3166
- SIL - from the SIL list
- dialect - following the rules from RFC 3066
Currently, we do only support those names on releases that user the new version of the "source L10n" approach, with localized files in CVS under the l10n/ partition (main CVS directory). This means it works for Firefox and Thunderbird "trunk" (1.1), while we do not support the new naming scheme for Firefox/Thunderbird 1.0.x or Mozilla suite releases. For those, only the "ab-CD" and "abc-CD" schemes are currently supported.
Mozilla Foundation is currently getting this new naming scheme to work with their servers. If you're interested in the progress, look at bug 288244.