でも、批判(というか意見開陳?)を許さない空気になっても良くないね。
日本人は批判を受けると自分自身が批判されてると思う傾向があるので難しいのだけど。
ここでは、Vue.jsのドキュメントの翻訳がたまたま目についたので例にあげるけど、本当に悪気はないので、気になさらずに。
http://vuejs.org/guide/class-and-style.html
原文:「We can pass an Object to v-bind:class to dynamically toggle classes.」
翻訳:「私達は、v-bind:class に動的にクラスを切り替えるオブジェクトを渡すことが出来ます。」
「to dynamically toggle classes」は「an Object」にかかっているのではなく、「We can pass an Object to v-bind:class」の目的を示している。だから意味が違っちゃってるのだ。
つまり、
「私達は、v-bind:class に動的にクラスを切り替えるオブジェクトを渡すことが出来ます。」
は
「動的にclass属性を切り替えるには、v-bind:class にオブジェクトを渡します。」
とか
「v-bind:class にオブジェクトを渡して、動的にclass属性を切り替えることができます。」
でいいじゃん。
「私たち」とかいらないよね?
※ちなみに「クラス」はCSSのclass属性のことなので「class」のままの方が誤解を生まないと思う。
※もう一つちなみに、このサイトでは終始「私達は」と出てくる。これは原文の質の問題もあり一概には批判できないとは思うけど(「You」と「 We」が同じ意味で使われるとかね)、真面目に翻訳しないで省略する方が読みやすくなると思うな。
原文:「And you can directly bind to an object in data as well」
翻訳:「そして、データと同様に、直接オブジェクトにバインドすることができます」
これはその下に
data: {
classObject: {
'class-a': true,
'class-b': false
}
}
という構造体が示されているので、
「そして、data内のオブジェクトに直接バインドさせることもできます。」
でいいのだ。
「as well」と出たら反射的に「〜と同様に」と思う癖が付いているのかもしれないけど、文の最後の「as well」は「too」の軽い意味合いくらいに思った方が楽だ。
「〜 as well as 〜」に引っ張られちゃうのかな?
あと、ここも原文があまり厳密でない。
「And you can directly bind it (v-bind:class) to an object in data as well」
って感じで目的語が省略されちゃってる。
原文:「We can pass an Array to v-bind:class to apply a list of classes:」
翻訳:「私達は、v-bind:class にクラスのリストを適用する配列を渡すことができます:」
ここでも「to」の役割を誤解している。
「クラスのリストを適用する配列」だと
原文は
We can pass an Array which applies a list of classes to v-bind:class:
となるはずだ。
原文が、実際に言いたいのは、
We can pass an Array which provides a list of classes to v-bind:class:
だろう。
つまり配列は何かを「適用する」のではなく「提供する」のではないかな。
原文の構造は
We can pass an Array to v-bind:class(ここで一息おこう)
to apply a list of classes
だから、
「v-bind:classに配列を渡すことができる」
「classのリストを適用するために」
だ。
「class属性にリストで適用するには、v-bind:classに配列を渡せるよ」
ということだ。
※結果的にたいして意味が違わないと思うかもしれないけど、技術的には「配列がクラスのリストを適用する機能を持つ」のか、「クラスのリストに配列を適用できる」のかは意味が違ってくる。単なる文字列の配列を渡せばいいってわかるからだ。
原文:「If you would like to also toggle a class in the list conditionally, you can do it with a ternary expression:」
翻訳:「条件付きリストでクラスを切り替えたい場合、三項演算子式でそれを行うことができます:」
「条件付きリスト」ではない、よく見て!
「conditionally」
副詞だよ。
「そのリストの中のclassを条件でトグルしたいときは、三項演算子式が使えるよ」
ってことだよ。
原文:「This will always apply classA, but will only apply classB when isB is true.」
翻訳:「これは常に classA が適用されますが、isB が true のとき、classB だけ適用されます。」
「これは常に classA が適用され、classB はisB が true の時のみ適用されます」
だね。
もし「isB が true のとき、classB だけ適用されます。」
だとしたら原文は
「but will apply only classB when isB is true.」でないとおかしいよ。
原文も良くないよね
「but will apply classB only when isB is true」にしたほうがいいのにね。
他のページでもいろいろあるよ。
例えば
http://jp.vuejs.org/guide/list.html
原文:「Inside v-for blocks we have full access to parent scope properties, plus a special variable $index which, as you probably have guessed, is the Array index for the current item:」
翻訳:「v-for ブロック内では、私達が親スコープのプロパティへ完全なアクセスに加えて、恐らく推測しているとおり、現在のアイテムに対する配列のインデックスである特別な変数 $index を持っています:」
日本語としてなんか変になっているのは、主語や動詞を真面目に翻訳するからかな?
「v-for ブロック内では、親スコープのプロパティへの完全なアクセスに加えて、特別な変数 $index を使えます。これは恐らく推測されているとおり、現在のアイテムに対する配列のインデックスです:」
ちょっとだけ分かりやすいよね?
原文:「Later on, when you replace the items array and Vue.js encounters a new object with _uid: '88f869d', it knows it can reuse the existing scope and DOM elements associated with the same _uid.」
翻訳:「後で、items 配列を置き換え、そして Vue.js は _uid: '88f869d' を持つ新しいオブジェクトを検出するとき、同じ _uid と関連する既存スコープと DOM 要素を再利用することができます。」
これは逆に主語がないのでワケがわからないケース
「(あなたが)items 配列を置き換えると、 Vue.js は _uid: '88f869d' の新しいオブジェクトを検出し、同じ _uid に関連している既存スコープと DOM 要素を再利用します。」
原文が良くないので、ある程度は意訳にならざるをえない感じもする。
技術ドキュメントというのは、日本語に翻訳しても専門知識がない人にはさっぱり意味がわからないものだ。だから専門家が翻訳するんだけど、その専門家は技術の専門家であって、翻訳の専門家ではないのだよね、当たり前なんだけど。
個人的には、技術ドキュメントを英語から翻訳するときは、期待される日本語というのは、原文の意図が伝わる、だけで十分だと思う。
ところが、なぜか反対の意味になる翻訳をよく見かける。
原因はおそらく文の構造を理解しないで翻訳しているからではないかな。
ノリで理解している雰囲気になっているというか。
あと、原文がそもそも文章としてよろしくない時も非常に多い。
このvue.jsの場合は原文も厳密性がそれほどではないので、誤訳が多くなっていると思う。
できれば、翻訳内容について討議できる環境があればいいのに、GitHubとかだと「Pullリクエストしてください」って感じだ。どういう意図で翻訳したのかとか、いろいろあるんだろうから、メールやコメント欄とかで気軽に「ここはこういう意味ではないの?」って書きこめる方がいいのになぁ。