
Edward Diener wrote:
The fact that translation always begin from English ( or perhaps some other narrow character language ) to something else is horrendous.
I wouldn't agree. In practice, this is a reasonable way to do it. It may not be ideal for Japan, but it isn't horrendous, either.
I do understand that translation is just one part of this large library, but I hope that the implementer undestands how ridiculous it is to assume that non-English programmers are going to be willing to translate from English to language X rather than from their own language to language X.
As a practical matter, the typical way to localize an application written is language Y is to translate it to English first, then to the target languages X1..Xn. Finding translators from English to Xi is much easier and more affordable than finding translators from Y to Xi for almost all values of Y. If non-English programmers can't produce the English messages directly, the alternative is to use unique tokens; instead of the text "Hello World" they can use "initial_greeting" (possibly in a phonetic representation of their language, but programmers usually can handle English at such a basic level - grammar and spelling are optional here). (I, personally, always use the latter approach instead of leaving English text in the code, but both approaches are workable.)