WordPress is used all over the world and users and customers expect themes and plugins to be translatable and available in multiple languages. Currently many WordPress themes and plugins are translation-ready, but many of them have not been translated. Most popular themes and plugins have been translated into multiple languages using crowdsourcing and localization platforms such as GlotPress or Transifex.
Introduction
Matt Mullenweg announced in a recent post (October 2014):
Internationalization will be a big focus of the coming year, including fully-localized plugin and theme directories on language sites
In December the WordPress Theme Team updated its guidelines to require all new themes to be multililingual-ready. Authors submitting new themes to the official directory must ensure that all text strings are translatable.
Currently many WordPress themes and plugins are translation-ready, but many of them have not been translated into other languages. Translate themes and plugins can be expensive, but adding translations can greatly increase its market
The most popular themes and plugins (with a great community behind) have been translated into many other languages, using crowdsourcing and cloud-based localization platforms such as GlotPress or Transifex.
In this article I want to talk about translation management and collaboration platfoms to translate WordPress themes and plugins (GlotPress, Transifex, Oneskyapp, GetLocalization, etc).
1. Internationalization and localization
Internationalization, often abbreviated as i18n (there are 18 letters between the i and the n) is the process of developing your theme or plugin so it can easily be translated into other languages.
Localization, abbreviated as l10n (there are 10 letters between the l and the n.) describes the subsequent process of translating an internationalized plugin.
Any developer can successfully internationalize a theme or a plugin to allow others to create a translation without the need to modify the source code itself.
WordPress uses the gettext libraries and tools for Internationalization. Gettext is widely used in the open-source world:
- Developers wrap translatable strings in gettext functions
- Special tools parse the source code files and extract the translatable strings into POT files (Portable Objects Template)
- The result of translation is a PO file (POT file, but with translations). PO files (Portable Object) are compiled to binary MO files (Machine Object), which give faster access to the strings at run-time
The question is: How to manage translations (and translators) of your theme or plugin?
2. How to manage translations: Traditional tools versus Localization platforms
There are different tools to manage translations:
- Traditional translations tools: Poedit software
- Free online localizations tools such as GlotPress that powers the translation of WordPress and related projects (BuddyPress, bbPress, WordPress default themes, etc)
- More advanced cloud-based localization platforms (only free for open source projects): Transifex (the best kown and increasingly used by WordPress developers), Oneskyapp, Poeditor, Crowdin, Webtransleit or GetLocalization
2.1. Traditional translations tools: Poedit
The most common tool is Poedit. Poedit is a translation editor available for Windows, Mac and Linux which you can use to translate your theme or plugin. It’s available for free on poedit.net.
Advantages
- It’s free (although it has a paid version that enhances Poedit with additional features as dedicated WordPress support, Word Count, etc. It costs $19.99)
- It works on Windows, Mac and Linux
- Comes with a builtin translation memory that remembers your past translations and uses them to make suggestions for similar texts
Disadvantages
- Translators must install the software on their computer and learn to use it
- It’s not a suitable tool for collaborative translations: Translators must send files (po and mo) via email to theme or plugin authors. Too complicated when an author has to manage several translators working in several languages
More info about using Poedit: How to translate a WordPress theme (or plugin): .POT, .PO and .MO files
2.2. GlotPress
GlotPress is an online translation application. It’s a great free tool for translating your plugin or theme.
It’s the open-source engine that powers the translation of WordPress. The WordPress Project uses GlotPress (http://translate.wordpress.org) to translate several projects including: WordPress, BuddyPress, bbPress, WordPress apps for Android, BlackBerry, iOS, and Windows Phone, Rosetta (the wordpress.org locale sites theme – ex: ru.wordpress.org, es.wordpress.org, etc) and WordPress Default Themes (Twenty Ten, Eleven, Thirteen, Fourteen and Fifteen).
Examples:
- WordPress SEO by Yoast is using GlotPress (link to project).
- Also the CopyBlogger team is using GlotPress to translate Genesis Framework.
Advantages
- It’s the open source project that powers the translation of WordPress core
- It is very easy to use. The software itself looks basic (GlotPress – Translation handbook).
- It allows users throughout the world (collaborative translations) to translate themes, plugins, and frameworks
Disadvantages
- At the present time GlotPress is still in version 1.0 (http://blog.glotpress.org/roadmap/)
- You must install GlotPress on your server. Installation process is a bit complicated (How to install GlotPress).
- No translation memory
- No notification system between translators. When translators add new translations to GlotPress, they don’t always tell you. Note: If your GlotPress installation is paired with a WordPress installation, there is a plugin called GlotPress notify that gives you an easy way to find out what’s waiting for approval.
More info: GlotPress blog
2.3. Advanced cloud-based localization platforms: Transifex
Transifex is a localization management platform that helps collect, translate and deliver digital content, web and mobile apps in multiple languages. You can manage multiple projects from one centralized platform.
Transifex is not a language service provider or just a tool for translation. You can work with translation agencies, in-house translators or crowdsource the translations from your community. You can easily coordinate communication with everyone involved in your localization process – developers, agencies, freelancers, marketers.
Transifex is used by Pinterest, Reddit, Firefox, and Joomla. Also It’s used by many WordPress plugins (Mailpoet, Woocommerce, Easydigitaldownloads) and themes (PageLines).
Advantages
- Free for open source projects (Open source project definition)
- Transifex offers tools that help your team manage its work efficiently like the Web Editor or the Translation Memory
- Makes collaboration easy: Your team can work together in parallel and collaborate real-time
- Internal messaging system and notifications
- It’s a hosted solution. You don’t need to maintain another service
- You can hire professional translators from the admin panel
Disadvantages
- Payment platform for non open source projects
More info:
Transifex is probably the localization management platform best known but not the only one. There are other very good alternatives, also free for open source projects:
3. Crowdsourcing or professional translation
Crowdsourcing localization means that you mobilize your crowd to help in translating your WordPress theme or plugin. Your translation crowd usually consists of multilingual users who are passionate about your plugin, but also colleagues partners, etc.
Users want to thank you for creating a good plugin or theme and give something back. They know your plugin but they’re not professional translators.
Which is the best way to localize your theme or plugin? Crowdsourcing or professional translators? Or could you take the best of both worlds?
Crowdsourcing can be a good option if you don’t have budget but be aware of the following:
- If your community is active on WordPress forums and in social media, they will most likely also want to translate. Otherwise it may not be easy to find translators in multiple langauges. Most popular themes (Genesis Framework for example) or plugins (WordPress byYoast or Mailpoet) have been translated into many languages using crowdsourcing
- Your crowd knows best what kind of words they use for certain terms and what kind style they use in their regular communication, but they might not always be masters of grammar. Note that you can use both, crowdsourcing and professionals translators
- You might want to hire a professional translator (specialized in software), especially if you have a premium or freemium plugin or theme
- Amateurs translators and professionals translators offer a throughly different service. Amateurs can provide a very good performance, but professionals guarantee a satisfying result
- Crowdsourcing will most likely cost less than professional translations, but it might demand some time from you, especially in the form of community management
- Certain texts (legal texts, disclaimers…) should be always handled by professional translators who has experience with similar texts
How to mobilize your community? Add a link to the localization project in your plugin, tell about it on your blog or website and discussion forums, send newsletters and find users in social media (Twitter, Facebook, Vkontakte etc.).
How to hire professional translators? Localization platforms (Transifex, Oneskyapp, etc) also offer professional translation services. You can also find them on your own: language service providers, freelancers translators, etc.
I want to make a final mention to a recent project, created one year ago, called WP-Translations, a new WordPress translation community using Transifex. As François-Xavier Bénard (founder) says “a bridge between developers and translators dedicated entirely to the advancement of the WordPress i18n ecosystem”. A very interesting project that can help you translate your WordPress theme or plugin.
Have you already translated your theme or plugin? What has been your experience? Have you been involved in a crowdsourcing project as a translator?
Thanks for sharing!!!
Thomas Scholz says
Thank you for that detailed write-up. 🙂
Two minor corrections: Unfortunately, WordPress is not using gettext() functions. This is the reason for the huge performance penalty we get on translated sites. Really embarrassing in my opinion.
Translation is just a tiny – and probably the most simple – part of localization. User experience (forms, product descriptions, search), typography, visual design, or legal requirements are part of localization too.
Even the term internationalization is a misnomer, because nations are usually not involved. But i guess we have to live with that now.
Irena Domingo says
Hi Thomas, thank you very much for your comment.
I didn’t know WordPress is not using gettext functions. Official WordPress site about internationalization says literally “WordPress uses the gettext libraries and tools for i18n”. Thanks for correction.
Of course. You’re right. Localization, internationalization and globalization process involve many aspects: Not only translating text content, but also software source code, adjusting visual elements, allowing space in user interfaces for translation into languages that require more space, separating language from the graphic elements, cultural integration, market validation and selection, currencies, legal requeriments….and many other aspects. The aim of this article was talking about localization platforms and crowdsourcing, not about internationalization and localization process. Maybe in other articles.
In any case I do not agree that “translation is probably the most simple part”. Make a translation with the aid of translation memories can be easy, but making a “good translation” is not so easy, especially when it comes to technical, legal texts, etc.
fxbenard says
Lovely write up and thanks for mentioning WP-Translations – If you feel like writing a post on our blog you’re more than welcome! Pick your subject, I’ll be happy to have you on board. Bonne continuation
Irena Domingo says
Thank you very much Fx Bénard. You are also invited to write in this blog 🙂