User information
 Loading ...
Show article in Knowledge Base

 Workflow for translation of VisionProject Export knowledge base Export     SubscribeSubscribe      Show article info

Workflow between VisionProject and translators

Knowledge Base Images/Icons/information.gif Why do we need a complicated process? Why not just translate once? VisionProject contains the option to change the nomenclature for certain concepts. When you for example change 'Issue' to 'Task', it will be substituted all over the system - and it is used in many places, in many sentences. Easy, right? Just search and replace? For English, perhaps. Many languages use different genders on nouns, different case inflections depending on role in the sentences, and some other words are often inflected along with the noun (adjectives, pronouns, etc). This makes the result of a search and replace ungrammatical, as when 'Issue' and 'Task' have different genders in your language. So we need to account for grammar when doing the substitutions.

Knowledge Base Images/Icons/star_yellow.gif We use an iterative process where the translators first translate the file in plain text, then we substitute the default words (issue/sprint/developer) to the alternative options given for each category (example 'issue/task/story/ticket/...' for the issue default). The translator will then take a look at the file again, and correct grammatical errors by adding more words to the substitutions. We then breaks out the substitutions to new keys.

We use substitution keys internally, but as we substitute before sending to translators, it gets easier to read and understand  (issue/task/activity/...) instead of, for example @{nomen.issue}@ ).

The sample workflow uses french as an example (Google translate was used, so the french probably isn't fully correct. It is just supposed to illustrate the idea.)

1. You get from us:

A properties file with key/value pairs:

nomen.theissue=the issue/the task/the activity/the nnn
nomen.theissues=the issues/the tasks/the activities/the nnns
(This is in a small nomenclature 'nomen' section, used to generate the first substitutions)
nnnn.newIssueReadyForTest=The new issue is ready for test
nnnn.openAnIssue=Open an issue
(The rest of the file contains many normal keys)

2. You translate the file:

We get the basic translation:

nomen.theissue=la question/la tâche/la activité/le qqq
nomen.theissue=les questions/les tâches/les activités/les qqqz
nnnn.newIssueReadyForTest=La nouvelle question est prête pour le test
nnnn.openAnIssue=Ouvrir une question

3. We do a first substitution, and send you:

(We substitute alternatives for the default words given in the nomenclature section)

nnnn.newIssueReadyForTest=La nouvelle (question/tâche/activité/qqq) est prête pour le test
nnnn.openAnIssue=Ouvrir une (question/tâche/activité/qqq)

4. You adjust :

The current file is not grammatical, as we have just done a substitution - some inflections are missing (cases,etc) and related words (adjectives, pronouns, etc that depends on the substituted noun) are not inflected either. You adjust the alternative options in the parenthesis so that it becomes grammatical for each option in the parenthesis. You have to extend the options to include more related words, moving them to the inside of the parenthesis. Look at the La Nouvelle/Le Noveau in the example - it has been moved inside the parenthesis in this step.

nnnn.newIssueReadyForTest= (La nouvelle question/La nouvelle tâche/La nouvelle activité/Le Nouveau qqq) est prête pour le test
nnnn.openAnIssue=Ouvrir (une question/une tâche/une activité/un qqq)

5. At this stage, it should be almost complete. Minor adjustments, or another iteration..

You check that the final result looks good.
Translators can get a test account where they can login and see how VisionProject looks in the language.





-----<end of article>

User comments
 Loading ...