What is GlotPress? #

GlotPress is the open-source engine that powers the translation of WordPress and related projects. The WordPress Project uses GlotPress – located at translate.wordpress.org – to translate a number of projects including:

To translate WordPress with GlotPress, head to http://translate.wordpress.org.

Top ↑

Getting Started #

To contribute translations using GlotPress, first you need to sign in to your WordPress.org account. Logging in automatically gives you the necessary permissions to contribute to any translation. If you haven’t already registered, register a username here. Once logged in, you’ll see a list of projects to translate.

translate.wordpress.org project list

Top ↑

Choosing a Project #

GlotPress organizes translations in projects and sub-projects so that you could have, for example, the “WordPress” project and a sub-project for every version, as seen in the example below. If this is your first time translating for the WordPress project, we recommend you start by translating the WordPress project and the “Development” sub-project.

translate.wordpress.org "WordPress" project sub-project list

Now that you’ve selected “WordPress” as your project and “Development” as your sub-project, you’ll see a list of languages currently being translated for WordPress. These are referred to as “translation sets” by GlotPress.

Pick the language (locale) you’d like to translate. In the screenshots below, we’ll use Peruvian Spanish.

translate.wordpress.org list of localizations and their statuses

Top ↑

Translating Strings #

Now that you’ve selected the locale that you’ll be translating, you’ll see a list of strings to translate. Many of them have already been translated, but those that haven’t yet been translated will be at the top of the list.

Across the top of that list you will see links to the filtering and sorting functions which will help you narrow down the strings you want to work on. (Validators will see additional options.)

Screen Shot 2014-07-28 at 5.54.53 PM

Each string has a “status”, indicated by the background color of the row.

Statuses can be untranslated, suggested, approved (or current) and fuzzy. Any string starting with a red bar indicates that there are validation warnings. Triggers for warnings can be mismatched HTML tags or too much of a difference between the length of the original and the translation.

Strings Color Key #

  • A green background (◼︎) indicates an approved string, which will be in a future (or current) version of WordPress. These are the only strings that will be deployed.
  • A yellow background (◼︎) indicates a string that was suggested, but not yet approved by a validator.
  • An orange background (◼︎) indicates a “fuzzy” string. It could be a translation suggested based on a similar string or Google Translate suggestion. Those translations need to be reviewed for accuracy and edited or approved.
  • A pink background (◼︎) indicates a string that was obsoleted by a newer, approved translation.
  • A red bar to the left of a string, indicates validation warnings, such as mismatched HTML tags or a large difference in length between the original string and its translation. These translations either need to be corrected or their warnings explicitly discarded by a validator.

To start translating a string, double-click on the one you want to translate (or click on “Details” in the right column).

Screen Shot 2014-07-28 at 5.56.38 PM

As seen above, the string’s line will expand and you’ll be presented with a text box where your translation can be written. In the example above you’ll replace the line that says “[Enter your translation here.]” with your translation. Additional information in this box includes the string’s context (e.g. what source code file its located in), its status (based on the color key above), and its priority for translation.

Type your suggestion for the translation and click the “Suggest new translation” button.

A “Copy from original” link will do just that – copy the English string to the text box. In some cases and languages, it’s easier to translate from the original string. In both cases, don’t forget to click the “Suggest new translation” button.

Once your suggestion is sent, a box will open for the next string.

Suggest as many or as few strings as you want. Be aware that the same string can have any number of different suggestions, from different users. It will be up to the validators to decide which one fits best.

Top ↑

User Roles and Permissions #

There are three user roles in GlotPress: Guest, Contributor, and Validator.


Guests are all users who don’t have or are not logged into WordPress.org accounts. Guests can see the projects and their translations but can’t suggest translations or add them to the already translated set of strings.


Contributors can suggest translations and see other translations of the same strings, suggested by other users. To become a contributor, you need to register or log in to your WordPress.org account.


Validators can add translations, manage suggestions, and approve or reject suggested translations. If you’d like to become a validator for a current localization, you’ll need to contact the current validators requesting access. If you’d like to become the validator of a new localization of WordPress, review the “Requesting a New Locale” page.

Top ↑

Аpproval of Translations (Validating) #

After a contributor suggests a string, the string gets a status of “suggested”. In order to transform them into “approved” strings (which are the only ones that are deployed), a validator needs to accept (or reject) those suggestions. Validators will see a “Bulk” link on the top left-hand corner of the screen which will allow them to select several strings at once and approve them, reject them or even bulk query Google Translate for suggestions. Strings suggested by Google Translate will have a status of “fuzzy”, meaning that they’ll need to be explicitly corrected (if needed) and approved, before they are marked “approved”.

In addition to these permissions, a validator can also:

  • filter “waiting” suggestions (suggested but not approved)
  • filter translations that have generated warnings
  • filter “fuzzy” translations (i.e. generated in bulk by Google Translate)
  • upload external files (e.g. if a translation was made outside of GlotPress initially)
  • discard warnings

A string translated by a validator is automatically approved (but will still generate all applicable warnings).

Top ↑

Find your Local Validator #

If your language is listed in GlotPress, chances are there is a team localizing WordPress into your language. Visit the list of current localization teams to find your local validator.

Top ↑

Become a Validator #

If your language is not yet supported, follow the instructions for requesting a new locale.

If your language is supported, contact your validator, but if you are unable to do it, it’s possible that your translation is currently inactive. In that case, follow the process for inactive translations.

Top ↑

Importing External Files #

There may be the case where a validator needs to import translations from an external file, mostly when the team chooses to use other tool (current supported formats are .po, .android and .rrc). When the file is imported, only untranslated strings will be written. Also, if the imported file contains original strings not present in GlotPress’ list, those strings will be ignored.

Top ↑

Contribute to GlotPress #

GlotPress is an open source project, just like WordPress. If you’d like to help improve GlotPress please visit the GlotPress blog or the GlotPress Trac. Contributions GlotPress will be used by hundreds of people who translate WordPress for millions of people around the world.