translate.wordpress.org (GlotPress)

Getting Started Getting Started

To contribute translations using translate.wordpress.orgtranslate.wordpress.org The platform for contributing to the translation of WordPress core, themes and plugins., simply log in (or register an account) to your 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/ account. This automatically gives you the necessary permissions to contribute to any translation projects.

Once logged in, you’ll see a list of 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/. We’ll use Peruvian Spanish as an example on this page.

translate.wordpress.org languages view

Top ↑

Choosing a Project Choosing a Project

translate.wordpress.org 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 by clicking the “WordPress” tab in the darker gray navigation bar.

Click the “Translate Project” button in the “Development” box. You’ll see a list of components (“translation sets”).

translate-wordpress-org-wp-dev

Pick a translation set you’d like to translate. In the screenshots below, we’ll use the “Development” set.

Top ↑

Translating StringsString A string is a translatable part of the software. A translation consists of a multitude of localized strings. Translating Strings

Now that you’ve selected the 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/ that you’ll be translating, you’ll see a list of strings to translate. High priority and untranslated strings will be shown at the top.

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 (Translation Editors will see additional options.)

Translation filters

Each stringString A string is a translatable part of the software. A translation consists of a multitude of localized strings. 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 HTMLHTML HTML is an acronym for Hyper Text Markup Language. It is a markup language that is used in the development of web pages and websites. tags or too much of a difference between the length of the original and the translation.

Strings Color Key Strings Color Key

  • Current: 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 deployedDeploy Launching code from a local development environment to the production web server, so that it's available to visitors..
  • Waiting: A yellow background (◼︎) indicates a string that was suggested, but not yet approved by a 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.
  • Fuzzy: An orange background (◼︎) indicates a “fuzzy” string. Those translations need to be reviewed for accuracy and edited or approved.
  • Old: A purple background (◼︎) indicates a string that was obsoleted by a newer, approved translation.
  • Warning: 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 Translation Editor.

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

Suggest translation screen

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 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 to decide which one fits best.

Top ↑

User Roles and Permissions User Roles and Permissions

There are three user roles in translate.wordpress.org: Guest, Contributor, and Translation Editor.

Guest

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

Contributor

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.

Translation Editor

Translation Editors can add translations, manage suggestions, and approve or reject suggested translations. If you’d like to become a Translation Editor for a current localizationLocalization Localization (sometimes shortened to "l10n") is the process of adapting a product or service to a particular language, culture, and desired local "look-and-feel.", you’ll need to contact the current General Translation Editors requesting access. If you’d like to become the General Translation EditorGeneral Translation Editor A General Translation Editor (often referred to as GTE) is a person, who has global access to validate strings on all projects for a specific locale. of a new localization of WordPress, review the “Requesting a New Locale” page.

Top ↑

Approval of Translations (Validating) Approval 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 Translation Editor needs to accept (or reject) those suggestions. Translation Editors will see a “Bulk” tool on the top left-hand corner of the screen which will allow them to select several strings at once and approve or reject them in bulk.

In addition to these permissions, a Translation Editor can also:

  • filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. “waiting” suggestions (suggested but not approved)
  • filter translations that have generated warnings
  • discard warnings

A string translated by a Translation Editor is automatically approved (but may still generate all applicable warnings, which in turn need to be discarded).

Top ↑

Find your Local Translation Editor Find your Local Translation Editor

If your language is listed in translate.wordpress.org, chances are there is a team localizing WordPress into your language. Visit the list of current localization teams to find your local Translation Editor (click the “Team” link).

Top ↑

Become a Translation Editor Become a Translation Editor

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

If your language is listed, contact your Translation Editor. If you are unable to do it, it’s possible that your translation team is currently inactive. In that case, follow the process for inactive translations.

Top ↑

Importing External Files Importing External Files

Any WordPress.org user can import pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party and theme translation files using the “Import Translations” feature of GlotPressGlotPress GlotPress is the translation management software that powers Translate.WordPress.org. More information is available at glotpress.org. (Note: only GTEs can import into projects other than plugins and themes). Supported file formats include .xml, .po, .pot, .moMO files MO, or Machine Object is a binary data file that contains object data referenced by a program. It is typically used to translate program code, and may be loaded or imported into the GNU gettext program. This is the format used in a WordPress install. These files are normally located inside .../wp-content/languages/, .resx, .strings, .properties, and .jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML..

To access the import feature, scroll down on a translation screen and click the “Import Translations” link.

GTEs and PTEs can upload translations as “Current” or “Waiting” status. Others can only upload as “Waiting”.

When you import a file, untranslated strings and translations which are different from existing translations will be saved. If the imported file contains original strings not present in the string list of translate.wordpress.org, those will be ignored.

Top ↑

Contribute to GlotPress Contribute to GlotPress

GlotPress is the open-source engine that powers translate.wordpress.org – the translation platform of WordPress and related projects.

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.

Last updated: