Handbook for WordPress Translators

WordPress Translators Handbook

Note: This page is copied from http://docs.svn.wordpress.org/trunk/en/translators/handbook.html and edited by myself.

Table of Contents

  1. Starting a new translation

    1. Why would I want to translate WordPress?
    2. What should I know in advance?
    3. Choosing locale name
    4. Requesting a new locale
    5. Adding more users to a repository
  2. Translating

    1. General guidelines
    2. Building a glossary for your language
    3. Message types
    4. Placeholders
    5. Translator comments
    6. Contexts
    7. Source-file references
  3. Translations repository

    1. General guidelines
    2. Building a glossary for your language
    3. Message types
    4. Placeholders
    5. Translator comments
    6. Contexts
    7. Source-file references
  4. Translation Tools

    1. Gettext overview
    2. Gettext command-line tools
    3. poEdit
    4. Pootle
  5. Local sites at <locale>.wordpress.org

    1. Requesting a new site
    2. Translating the site interface
    3. Requesting translations deploy
    4. Editing content
    5. Building local packages
    6. Releasing new versions
    7. Adding users
    8. Editing the main menu
    9. Showcase
  6. Local forums at <locale>.forums.wordpress.org

    1. Requesting a new forum
    2. Translating the forums interface
    3. Requesting translations deploy
    4. Adding moderators
  7. translate.wordpress.org

Starting a new translation

Why would I want to translate WordPress?

WordPress is a free software project. What this means is that everybody can contribute to it, and is encouraged to, in order for it to develop. That’s why every free software project needs volunteers — people who are willing to contribute their free time to development of a particular piece of software, either by helping write code, design graphics, or… translate it. That’s where you come in.

There are numerous ways your community could benefit from your translation. The most obvious one is probably enabling people who don’t speak English to use WordPress at all. The lack of a translation could prove to be a difficult barrier for many to pass, so a translation is necessary for them to make use of WordPress. Many people also simply prefer to have their software translated, and would grab your translation just because of that.

Every translation can get a local website, which can contain static pages, a blog, a download section, where people can download all the releases of your translation, and an automatic update feature for all WordPress sites in your language! This means that every time a new version of your translation is released, its users are offered an upgrade on the dashboards of their own websites.

If your country has a great number of WordPress users, or gains one thanks to your translation, you may find that a place to provide each other with help could be nice. If you have been translating WordPress for some time and your translation is well established, you can request the creation of local forums. Other than providing each other with help, users of your translation could also exchange their views on WordPress and suggest changes that could be applied to your translation in one place hosted on the official WordPress servers.

Oh, and did I mention you get to work with a lot of great people?

What should I know in advance?

You should know about basic html tags because some strings include html tags.(required)

You should know how SVN works and how WordPress use SVN repo for translation teams.(required)

Read codex page Using Subversion

You should know basic php syntax because you may need to look at in php source files for references.(optional)

Before request a new locale, take a look at translate.wordpess.org and translate.wordpress.com (glotpress). If your locale is there, you don’t need to request a new locale.

If your locale is in glotpress, your first step to translate is register at WordPress.org and WordPress.com. You can use those account to login at glotpress. If you want to translate WordPress.org package, use your account at WordPress.org and login to translate.wordpress.org. If you want to translate WordPress.com blogs, use your account at WordPress.com and login to translate.wordpress.com. Note:your translation still need to approve by validator of your locale to include in actual translation packages.

If your locale is not in glotpress or your locale has no validator at all, you can take further steps

Choosing locale name

You cannot choose locale name yourself. WordPress use iso language code. Here is some references for language locale code.

Requesting a new locale

Requesting a new locale is an easy and quick step if you are doing right thing.

  • First : Visit http://wppolyglots.wordpress.com.
  • Second : Read tags policy.
  • Third : Post a new request with correct tags. (i.e. request, validator, locale, {locale code} )
  • Fourth : Wait a few hours, your locale will be ready to translate. (Sometime take only a few minutes.)

Adding more users to a repository

Repository access control by WordPress.org itself. If you want to add new user to repo the only way is to post a request at wppolyglots.wordpress.com. Current responsible person for repo access control is .

Local sites at <locale>.wordpress.org

Requesting a new site

If there isn’t a WordPress.org subdomain site in your language, you can request it at wppolyglots.wordpress.com. For details, please read the International WordPress Sites article on Codex.

Building local packages

When you are ready to build a package for testing or releasing a new version of WordPress in your language, you can use the package build tool located in your local site. The tool is located at “Tools → Translations for <locale>” (where <locale> is your locale code).


  1. Check in all updated files into the current branch directory.
  2. If you are using the GlotPress translations, make sure everything is translated at translate.wordpress.org.
  3. Copy the current branch directory and created a new tag directory under locale/tags/X.X.X

Building a Package

  1. Select where you want to get your translations from (.po/.mo files under /messages svn folder or GlotPress).
  2. Locale Branch: This determines the location where your language-specific files are taken from. If you don’t see the branch/tag, you will have to create one in the SVN repository and give it a few minutes. Alternatively, you can build from the trunk for some occasions.
  3. WordPress Branch: This determines where rest of the files are taken from.
  4. WordPress Revision Number: This is used when no tag is specified as WordPress Branch above.
  5. WordPress Version: The version number you would like to use as a part of the package file name. It can be a version number (e.g. 3.0 or 3.0.1) or a combination of a number and type of the release (e.g. 3.0-RC1 or 3.0-beta1).

Once all options are filled out, click the “Build” button at the bottom. The tool will check for errors, and the package will show up at the top of the list on this page if it is sucessfully built.

Releasing new versions

After building a new package, you can share the download URL among your translation team for testing. You can find the URLs under “Link” column on the Translations for <locale> page, in zip or tar.gz format.

If testing goes well and you’re ready to release the final version to the public, simply click the version’s “Release” link under “Action” column. This will mark the official release of that version. Users will be prompted for upgrade of their language package on their dashboard, and download information on your locale site will be updated.

Handbook for WordPress Translators was originally published on Thwin.Net

Handbook for WordPress Translators was originally published on Thwin.Net