平々毎々(アーカイブ)

はてなダイアリーのアーカイブです。

直訳するなら頭から

facebookのほうに「日本語訳するとき、直訳するんなら頭から訳したほうがわかりやすい事はままある」と書いた。
そうは言っても逐語的に訳せという意味じゃない。
簡単に言えば、「長い英文はぶった切れ」という意味だ。

いくつかの英文を例に比べてみたい。

例1 モナド、パート4

原文
Essentially what we've got here is a way of turning functions from A to R into functions from M<A> to M<R> such that the action of the function is preserved and the "amplification" provided by the monadic type is also preserved.
後ろから直訳
基本的には、私たちがここで得たものは、AからRへの関数を、関数のアクションが保存されておりモナド型が提供する"増幅"もまた保存されているようなM<A>からM<R>への関数へと変える、1つの方法である。
頭から直訳
基本的には、私たちがここで得たものは、AからRへの関数をM<A>からM<R>への関数へと変える1つの方法である。この方法では関数のアクションが保存されており、モナド型が提供する"増幅"もまた保存されているのだ。

例2 モナド、パート10

原文
Again, no sensible person would actually implement Select like that because there are shorter and more efficient ways to do it in C#.
後ろから直訳
繰り返すが、C#にはそれをするためのより短くてより効率的な方法があるため、分別のある人なら実際にはSelectをそのように実装することはないだろう。
頭から直訳
繰り返すが、分別のある人なら実際にはSelectをそのように実装することはないだろう。なぜなら、それをするためのより短くてより効率的な方法がC#にはあるからだ。

例3 モナド、パート11

原文
but reader "Medo" reasonably pointed out that there is no general monadic where because my implementation actually required three operations: unit, bind and make an empty sequence.
後ろから直訳
しかし、読者"Medo"は、私の実装が実際にはunitbind、そして空シーケンスの作成という3つの処理を必要としているので、モナディックなwhereは一般的に存在しないと、 合理的に指摘した。
頭から直訳
しかし、読者"Medo"が合理的に指摘したのは、モナディックなwhereは一般的に存在しないということだった。なぜなら、私の実装が実際には3つの処理を必要としているからだ。unitbind、そして空シーケンスの作成。

まあ好みかもしれないけど、前から訳したほうが人間の脳みそのスタック領域を消費しないと思うんだよね。


頭からの翻訳法

頭からの翻訳法

英語は頭から訳す

英語は頭から訳す