Localisation using OpenTranslators
Overview
'OpenTranslators' is a new name in the Joomla! Universe. This chapter will explain the goal of this Joomla! Community Project and how Developers can make use of our expertise to improve the product they offer to the end users of Joomla CMS & Platform.
As one of the biggest CMS projects, Joomla! is used by millions of users all over the world. Whilst the official language of the Joomla Project is English (British English en-GB), the users whose native language isn’t English outnumber the English speaking users. Because of this, localisation (adapting a product to specific languages, cultures or groups of people) is very important.
Joomla itself is already being translated into many languages. This is done by the many hard-working volunteers in the different language teams. Thanks to their efforts, the CMS is now available in many different languages.
For many of the extension Developers, however, the situation is different. It can be a big challenge for them to get their extensions translated. The smaller extension Developers can sometimes experience problems with finding Translators and managing their translations. To help our extension Developers, whose work we appreciate a lot, the OpenTranslators project has been started. We are here to help you increase the usability of your product, by bringing translators and developers together. We do this because the value of an extension translation shouldn’t be underestimated. Both the Developer and the Community will benefit from such a translation.
In this chapter, we are going to share with you how OpenTranslators can help you, as a Developer. This chapter will explain how OpenTranslators works, what tools we use, why we believe that localisation is important and how both Developers and Translators will benefit from collaborating with us - and each other.
i18n & L10n - why they matter to Joomla extension Developers
As a Developer your focus obviously is on creating the code that turns your brilliant idea into a functional extension to be used in Joomla! CMS.
While creating this unique extension of yours, it may not even have come into consideration that, beyond the feature set you wish to share with the world, not all users of the many world languages share your preferred native language.
You could be a native English speaker and just haven´t considered that your potential audience might not read a single word of English. These potential users or customers, you will then never get in contact with.
But there is a solution to that, and it is right there at your fingertips. Make use of the built in internationalisation (i18n) features of Joomla, the so called JText classes of the Joomla framework. With little effort you can ensure your extension has full i18n support and is prepared for localisation (L10n). In return, Translators of any language can now share back their translations easily, without having to know PHP code, focussing solely on their main skill, which is translating. These combined will widen your reach and make your extension truly available to all potential users.
How to use the JText in your extension is explained in Step 2 - Database, Backend, Languages, Listing 5
i18n explained in the Joomla context
Since the release of Joomla 1.5, Joomla has had full support for i18n. This was done by choosing UTF-8 as standard, which enabled support for extended character sets. This means that Joomla core now can be fully translated and localised into any language, from the standard en-GB British source language set.
Considerations and what to look out for when making your extension i18n aware:
- Any string of text that are presented to the user, has to be translatable (ie: no hard coded strings)
- Think 'multilingual' when designing the visual of your extension user interface. Ask yourself if this short word in English might have corresponding words of more characters in other languages
- Remember that many users have a LTR (Left To Right) preference, while you are possibly designing in RTL (Right To Left)
L10n explained in the Joomla context:
A part of making your extension fully i18n aware is also to remember to have L10n in mind. Localisation has a great effect on how users experience your extension. There are local and cultural aspects to consider. Localisation is the part where you allow the Translator, the integrator or the end user to make your extension fully adapt to these local needs.
Considerations and what to look out for when making your extension L10n aware:
- Ensure that local 'specials' like currency are adjustable and part of the i18n. Hard coded values could end up making your extension useless in parts of the world
- Make any text in images translateable. For example you could have image indicators showing ‘New’ or ‘Updated’ provided as part of your extension design. If possible make these into text so that it can be translated rather than the user having to replace them with their own images - or at least make the images selectable, instead of hard coded
- Think colours and their different meaning across the world. Various colours signal different things in different parts of the world. Let it be easy to localise visuals
Links and further reading about i18n and L10n:
Transifex
OpenTranslators
Well done. You have built your first Joomla extension. No doubt you are excited and want to share it with the Joomla world. But the user interface (the parameters etc) is written in English (en-GB) - those language .ini files need to be translated! This is where OpenTranslators can help you.
A little history
In the Joomla Project there is a very skilled group of Translators (http://community.joomla.org/translations...) who produce (currently 49 http://community.joomla.org/translations...) localised translations of Joomla core. Until OpenTranslators began, each extension developer had to 'find' their own translators, usually from the users of that extension. This has worked particularly well for the larger, more popular extensions but has been difficult for the less publicised bulk of circa 8000 Joomla Extensions.
As more modern methods of translating have become available, enabling Translators to efficiently and easily work on or offline, a group of Joomla Community members identified this need and the OpenTranslators Project began end August 2011.
OpenTranslators chose to use Transifex, itself an Open Source Project being actively developed, as the platform for our translation hub. The core team of OpenTranslators, a team bringing Joomla development expertise added to extensive multi-lingual experience, joined with, and now are sponsored by, the Transifex Project and with a website, http://opentranslators.org , the task of growing the Translation Teams began.
The ultimate goal of OpenTranslators is to help create a vibrant, active and experienced Community of Translators who volunteer to translate Joomla related projects, who give suggestions and feedback to the Extension/Project Developers and who will encourage and mentor new Translators to join the OpenTranslators' initiative as well as the Joomla Core Translation Teams - all of which will help make Joomla and it's extensions available worldwide in many different languages.
Note: perhaps think of OpenTranslators as a ‘dating agency’! We introduce Developers to Translators and vice versa. We do not control your project - that is your job - but we will offer advice and help if you need it.
OpenTranslators Today - December 2011
OpenTranslators has created and maintains a growing pool of experienced volunteer Translators. All Extension Developers and Joomla related projects can tap into this pool simply by adding their project to Transifex without the need to manage hundreds of Translators individually.
With their understanding of the principle of a 'Volunteer Community of shared Translators', some of the most popular extensions for example redCOMPONENT (including redSHOP), NoNumber Extensions (including Advanced Module Manager) and StackIdeas (including EasyBlog) and many more (link to projects for translation) associated their translation projects and actively encouraged their existing Translators to join OpenTranslators. Together with the generosity of many volunteer Translators, the Translation Teams are growing both in the number of Translators and the diversity of language; bringing with them extended experience of technical translations and most with either developer or user experience of Joomla.
One of the great advantages of Transifex is that all translations can be done ‘in the open’ and, with the latest version of Transifex, Team Co-ordinators can nominate experienced Translators to proofread completed translations which will ensure quality translations are provided for your extension. Combined with Translation Memory http://en.wikipedia.org/wiki/Translation..., which offers Translators previous translations of strings, these translations will bring a consistency across all extension translations which was unachievable before.
Take a look at some of the OpenTranslators projects on Transifex, look at their resources, see what information they provide. Check out the translations and look at them from a Translator’s view... and then learn how to add your own extension project so it truly can be shared with the world!
Setting up your project with Transifex & OpenTranslators
In the previous paragraphs, we have introduced you to OpenTranslators and our vision on localisation and translations. We have also introduced you to Transifex - the platform we use to enable collaboration between you and the translators.
In this section we will focus on your tasks. We’ll explain what you will need to do to set up your project, and what things you have to look out for while doing so. Keep in mind that our website (http://opentranslators.org) has detailed manuals for developers - we’re always working on improving them for your benefit.
This section will focus on the following areas:
- Making contact with OpenTranslators
- Working with the Transifex website
- Setting up your project in Transifex
- Using the Transifex client to maintain your translation files
- Tips and tricks regarding Transifex, it’s client, and translation files in general
We know you’re busy and might be eager to get started, so let’s carry on straight away!
Making contact with OpenTranslators
You can get in touch with OpenTranslators at any point during (or after) your setup. But in general, we recommend to get in touch with us before you get started. When you do, we can help you get started by pointing you in the right direction to make sure you make a good start! It is most important that you alert us at some point when you assign your project to use OpenTranslators.
You can contact OpenTranslators using Twitter @opentranslators, Google+, Facebook or through our website
Working with the Transifex site
As we mentioned before, we use the Transifex platform to enable extension translations. Before you can get started with a project, you will need to register on Transifex. This is a simple process. Registering on Transifex is free - just like using Transifex is free for Open Source GPL licensed extensions.
Tip: If you don’t already have a well known username, it is better to register with your real name or even better, both. We often use Twitter for communication so it is a good idea to add your Twitter username to your Transifex Profile.
Setting up a project
Once you are registered on Transifex, you can set up your first project. We have described the steps on our website, in our developer 'how to'. You can choose to use either the Basic or the Advanced method to set up your project - the outcome will be the same. When setting up the project, keep the following in mind:
- Licence type: When creating the project, you will be asked to choose the licence type for your project. Make sure to use “Other Open source” as your extension is licensed under (any version) of GPL
- Access Control: To assign your project(s) to the OpenTranslators’ translator teams, you will need to set your Access Control to “Outsourced access” and select OpenTranslators
- Tag your project: Your project should be tagged with “OpenTranslators” without quotes. This will make it easier for our Translators to find your project and identify it as one that has been assigned to them. You can find this option under “Edit your project”. You can see the list of projects currently tagged with OpenTranslators here. You can also add your own name as tag here and any other tags you want
- Use Bing or Google Translate for automated translations: If you have an API key you can enable either one (or both) of the “automated translations” options. Enabling this option requires an API key. Translators can then use these tools to automatically translate strings for speed and accuracy where appropriate. More information
- Other Tools: If you have two or more extensions, enable Translation Memory.
Using the Transifex client
The Transifex Client is a command line tool that will allow you to easily and quickly manage your source files and the translations. This tool will be essential to you, as it will save you a lot of time when you use it. Using the client, you will be able to push translations to Transifex and pull translations to your desktop, svn or Github.
Note: 'pushing' translations could be seen as uploading them, while 'pulling' them is similar to downloading them. You can also perform these actions manually on the site. A more detailed explanation can be found in the Client documentation
If you need additional help on using the client, you can ask your question on our forum and one of your fellow developers will be able to help you out.
Making the translations ready for use in Joomla
Of course, the goal of the translations is that you make them available to your users. You can choose to package the translation files in your extension package, or offer them separately as installable language packs. But before you are there, you might need to make some small changes to the files you download from Transifex.
The translation files Transifex outputs (for instance by using the pull function from the client discussed above), will probably need a little tweaking here and there to make them 100% suitable for Joomla. We have already documented some tips and posted them in our Tips and Tricks subforum. If you run into problems or have tips of your own, you can share them using the forum and we will make sure our experienced Developers will look at your post.
Links and further reading about your project on Transifex:
- Pseudo-translations for extension testing
- Transifex 1.2 released December 2011
- Webhooks
- Transifex Glossary
In this section, we have covered some of the tools at your disposal. However, we didn’t mention one key element to make your translations happen - the volunteers who will be translating your extensions in their native language. The next part will explain how you can 'use' them and how Translators work.
Volunteer Translators & you
How Developers can ‘use’ Translators through OpenTranslators on Transifex
All language teams are shared between all projects assigned to OpenTranslators. This means Developers will have access to continuously growing teams of Translators, all experienced in translating Joomla related products. This is especially beneficial for Developers who currently don’t have a long-standing or well structured system, or any translation system at all. Developers new to translations will benefit from OpenTranslators’ pool of Translators and might bring in some new Translators to increase this pool for others.
Developers who already have a system in place have nothing to lose in trying out OpenTranslators. Your already existing teams would join ours, in a true Open Source spirit, making collaboration and experience our strengths.
Our Translation Teams are available and accepting new Translators and ideas to improve our already efficient ‘modus operandis’.
Getting feedback from Translators
Different language teams will opt for different strategies, for example:
- individual Translators can provide feedback by sending a private message through the Transifex messaging system
- Translators can provide feedback using the ‘suggestions’ tab when translating a string on Transifex
- posting on OpenTranslators’ forum
- posting related articles
- sending tweets, either directly to the extension developer or via @OpenTranslators
- when our English (en) Proofreading Team is structured it will help non-native English speaking developers with their en-GB files
Interacting with Translators at the OpenTranslators’ forum
Our OpenTranslators forum is the perfect place for interaction between Translators, Co-ordinators and Developers. Each project or suite of projects is allocated its own forum and it is a place where everyone can and will benefit from everyone’s input, feedback and collaboration, making it easier for newcomers to find and learn from the knowledge available to all.
Encouraging and motivating Translators by ‘giving back’
To encourage Translators to maintain the translation of a project, most commercial extension Developers offer their Translators a copy of the product they’re maintaining (limiting it to for example 1-3 freebies per language team)
Other ways to say ‘thank you’ and to encourage Translators are to:
- make sure you actually take and use the translations
- make a blog post or article on your website about the Translators who have contributed to the translation of your extensions
- send out a ‘thank you’ tweet, post on Facebook and Google+
- make sure you keep in touch with your translators by posting in OpenTranslators’ forum or your own forum, especially regarding new releases/changes etc
- use one of OpenTranslators’ banners on your site
...but mostly just remember that the Translators are volunteers and that localisation is not possible without them
Conclusion
OpenTranslators is a project by and for Joomla! Community members, which brings together Translators and Developers. Localisation is our passion, and we’d like nothing more than to help Developers like you help themselves and their clients / community members by having your extensions translated in as many languages as possible.
If you are interested in tapping into our translation experience and our translator pool (currently over 260 translators in over 50 language teams) we welcome you to join us. Collaborating with OpenTranslators is free, simple and fun. If we’ve sparked your interest, we recommend you check out our site, take a tour on Transifex, read our manuals or say “Hello” on our site, or the social media site of your choice. We look forward to hearing from you!
from your fellow Joomla! Community Members, the OpenTranslators Team.













0 comments
Post new comment