All in One SEO is one of the most translated plugins in the WordPress repository with over 54 languages.  We achieve this through the contributions from volunteer translators.  If you’re interested in translating our plugin into your language, please review the information below.

Getting Started

Create a WordPress.org account

You need to have an account at translate.wordpress.org in order to contribute translations to our plugin. If you do not have a WordPress.org* account yet, then please create one here.

Already/now have a WordPress.org account?

Awesome! Continue reading and we’ll explain how you can start translating strings, what you need to pay attention to and give you a few tips along the way.

*There is a fundamental difference between WordPress.org and WordPress.com; the former is hosted by the open-source, voluntary community that develops WordPress; the latter is a commercial company run by Automattic and Matt Mullenweg, the founder of WordPress.

Translating Strings

Once you are logged into WordPress.org, you need to navigate to this page. This is where all the magic happens and where you will contribute translated strings to the plugin.

Scroll down to the locale (language) you will be working on and then click on the locale name (e.g. “Dutch”). Before you do so, you will notice that there are a number of different columns:

  • Development
  • Development Readme
  • Stable
  • Stable Readme
  • Waiting/Fuzzy

While there is a difference between the Development and Stable columns, you will only have to focus on the Development columns and Waiting/Fuzzy.

Development and Development Readme is where you will find all untranslated strings and which you will need to get to 100%. Waiting/Fuzzy on the other hand is a special kind of column where translated strings that may have changed over time are flagged and need to be reviewed again (and possibly modified). These are the three columns you need to deal with.

Once you have clicked on the locale, you should see this overview where the amount of fuzzy, untranslated and waiting strings is displayed for each of the columns. By clicking on either of them, you will end up on this page.

Here you will find all of the strings for the column you have clicked on. Click on the “Details” action link.

Here you can see a number of things, such as the original English string, the status (“untranslated” in this case) and context if it has been provided.

Enter the translation for the string into the text area and then click “Suggest”. Your string has now been saved and will be proofread and reviewed by a Project Translation Editor (PTE) later on.

Once you get the hang of it, please continue to our “Tips & Tricks” below.

Tips & Tricks

Here are some things that might help you along your way and what you need to pay attention to.

Strings with HTML code

Some strings might have HTML tags in their code. In the case of the above string, this would be:

<a href=”https://www.sitemaps.org/” target=”_blank” rel=”noreferrer noopener”>sitemaps.org</a>

Please leave these HTML tags untranslated. You do have to translate what is in between these tags. In this case of this particular string, this is the address of a website (sitemaps.org), so that should remain untranslated as well.

Strings with placeholders

You will undoubtedly come across strings with placeholders. These could either look like %s or %1$s%2$s, etc. Again, please leave these untranslated as these are replaced with other word(s). For example, in the case of “Welcome to %s”, %s will be replaced with “All in One SEO”, the name of the plugin.

Whenever you come across a placeholder, you should check the context (see below) of the string to see what the placeholders will be replaced with.

Glossary

Some of the words in a string might be underlined. If this is the case, the relevant word appears in the glossary of the locale. Once you hover over them with your cursor, you will see how the term should be translated according to the glossary. Please stick to the glossary if the translation fits because this is what is used for the term across all other plugins and themes.

Translation memory

Underneath the text area where you can enter the translation for a certain string, you will find two additional sections: (1) Suggestions from Translation Memory; and (2) Other languages.

The “Suggestions from Translation Memory” section may display possible translations based on strings from other WordPress plugins and themes that previously have been translated. Feel free to submit these strings if the translation fits, but only if you are 100% certain of this.

In addition, the “Other languages” section show you the translation of the string in other languages/locales. This might prove useful if you know are multilingual and are unsure what a particular term of string means.

Context (comments)

Most strings should have a “Comment” section. This is where you can find the context of the string and/or where we clarify any technical terms. If the string contains placeholders, then we will also tell you what the placeholder eventually will be replaced with. Please keep this in mind when you translate the string.

That’s it! We wish you the best of luck during the translation of our plugin and as always, please feel free to reach out to us if you have any questions.