訳語をむやみに作らない
自分が技術文書を翻訳するときに気をつけている(こだわっている)こととして、「訳語をむやみに作らない」というものがある。
Rustのドキュメントを読んでいると非常に色んな独自の用語が出てくる。arm, owned, borrowed, box, lifetime, etc...... 典型的な物はcrateだろう。
このcrateという概念は一般的に言うところのモジュールに相当するものなのだけれども、Rust的にはファイル単位をモジュール単位と(用語・暗黙的了解で)みなす節があり、それらをまとめてパッケージとして固めたものをcrateと呼称している。
これから率直に訳語を作るのであれば、木箱ないしはクレートになるのだけれども、どうもしっくりこない。モジュールと訳してしまっては pub mod bar
などの点でちょっと不整合が起きる。技術文書の翻訳シーンではよく出くわす光景だと思う。
私の技術文書の翻訳ポリシーとしては、基本的にこういう微妙かつ言語セマンティクスないしプロジェクト文化に関わるような用語は訳するべきではないと思っている。なので、この場合はcrateはcrate。
理由は主に2つあって以下の通り。
- ことプログラミング言語における概念用語というのは、その言語の住む世界観であり、既に広く定着しており複数言語間ないし計算機科学などで意味がほぼ共通化している物でない限りは、意味論が微妙に異なることの多い。そのため、安易な翻訳は、そもそもの概念的な混乱を招く。
- 安易な訳語の創出は、原語との分断をまねき、中途半端な訳語を見聞きして育った人が英語圏の情報に漕ぎ出したときに、訳語が道しるべとして全く役に立たない場合がある。
とはいえ、日本語訳を全く作らずにルー大柴のような会話をしていても、初学者に対しては拷問に等しい。なので、初学者向けのドキュメントないし用語解説欄では、適当な訳語と原語を併記して、訳語で概念の共有を行って、その上で本番の各種ライブラリ解説などでは原語でルー語的に説明するのが良いんじゃないかなと思う次第。