User Roles and Permissions

First of all let’s take an overview on which kind of users can work on The platform for contributing to the translation of WordPress core, themes and plugins..

There are three user roles in Guest, Contributor, and 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.


Guests are all users who don’t have any account or are not logged into their 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. account. Guests can see the projects and their translations but can’t suggest translations or add them to the already translated set of stringsString A string is a translatable part of the software. A translation consists of a multitude of localized 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 account.

Translation Editor

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 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.

So be ready to give your first translation suggestions like a Contributor!

Top ↑

Getting Started

To contribute translations using, simply log in (or register an account) to your account. This automatically gives you the necessary permissions to contribute to any translation projects.

Once logged in, go to, 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 Search your 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 and click on “Contribute Translation”.

We’ll use Peruvian Spanish (and some others) as an example on this page.

Top ↑

Choosing a Project 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.

Search “Development” and click the “Translate Project” button. You’ll see a list of components (“translation sets”).

Pick a translation set you’d like to translate by clicking on its title. In the screenshots below, we’ll use the “5.4.x – Development” set.

Top ↑

Filtering Projects by their translation status

Before going ahead, note that at the beginning projects can be filtered by their translations status like “Percent Completed (Most first)”, “Waiting + fuzzy (Newest first)” , … from the menu “FilterFilter Filters are one of the two types of 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.” you see above “Search projects…” field. Choose one filter and click on “Apply filter”.

For plugins and themes you can also choose from your favorite ones:

Top ↑

Translating Strings

Now that you’ve selected the locale and the set, you’ll see a list of strings to translate. By default, high priority and untranslated strings will be shown at the top.

Top ↑

Filtering and sorting strings

Across the top of that list, you will see links to the filtering (click on “Filter”) and sorting (click on “Sort”) functions which will help you narrow down the strings you want to work on. And some quick filters which allow you to see All strings, only Translated strings, only Untranslated strings, only Waiting strings, only Fuzzy strings, only strings with Warnings.

If you click on “Filter” you can do advanced filtering based on the options that you see in the image below.

If you click on “Sort” you can do advanced sorting based on the options that you see in the image below.

Top ↑

Strings Status

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.

Top ↑

Strings Status Color Key

  • Untranslated: A white background (◼︎) indicates a string that has no suggestion yet
  • Translated (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 used to create the language pack that will be downloaded to your WordPress website.
  • Waiting: A yellow background (◼︎) indicates a string that was suggested, but not yet approved by a Translation Editor.
  • Fuzzy: An orange background (◼︎) indicates a “fuzzy” string. A fuzzy string is a previously approved translation of which the original string has been slightly modified. That translation needs to be reviewed for accuracy and edited or approved.
  • Changes Requested: A blue background (◼︎) indicates that the suggested translation needs changes. A translation editor can request changes to a suggested translation in the review process and may request these changes for typos, consistency with the glossary, and other concerns. Make the requested edits and submit your updated translation.
  • Rejected: A red background (◼︎) indicates a string that was rejected by a Translation Editor
  • 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 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, missing %s placeholders 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.

Top ↑

Suggesting new translations

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

As seen below, the string’s line will expand and you’ll be presented with a text box where your translation can be written. In the example below you’ll insert your translation where it says “Enter translation here”.

Let’s take a tour of the box translation interface.

In the headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes., the top bar has some useful information and some additional functions in the hamburger menu on its right.

From left to right we have:

  • a boxed text with the status of the original string (in the example is “untranslated”)
  • a cross icon to close the details of the string
  • an up arrow to go to previous string
  • a down arrow  to go to next string
  • an hamburger menu that shows contextual links that we explain now

Contextual links menu (hamburger menu):

  • Permalink to original: it opens a page with the standalone string and related translation. You can copy the relative URLURL A specific web address of a website or web page on the Internet, such as a website’s URL from the address bar of the browser to refer to that string, for example if you need to point other Polyglots to it
  • Translation History: it opens a page that shows all the translations that has been inserted for a string, they could be current, old, rejected, or fuzzy translations
  • View original in consistency tool: it opens a page with the consistency tool for that string, in your locale, for all projects

In the main area of the translation there are additional information for the string, before and after the translation box itself: 

  • Context: a note from developers to explain the context of the string and additional information about the source
  • Comment: a note from developers to explain for example the meaning of a placeholder or of the entire string
  • References  it links the source code at the line the string is located
  • Suggestions from Translation Memory: suggestions from other identical or similar strings already translated in that locale
  • Other Languages: current translations of the original string in other languages

At the right of the main area of this box we have some MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. information:

  • Status: based on the list “Strings StatusColor Key” seen above
  • Priority of the original: priority for translation

In the translation box the “Copy original” button present in the left bottom corner will do just that – copy the source 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” button. The “Show help” button in the left bottom corner shows you a help dialog with useful information on translating in

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

Once your suggestion is sent, the translation area of the next string will be opened.

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

Top ↑

Correct your own translation

If you edit one of your pending suggested strings and make a new suggestion, then your previous, pending string is rejected automatically.

Top ↑

Glossary Tooltip

Some original strings will have some terms underlined by dots. If you hover on those with the mouse pointer you can get the translation suggested by your locale glossary.

In the examples above, the tooltip content is from the Spanish-Peru locale glossary.

Some glossary entries also have notes in the Comments field that are useful to give more information or to give more translation choices, based on the context or the meaning of the original term.

Top ↑

Translations with plurals

Some original strings will have one or more plural forms. In this case, you have to insert all the forms by clicking on Singular and Plural tabs.

In some locales we have more than two forms, for instance in Russian:

If your locale doesn’t distinguish singular and plural forms, there won’t be any tabs (like in the example below). Just use the placeholder + translation to represent all forms (e.g. “%s item selected” – %s will display any number including 1).

Top ↑

Translations for RTL locales

In some locales we have the RTL writing mode, it could be activated by clicking the “Editor LTR” icon.

Top ↑

Approval of Translations (Validating)

After a contributor suggests a string, the string gets a status of “suggested” (waiting). In order to transform them into “approved” (current) strings, which are the only ones that are used to create the language pack that will be downloaded to your WordPress website, a Translation Editor needs to approve those suggestions using the “Approve” button that appears in the Meta area of an Editor interface’s screen. An Editor can also reject a string using the “Reject” button. Or give it the status of Fuzzy when there are some doubts on that string.

For more information on the process after translations are suggested, check out the How to translate page.

For more information on the process of validating suggestions as a Translation Editor and to watch a useful video about it, check out the You’re an editor! Now what? page.

Top ↑

Find your Local Translation Editor

If your language is listed in, chances are there is a team localizing WordPress into your language. Visit the list of current localization teams to find your local Translation Editor (then go to the Translation teams page and click the “View Team Page” link of your language).

You could find how to contact translation Editors in your locale in the “Current Translation Teams” page.

Top ↑

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

Any 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 Plugin Directory 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 More information is available at (Note: only GTEs can import into projects other than plugins and themes). 

Multiple formats are allowed to be imported (including for example .po and .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/ formats).

To access the import feature, scroll down on a translation page 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, those will be ignored.

What users can import:

  • Any user can import plugin and theme translation files, the translations uploaded will have the “Waiting” status
  • PTEs can also choose to upload the translations with the “Current” status for the projects they are Translation Editor
  • GTEs can also import translation files for WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and projects other than plugins and themes, and can choose to upload with the “Current” status for all projects

Top ↑

Exporting files

You can download a file with all current translations or with the strings matching the filter you have set.

To access the export feature, scroll down on a translation page of a project or sub project, select which strings to download, the format and click the “Export” link.

Make sure to have applied a filter and to have selected “only matching filter” if you want strings other than currents.

Top ↑

“Error setting status!”

If you while validating suggested strings get a warning message that says “Error setting status!” then something is disturbing the communication between your browser and the server. In some cases this has happened if the URL of the translation project contained the word “ad” and the user had an ad-blocker activated.

Top ↑

Contribute to GlotPress

GlotPress is the open-source engine that powers – 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 to GlotPress will be used by hundreds of people who translate WordPress for millions of people around the world.

Last updated: