The Projects by language page of Translate.WordPress.org lists all the locales that already exist and are ready for translations. If the language you’d like to translate in is there, great! You are ready to start translating after logging into your WordPress.org account.
If the language is there, but it looks like no one is working on it, check the Inactive translations page of the Handbook for instructions.
If the locale is not is not in that list, read on.
It is, of course, possible to translate and maintain a translation on your own, but at times it will be overwhelming. The WordPress project alone has more than 4000 strings. The first thing you should do is gather a team to work on your translation. Each member of your team will need a WordPress.org username. They don’t already have one, it’s easy to register for one here.
How big should your team be?
We strongly recommend that you organize a team of at least two or three other people to help out. The good news is you can usually recruit this translation team from your existing WordPress community. If you don’t yet have a local WordPress community, this is a great time to form one. Your translation team will probably form the core of your future community. Many teams start with the mere objective of translating WordPress and evolve into a full-fledged community, organizing meetups and sometimes even WordCamps.
It’s now time to find a language code. Keep in mind that it is indeed a language code and not a country code. The first thing you should check is the list of locales that GlotPress supports. If your language code is there, that’s the one you should be using. If not, use Wikipedia or Ethnologue to find your language and the appropriate ISO 639-1, ISO 639-2 and ISO 639-3 codes. ISO 639-1 used to be used for the language subdomains, but for new locales we now use the ISO 639-3 code. In case you need more background, the Ethnologue website is a good resource.
This is only relevant if you’re planning to translate a language that varies from country to country, like French (which varies in Canada, Belgium, Switzerland, France, and many more). If such a variation exists, the country code will be appended to your subdomain, as in fr-ca for Canadian French or es-mx for Spanish as spoken in Mexico.
Example: Spanish has a lot of location specific locales.
Have you looked through and completed all of the steps above? Excellent! Now it’s time to request your new locale.
Go to the polyglots blog and create a new post with the following information:
Locale: The ISO 639-3 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: Thenumber 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)
Language English name: The name of the language in Englisj (Ex: 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.org usernames of the admins for your site.
Admin Email address: The wordpress.org email address of at least one of the administrators
As an example, here’s the form filled in for Spanish in Mexico:
Country code: MX
Plural forms: nplurals=2; plural=(n != 1);
Language native name: Español de México
Site Title: Español de México
Site Description: WordPress en español de México
Admin Username(s): xxx, xxx
Admin Email: xxx at xxxx.com
Note: If you do not wish to publish your email address, let us know in a comment on the post and we will find a way for you to send it to someone privately.