This is one of planning posts explaining about the situation of Japan and programming. This time, I would like to write about non technical matters. How bad the translation is.
Last time, I explained Why Japanese don't know English. Short answer is: We don't need to because there are enough translations.
So It's all about translation. Is it good? Short answer, No. Long answer, NOOOOOOOOOOOOOOOOO.
I say, translation is enough to be a good programmer. You can't be the best programmer by translation.
The translation, in general, is horrible.
The author of Boost.locale said by using English, It's easy to translate to other languages.
You even do not have to be a professional tanslator with a degree in Lingustics to translate messages from English to your own language.
This is the last thing localization library designer can say.
Translation is a bad idea. Translation is a workaround. It's works as lossy encoding like using 32kbps mp3. It just barely sufficient to grasp the meaning of original text. All non-essential nuances are removed.
Especially, translation between English and Japanese are nightmare.
That's not all. You can't avoid mistranslation.
I'll show you one example. One example that is enough to makes you understand that translation never works. The most infamous mistranslation in the history of computer science. Brace yourself.
There is a book called "The Programming Language C++ 3rd" by Bjarne Stroustrup. Of course, There is a Japanese translated version for this. At 4.4.1 Integer Literals [dcl.int.lit] of this book, there is a sentence:
on a machine on which an int is represented as a two’s complement 16-bit integer
This was translated in Japanese as follows.
(Literally translated back to English by me.)
on a machine on which two 16-bit integers that are complementing each others represents an int
I'm not joking. I don't make up this. I tried to translate as literal as possible. It's real. It literally says "two 16-bit integers". This set of integers are somehow complementing each others. And it somehow represents an int. Yes this two integers represents an int. not "be represented".
This legendary horribly translated version of his book is still sold even today. You can find it in Japanese local bookstore.
Of course, there are books written by native Japanese. But for some reason, it only covers the basics. So we have to read translation.
This problem can be solved if we all learn English. But that's impossible. I think the reason of that is a good topic for next post.