Adding a new locale to CLDR
NOTE: this is an internal page for TC developers. Others should see Core Data for New Locales.
Country Locales
If you are just adding a new country locale (eg we have a locale for the language), you just need to add the new empty locale file, and Update Survey Tool. Otherwise:
Minimal Structure
Before adding a new locale, you must have the core data: see Core Data for New Locales for the process.
Here is an example: https://github.com/unicode-org/cldr/pull/59/files
Add Data in git
Before starting to add a new locale, make sure you have the minimal core data that cannot be added through the Survey Tool. See above.
Create the new locale files. If you are adding a single new language locale, for example, language "xx" as spoken in country "YY", you will need two files:
common/main/xx.xml - The main locale file containing the core data. You can use the template in seed/main/und.xml as a starting point.
common/main/xx_YY.xml - An empty country locale containing the identification of xx_YY as a valid locale. You can use the template in seed/main/und_XX.xml as a starting point.
See files are here: https://github.com/unicode-org/cldr/tree/master/seed/main
Add the plural rules (if available) to common/supplemental/plurals.xml
Add the day period rules (if you have them ) to common/supplemental/dayPeriods.xml
If you are adding a new language
Add the language subtag to <variable id="$language" type="choice"> in
/common/supplemental/attributeValueValidity.xml
add the appropriate default content locale
to <defaultContent locales="..."> in common/supplemental/supplementalMetadata.xml
The default content locale is usually the locale where the most people speak the language in question.
If the language is not already in common/supplemental/likelySubtags.xml
Send the literate pop information to Rick, or file a bug, if the language is not already in the supplemental data.
Once he has added, run the tool in LikelySubtags and Default Content to add the new language and its associated subtags to common/supplemental/likelySubtags.xml
Also add the English translation for any new languages in common/main/en.xml
If requested, add to vendor targets (Locale.txt), and to Cldr where resources are committed.
Run the tests (will be done automatically when a PR is created)
Commit your work to a branch and create a Pull Request.
The new locale will be included in Smoketest when the PR is merged, and will be in production once a push to production occurs.