単語は難しい。もし、英単語を使わずに、日本語に訳せというのならば、"Argument Dependant Name Lookup"は、「引数依存名前解決」とすべきなのか。とすると、"Two Phase Name Lookup"は、「二段階名前解決」と訳すことができる。"Substitution Failure Is Not An Error"の如きは、「非過失不能置換」とか、「非過失置換的失敗」などと訳すべきなのだろうか。これはどう考えてもやりすぎだ。特に、SFINAEの訳語は、漢文の知識がなければ読めない。
もちろん、この訳語は、半ば冗談だが、翻訳というのは難しいものだ。
まあ、片仮名にせよってことなんでしょうね。それにも問題があるから英単語そのままにしようという流れになっているんですけどね。
ReplyDelete片仮名にすると悩みます。
アーギュメント・ディペンデント・ネーム・ルックアップ
アーギュメント・ディペンデント・ネイム・ルカップ
サブスティテューション・フェイリアー・イズ・ノット・アン・エラー
サブスティチューション・フェイリャー・イズ・ノット・アン・エラー
サブスティチューション・フェイリャーリズ・ノラネラー
うはw
Argument Dependant Lookupは、ADLという略称が定着しています。
ReplyDeleteSubstitution Failure Is Not An Errorも、一般に(C++プログラマの間では)SFINAEと略されています。
ところが、そういう略称のないものも存在します。
たとえば、Two Phase Lookupには、一般的な略称が存在しません。
functionやvariableの如きは、やむをえず関数や変数という言葉を使ったとしても、
これらの単語は、どうしても英単語でなければならないように思うのです。
「英単語にするなら全部英単語にすべきだ」とか「漢訳するなら全部すべきだ」という発想はいかにも技術者的というか理系的というか、美しく統一された方針を打ち立てたい気持ちはとてもよく理解できるのですが、現実には読める翻訳になりません。なんでXHTML2が死んでHTML5が生き残ったのか考えてみましょう。
ReplyDelete