Plugin/Theme Authors Guide

Interested in getting your project translated? This page will show you, as the theme or 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 author, some tips for working with translators in the Polyglot community.

If you are looking for a technical 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." guide, please see meta and plugin handbooks.

Internationalizing Your Project Internationalizing Your Project

In general, it’s helpful to keep in mind that the Polyglots teamPolyglots Team Polyglots Team is a group of multilingual translators who work on translating plugins, themes, documentation, and front-facing marketing copy. https://make.wordpress.org/polyglots/teams/. is more focused on localization than internationalizationInternationalization Internationalization (sometimes shortened to I18N , meaning “I - eighteen letters -N”) is the process of planning and implementing products and services so that they can easily be adapted to specific local languages and cultures, a process called localization. This is the process of making software translatable. Information about Internationalization for developers can be found in the Developer’s handbooks.. However, in order for community members to be able to translate your plugin or theme, you will need to make sure that it’s set up properly.

A good place to start are the 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. and Plugin Handbooks, which both contain information on how to internationalize your project.

  • Meta/Translations for general information on how translations work with plugins.
  • Plugins/Internationalization for resources on how to internationalize your plugin.
  • The Polyglots Handbook’s Frequently Asked Questions (FAQ) includes common questions, and answers, for those internationalizing their theme and plugin projects.
  • For plugin developers seeking a technical guide that discusses gettext and the technology behind internationalization, visit How to Internationalize your Plugin.
  • For theme developers, How to Internationalize Your Theme will walk you through the essentials of internationalizing your theme.
  • For themes and plugins using JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/., the Internationalizing JavaScript will help inform your development.

As a final resource, you may want to refer to the Is your plugin i18n ready? tool, and its Chrome Extension (wp-info.org i18n plugin check) to text the internationalization of your plugin.

Error: “Not properly prepared for localization” Error: “Not properly prepared for localization”

If there are any issues with the internationalization of your plugin or theme, you may come across the following error:

This plugin is not properly prepared for localization (View detailed logs on Slack). If you would like to translate this plugin, please contact the author.

If you are seeing the message above on your translation status page, make sure to follow the links and fix the issues.

If you have difficulties in locating the exact error, drop a message in #polyglots and we’ll help you.

Top ↑

Getting Your Project Translated  Getting Your Project Translated 

There are a number of ways to have your project translated. Most can be divided between volunteer-based translations (in other words, contributions from community members) or through paid translators.

Top ↑

Using translate.wordpress.orgtranslate.wordpress.org The platform for contributing to the translation of WordPress core, themes and plugins. Using translate.wordpress.org

All translations take place using GlotPressGlotPress GlotPress is the translation management software that powers Translate.WordPress.org. More information is available at glotpress.org., via translate.wordpress.org. For more information on how translations work via this platform, please visit the translate.wordpress.org Handbook page.

Top ↑

Using your own translation team Using your own translation team

If your company has a paid team of translators that you would like to manage the bulk of your translations, please visit the PTE Request by a Plugin/Theme Author guide to understand your options.

Top ↑

Generating community contributions Generating community contributions

There are a few ways you can encourage active users of your project to help with translating your plugin or theme. In fact, if you have a loyal base of users, you might even find that some of them have already started translating your project, without your knowing!

If you would like to encourage others to help with translations, it is recommended to:

  1. Add a sticky topic on your support forumSupport Forum WordPress Support Forums is a place to go for help and conversations around using WordPress. Also the place to go to report issues that are caused by errors with the WordPress code and implementations. https://en.forums.wordpress.com/. letting users know that you’re looking for translation contributors.
  2. Add instructions and the call for volunteers into your readme.txt.
  3. Add it inside your plugin as a (preferably dismissable) banner message on the plugin settings page.

Support forum sticky post example

Top ↑

Checking the Translation Status Checking the Translation Status

When translations are added by a user who has no validation rights on the translate.wordpress.org platform, the status is set to “Waiting”.

Unless translations are reviewed by a PTEProject Translation Editor A Project Translation Editor (often referred to as PTE) is a person, who has access to validate strings on a specific project (for example BuddyPress, WooCommerce or Twenty Fourteen) for one specific locale. A project translation editor can approve strings that are added by translation contributors. Per project translation, editors are appointed by a general translation editor after a request by the project author or by the contributors themselves. or GTEGeneral 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. and set to “Current” status, a language pack will not be created/updated.

You can check the translation status of your project by going to a page like these:

Top ↑

Getting “Waiting” Translations to “Current” (approved)  Getting “Waiting” Translations to “Current” (approved) 

In order for a language pack to be created for your plugin/theme, at least 90% of the stringsString A string is a translatable part of the software. A translation consists of a multitude of localized strings. need to be in “Current” status (for plugins, 90% of the Stable sub-projects). To have the “Waiting” translations reviewed, please submit a PTE request.

If you are interested in learning more about how translations get approved and deployedDeploy Launching code from a local development environment to the production web server, so that it's available to visitors., please refer to the After Your Contribution page.

Top ↑

Once Your Project is Translated Once Your Project is Translated

Once a language pack has been created for your plugin or theme, it will automatically appear in the related plugin or theme directory on each 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/’s RosettaRosetta The code name of the theme for the local WordPress sites (eg. bg.wordpress.org is a “Rosetta” site). All locale specific WordPress sites are referred to as “Rosetta sites.” The name was inspired from the ancient Rosetta Stone, which contained more or less the same text in three different languages. site. Users in this locale will be able to search for your plugin or theme in the same way as usual, just in their own language.

Example of a localized plugin directory on the Brazilian Portuguese Rosetta site.

Top ↑

External resources External resources

Last updated: