Localization Matters (翻訳よもやま話)

I had a chance to share the localization issues with the editor team which provides the editorial services to the product writers. Those issues could be small, such as "missing space", or big and universal, such as "terminology management". I have been working to resolve this issue only on the translation side so far, and never had a chance to communicate with the writing team. So, I was delighted and excited about that chance. In my presentation, I introduced typical problems we face... those issues include the following:

As their names imply, these expressions <literal>try</literal> to execute some
code, but <literal>catch</literal> an exception if there is a problem.

This writer uses "try" and "catch" for two meanings by changing the type face to "literal" which is represented as courier font. In our standard typographic convention, courier font means the command names, output from the computer, or code examples. Because of that convention, when I see "try" in courier font,I assume this is a "try" command in Java language. At the same time, in English, the original meaning of "try" is to "attempt".

English speakers should be able to assume those two meanings are included in the courier fonts of try and catch. However, this is a headache for the translator.

By the style guide, translators are instructed NOT to translate courier fonts since they are commands. However, the general meaning of the word, try and catch in this case, has to be translated. ... how could it be ?

Well, one translator did translate "try" and "catch" in Japanese. Then, the command names of try and catch are now missing. Another translator left those in English. Then, the general meaning of try and catch may not be understood.

There is no perfect answer. As a mitigation plan, I put English in courier fonts in brackets and also translated the general meaning such as...

<literal>トライ (try)</literal> しますが、問題がある場合には例外を
<literal>キャッチ (catch)</literal> します。

This effort will be repeated for the number of languages. However, if the original sentence is written in the following way to avoid "dual meaning" by the font usage, the problem will disappear.

As their names imply, these expressions try to execute some code
using <literal>try</literal> command, but catch an exception by
<literal>catch</literal> command if there is a problem.

In addition, if the writer uses <command></command> tags instead of
<literal></literal> tags, this will improve Machine Translation
quality dramatically. <literal></literal> is only to define the font,
but <command></command> to define the nature of that term as well
as the font. Machine translation engine identifies the tags and
keep that term in English. That's another suggestion for the writing
from localization point of view...


Thank you for sharing this information with a wider audience. I am aware of many of the issues that affect ease of translation because I and others worked very closely with Sun's globalization team to ensure that these issue are addressed in the Sun Editorial Style Guide.

The suggested rewrites illustrate quite perfectly the problem that you describe. The ambiguity in the original English forces the translator to guess that try and catch are commands. In fact, according to the Java tutorial, try and catch are expressions. See http://java.sun.com/docs/books/tutorial/essential/exceptions/catchOrDeclare.html. It would be unreasonable to expect the translator to do such detailed the research. The writer, as master of the subject, should make such distinctions clear in the original text.

The fact that these items are expressions is implied in the original text, but is not clear. A better rewrite would be as follows:

"As their names imply, the <literal>try</literal> expression tries to execute some code, and the <literal>catch</literal> expression catches an exception if there is a problem."

But the names of these expressions imply their purpose only to readers of the original English. So, maybe it would be even better to remove the "As their names imply,.." clause altogether:

"The <literal>try</literal> expression tries to execute some code, and the <literal>catch</literal> expression catches an exception if there is a problem."

As I understand it, for maximum clarity and ease of translation, every computing term should modify a regular noun: <command>ls</command> command, <filename>/etc/hosts</file> file, <literal>try</literal> expression, <methodname>getThing</methodname> method, and so forth.

Posted by Paul Davies on 4月月 28日, 2009年 at 06:53 午後 JST #

Hi Paul,

I cannot agree with you more than anything. Thank you very much for clarifying the issue and showing me the more concise and accurate example.

"<command>Is</command> command" is great. I remember I was confused with "this" pointer.

"You can use this pointer to points to the object for which the member function is called." In this case, "this" is actually the name of the pointer and written as "this" in the coding. But, I thought at first "this" is the general term...

Posted by Reiko Saito on 4月月 30日, 2009年 at 07:50 午前 JST #




« 2月 2016