How we successfully got our users to help us translate our Joomla site*
We quickly realised that the best option would be to get our own users to help us translate, as paying for professional translation would be too costly and we thought it would be difficult to find translators who could correctly translate some of our more technical Joomla terms.
Getting our users to help us translate the site also allows them to contribute to the project, something many of our users have expressed an interest in doing.
Crowd Sourced Translation
As we are developers, we naturally first thought about developing a tool ourselves that could handle the translation process, but after only a short scoping process we soon discovered what a mammoth task it would be. We started looking online. After a pretty thorough comparison of the available online services we selected crowdin.net.
Crowdin.net is an online translation management service for crowd sourced translations. It has a pretty sleek and user friendly interface and it supports Joomla language files. To use it simply create a project and upload the language files you need translated and select your target languages.
This is of course only a help for translating strings that are saved in the language files and not in the database. There is probably a more clever way to make the database strings available to crowdin.net, but we only have very little content stored in the database such as menu links so we simply created a filed called en-GB.database-translations.ini and added the few entries into that and uploaded it to crowdin.net
Getting Your Users Involved
We had no idea about how many of our users would help, or how much we could expect each user to translate. In fact, we didn't even know how to ask our users to help us translate. In the end we came up with a very successful method, that has so far encouraged 114 users to contribute to the translation efforts.
We initially thought that we would simply put a visible link on the site somewhere, and maybe ask users to contribute in our next newsletter.
We decided to instead develop a module that we display prominently that takes language preference information from your browser and specifically asks you to help translate into the language that you know.
On every http request most browsers send an array of languages (and their priorities) to the server. This allows the server to respond in the desired language of the user. Most browsers browsers in Russia will thus send "Russian" as the preferred language. This information is found in the array
We use this information together with the crowdin.net API and see if we have an overlap between the laguages the browser sends and the languages we would like Component Creator translated into. If there is a match (like in the above example) we show the following:
This targeted approach we believe have really helped drive the success of our translation project.
- Crowd sourced translation can work well for a Joomla site with a large active community and most of the content in language files.
- Some translators will join and translate only a very few sentences. Probably because they are curious and/or like to play around with the translation software.
- It would have been great if crowdin.net had provided the code/module for encouraging users to participate, but their API is pretty cool.
- Be careful of offering compensation to translators who translate a certain amount. We had one "translator" simply accept all the automatic translation suggestions that crowdin.net provides and it can be very hard for you to detect if it is in a language they don't speak.
* Component Creator, built in Joomla, is a free web based tool listed in the JED, that allows developers to quickly build custom Joomla components.