This is a detailed description of how to add a language to a project using the localization platform called Transifex.
I will use the example of the first app that was localized by our team called Amore which displays the phrase “I love you” in more than a 100 languages.
Suppose there’s a person who knows Klingon or any other language besides English. How does such a person help translate this project into Klingon?
The first thing they should do is to create an account on Transifex.
After they do that, they go to the Home page…
… they login…
… and get to the following User’s Account page:
Assuming that Iggy already knows about the Amore project, he has to find it now.
He clicks on the Expore page link on this page, and enters the project name (“Amore”) in the Search line.
Transifex finds the project,
and Yggy can see the basic information about the Amore project:
including the project maintainers and the list languages that the project has already been translated into. These languages actually stand for the the translations of the strings contained in the resource file (in English as a default) into the respective language.
Yggy clicks on the Request Language button. He sees the drop-down of language names and locales they belong to. These languages are the ones that Transifex supports. Yggy begins to enter the language name and sees the locale that Transifex auto-complete feature offers.
Yggy selects Klingon and presses the Request language button underneath the drop-down list.
At this time the maintainers receives a notification.
Yggy also receives a notification.
When he clicks on the notification number, he sees the message:
It is clear from the message that someone wants to create a language translation team that will translate the Amore project into the Klingon language.
Yggy clicks on the language name in the body of the message and receives access to the resource file that contains all the strings that are available to be translated.
Yggy clicks on the resource file’s name and comes to the page that shows the list of languages that the strings in the resource file are translated into.
He then scrolls down to the bottom of the list and finds the place the strings translated for Klingon. He sees that the progress bar is colorless and has 0% next to it. It means that the resource file’s strings are not translated into Klingon yet.
Yggy clicks on the language name (Klingon) and the following dialog box pops up:
A click on the Translate now button takes Yggy to the page divided into several panes:
The left vertical pane will show the list of strings that are available for translation (the Amore project is a small one and has only one string in it. The first horizontal pane on the right has the string that must be translated, and the second horizontal pane is the space for entering the translation. Yggy places the cursor in the second horizontal pane and enters the translation, to the best of his knowledge.
To finalize the translation, Yggy clicks on the Save button and then on the Thumbs-up button.
Now, imagine that one of the maintainers has a suggestion about Yggy’s translation. He goes to the Amore project home page, clicks on the language name (Klingon) and clicks on the progress bar opposite the resource file.
He sees the dialog box with the Translate now button, clicks on it and comes to the translation page:
He sees a problem with Yggy’s translation and leaves a suggestion in a comment.
Yggy sees the comment in his page
and replies to it.
Now supposing that a native Klingon speaker shows up on Transifex.
He wishes to contribute to the Amore project.
One of the ways he can find the Amore project is in the Happening now section on his page.
He comes to the translation page for Klingon and sees the poor humans fiddling with his language and wishes to correct them. But because he doesn’t belong to neither the maintainers nor to the translators, he cannot neither directly correct the translation nor leave a comment.
So the native speaker goes to the Amore project’s home page, clicks on the language name, and comes to the Klingon language translation page. The Join team button is available to him to join the language translation team.
Transifex notifies the native speaker that it will notify the coordinator of the team (Yggy) that he wants to join the team.
Yggy gets the notification and clicks on the asked to join link to check out the profile of the native speaker.
He then clicks on the Approve button to approve the request of the native speaker.
The native speaker sees the Translator button on his page and the name of the project he is the translator of in the left pane.
Now the native speaker can click on the language name and come to the language team page where he can contribute to the work by leaving comments.
Both the maintainers and the translation team coordinators can reply to the comments made by the native speakers and make necessary corrections.
After everyone is happy with the translation, it’s time to plug it into the project. In order to do that the maintainer clicks on the language name, in the dialog box he clicks on Download for use link …
and saves the file with the strings on the local machine.
The name of the file should be the name of the Klingon’s locale:
The Klingon’s locale name also should be added to the list of supported languages for use with the i18n module:
Next, he restarts the server and sees the Klingon locale available in the project:
A click on the locale makes the Amore app print out the phrase “I love you” in Klingon!