Adding a New Locale – Template

This page goes through the checklist of actions required to add a 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/ to translate.wordpress.orgtranslate.wordpress.org The platform for contributing to the translation of WordPress core, themes and plugins..

All communication related to adding the locale happens in comments below the request. When a request for a new locale is added, a polyglots teamPolyglots Team Polyglots Team is a group of multilingual translators who work on translating plugins, themes, documentation, and front-facing marketing copy. https://make.wordpress.org/polyglots/teams/. mentor picks the request up and posts the following checklist as a comment on the request. The request can be managed by one or more members of the polyglots leadership team. It is recommended that when action/information is needed from either the person requesting the locale or one of the polyglots leads, they get mentioned in a comment in the same request.

[Locale name] Research [Locale name] Research

Ethnologue reference: http://www.ethnologue.com/language/
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. code:

Locale
Country code:
Plural forms:
Language native name:
Sub-domain:
Site Title:
Site Description:
Admin Username(s):

$locale = new GP_Locale();
$locale->english_name = '';
$locale->native_name = '';
$locale->lang_code_iso_639_1 = '';
$locale->lang_code_iso_639_2 = '';
$locale->lang_code_iso_639_3 = '';
$locale->country_code = '';
$locale->wp_locale = '';
$locale->slug = '';
$locale->nplurals = ;
$locale->plural_expression = '()';
$locale->google_code = '';
$locale->facebook_locale = '';

Here’s an example from when Maltese was added. Note that the locale entries are sorted alphabetically on the locale code (in this case “mlt”):

$mlt = new GP_Locale();
$mlt->english_name = 'Maltese';
$mlt->native_name = 'Malti';
$mlt->lang_code_iso_639_1 = 'mt';
$mlt->lang_code_iso_639_2 = 'mlt';
$mlt->lang_code_iso_639_3 = 'mlt';
$mlt->country_code = 'mt';
$mlt->wp_locale = 'mlt';
$mlt->slug = 'mlt';
$mlt->nplurals = 4;
$mlt->plural_expression = '(n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3)';
$mlt->google_code = 'mt';
$mlt->facebook_locale = 'mt_MT';

o Which countries use that language
o Research details: Wikipedia for larger context, Ethnologue for details
o Check that the ISO 639-1, ISO 639-2, ISO 639-3 codes match the request
o Check if the locale already exists as a wp locale: https://make.wordpress.org/polyglots/teams/
o Check that it isn’t already in the list of GlotPress locales: https://github.com/GlotPress/GlotPress-WP/blob/develop/locales/locales.php

Top ↑

Add the locale to GlotPressGlotPress GlotPress is the translation management software that powers Translate.WordPress.org. More information is available at glotpress.org.  Add the locale to GlotPress 

o Update the data for the locale on the locale PHP file
o Update pinned external version of GlotPress
o Deploy to GlotPress & WordPress servers

Top ↑

Add the Locale Site Add the Locale Site

o Create new site
o (Add additional admin users)
o Update site description
o Create the locale association
o Connect with Jetpack
o Promote all admin users to Global Translation Editors

Top ↑

Add stringsString A string is a translatable part of the software. A translation consists of a multitude of localized strings. to the locale at Translate.wordpress.org Add strings to the locale at Translate.wordpress.org

o Create translation sets
o (Create a new SVN directory for the locale)

Top ↑

Onboard new translation editorTranslation 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 Onboard new translation editor

o Send links to Rosetta site and project on translate.wordpress.org
o Send a link and encourage to prepare Rosetta site (Send link to handbook part)
o Encourage new GTE to form a team
o Send information about Slack and weekly meetings
o Send a link to Translation Handbook (General expectations)