Our translation of GDT is almost complete and we have some additional insights…
I would like to formulate some points that may help in localization of an application. As a translator, I faced several difficulties that could be avoided. They are not obvious for an English-speaker, that’s why I decided to share them.
(Disclaimer: my native language is Russian, so please excuse me for my English.)
Don’t reuse text messages. Please, never ever do that! Use one string only in one context. Even if two strings are identical in English, please create two different tokens to translate.
Reason. Having the same word in English does not necessary mean that in other languages the strings would also be identical.
Just a simple example. Let’s consider three cases:
– 5 kg of silver
– silver ingot
– silver coin
Having them in your game makes it very tempting to introduce a token ‘silver’ and let the translators translate it only once. A bad idea! That’s, for example, how those strings would look like in Russian:
– 5 кг серебра
– серебряный слиток
– серебряная монета
Noticed the word endings? English language often creates new words and meanings by just reusing an existing word. ‘Silver’ may be a noun, an adjective, even an adverb and a verb. The other languages may use other ways of creating words: Russians massively add prefixes, suffixes and endings, Germans join several words together etc. Of course, you can not know all the languages – but you don’t need to. Just let the translators translate every piece of text separately. And don’t forget to provide the necessary info about the context, of course.
Are there any exclusions? In theory, no. Even simple “Yes/No” can require different translations in different contexts. Really. Did you know, for example, that in Japanese you should reply differently when talking to the younger/older person, to the boss or to the subordinate? Also the answer forms may depend on the question.
But in practice, of course, some common phrases can be extracted. Most popular examples are “OK” (but not “Cancel”!), “Close”, some other button captions that exactly correspond to the standard Windows ones. The key point is a standardization.
Don’t join the translated messages to one sentence. The example from GDT:
“I’ve just finished {0} and {1}.”
where {1} is one of those:
“I love your work”
“I am impressed by your talent”
“I think you have potential”
The reason is the same – in other languages you may have other rules on how to build complex sentences. They may require fragment to be added in the end in one case and in the beginning in another. Better to provide three tokens like this:
“I’ve just finished {0} and I love your work.”
“I’ve just finished {0} and I am impressed by your talent.”
“I’ve just finished {0} and I think you have potential.”
It may seem not optimal, especially to the developer’s eye (I know what I am talking about!), but believe me, for the translator it’s much easier to deal with.
It’s relatively safe to join sentences and paragraphs, though.
Of course, it’s just my point of view. But it is based on being a developer as well as a translator, so I hope this will be useful for both groups.
Maybe the translators from other languages have something to add? Would be glad to discuss!