translate.wordpress.org (GlotPress)

User Roles and Permissions

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

There are three user roles in translate.wordpress.org: 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.

Guest

Guests are all users who don’t have any account or are not logged into their 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. 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..

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

Getting Started

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

Once logged in, go to https://translate.wordpress.org/, 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/. 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 https://make.wordpress.org/polyglots/teams/ and click on ā€œContribute Translationā€.

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

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.

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.

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 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.ā€ 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:

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.

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.

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.

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.

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 www.wordpress.org 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 translate.wordpress.org.

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.

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.

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.

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

Translations for RTL locales

In some locales we have the RTL writing mode, it could be activated by clicking the ā€œEditor LTRā€ icon.

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.

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

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.

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

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 translate.wordpress.org, those will be ignored.

What WordPress.org users can import:

  • Any WordPress.org 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

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.

ā€œ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.

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 to GlotPress will be used by hundreds of people who translate WordPress for millions of people around the world.

s
search
c
compose new post
r
reply
e
edit
t
go to top
j
go to the next post or comment
k
go to the previous post or comment
o
toggle comment visibility
esc
cancel edit post or comment