Locale, Sites, and Forums Deployment

This is the process that the Polyglots leadership team follows to add new localesLocale Locale = language version, often a combination of a language code and a region code, for instance es_MX denotes Spanish as it’s used in Mexico. A list of all locales supported by WordPress in https://make.wordpress.org/polyglots/teams/, RosettaRosetta The code name of the theme for the local WordPress sites (eg. bg.wordpress.org is a “Rosetta” site). All locale specific WordPress sites are referred to as “Rosetta sites.” The name was inspired from the ancient Rosetta Stone, which contained more or less the same text in three different languages. sites, and forums to the Global Network. 

1. Locale request requirements

Every new localeLocale Locale = language version, often a combination of a language code and a region code, for instance es_MX denotes Spanish as it’s used in Mexico. A list of all locales supported by WordPress in https://make.wordpress.org/polyglots/teams/ request should consist of the following information. This information should be provided by the person requesting the locale as explained in the handbook page “Requesting a new locale

  • Locale: The ISO 639-3ISO 639-3 ISO 639-3 code is an international standard for language codes in the ISO 639 series. It defines three‐letter codes for identifying languages. locale code that is specific for your language
  • Country code: The specific code for your country (ex: es for Spain or mx for Mexico)
  • Plural forms: The number of plural forms and the rules for those (ex: nplurals=2, (n>1) for Artipan)
  • Language native name: The name of the language in the language (Ex: Български for Bulgarian)
  • Sub-domain: The subdomain of your site will use the ISO 639-3 language code, so that’s what you will need to provide. Exceptions are locales for location-specific languages, where the subdomain uses the two-letter ISO 639-2 code followed by the country code (Ex. es_mx for Mexican Spanish).
  • Site Title: The title for your site should be the “Country or language name.”
  • Site Description: A tagline or description of your site in your native language
  • Admin Username(s): The wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ usernames of the admins for your site.


$ceb = new GP_Locale();
$ceb->english_name = 'Cebuano';
$ceb->native_name = 'Cebuano';
$ceb->lang_code_iso_639_2 = 'ceb';
$ceb->lang_code_iso_639_3 = 'ceb';
$ceb->country_code = 'ph';
$ceb->wp_locale = 'ceb';
$ceb->slug = 'ceb';
$ceb->facebook_locale = 'cx_PH';

NB! Guidelines for WP Locale

Top ↑

2. Locale research

  • Check that it isn’t already in the list of GlotPress locales
  • How many people use the language
  • Which countries use that language
  • Research details: Wikipedia for larger context, Ethnologue for details
  • Check that the ISO 639-1, ISO 639-2, ISO 639-3 codes match the request

Top ↑

3. Add new locale to the list of GlotPress locales

  • Add the new locale to GlotPressGlotPress GlotPress is the translation management software that powers Translate.WordPress.org. More information is available at glotpress.org. with a pull request on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/.
  • Example: https://github.com/GlotPress/GlotPress-WP/pull/1163

Top ↑

4. Update locales on WordPress.org

WordPress.org uses a customized copy of the locales file from GlotPress. Any new locale needs to be synced back to the copy and deployedDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. on WordPress.org. The file is independent of the GlotPress version.

The update can be done by direct commit in case commit access is available or a new ticket on meta.trac with a patch.

Top ↑

5. Add new directory in i18n.svn.wordpress.org

Only apply if the team wants to translate the readme and config files. Requires a separate request.

  • The name of the new directory should be the value of the wp_locale
  • Give new validators commit access to their own repositories to i18n.svn.wordpress.org

Some locales need to overwrite coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. files or add core files. These files can be found in the dist directory of every locale.

Top ↑

6. Create a new Rosetta site

Only Super Admins can create sites on Global.WordPress.org

  • Go To Sites > Create a new site
  • The site’s description is the language name in that language
  • Add subdomain (slug – matches the locale code)
  • Add Locale Associations
  • Modify the new Rosetta site
    • Add new users (General Translation EditorsTranslation Editor Translation editors can approve translations for projects. The GTE (General Translation Editor) and LM (Locale Manager) roles can add new users with the "Project Translation Editor" role that can approve translations for specific projects. There are two different Translation Editor roles: General Translation Editor and Project Translation Editor for the locale)
  • Optional: Create a locale support forum
  • Optional: Create a team P2 for the site

Top ↑

7. Create translation sets for projects for the new locale

For new requests, this is done with a script when the new locale is deployed to cover all relevant projects.

Only Super Admins can create projects on translate.wordpress.orgtranslate.wordpress.org The platform for contributing to the translation of WordPress core, themes and plugins..

Following these steps, super admins can create translation sets for each project needed for the new locale:

  • Go to: Translate.WordPress.org
  • Select Project
  • Select version
  • Project actions
  • New translation set
  • Choose new locale from the dropdown menu

Top ↑

8. Onboard new GTE

Top ↑

9. Set up or edit a translation project

If you see “(edit)” and “Project actions ↓” link on a project landing page (e.g., /projects/meta/rosetta) you can edit the description and settings of the project, except for the themes and plugins.

Reference: Creating a New Project & Project Actions on GlotPress documentation

For any operations that you’re not sure about, it’s best to ask in the #metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. Slack channel or create a meta TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. ticket.

Last updated: