blob: 464a8a5089bf8fefcac9a0ce615ffceaa32a429f [file] [log] [blame] [view]
---
title: Adding a new locale to CLDR
---
# Adding a new locale to CLDR
NOTE: this is an internal page for TC developers. Others should see [Core Data for New Locales](https://cldr.unicode.org/index/cldr-spec/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](https://cldr.unicode.org/index/cldr-spec/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](https://cldr.unicode.org/development/updating-codes/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.