Julia
JuliaDay 6

マニュアル翻訳の訳語について

Juliaのマニュアルの翻訳に参加している内田といいます。
別に、主催者でも何でもなくて、翻訳サイト
(https://hshindo.github.io/julia-doc-ja-v0.6/)
を見つけたので勝手に参加している感じです。
もうすぐver1.0の仕様も凍結されようかという時期ですが
(https://discourse.julialang.org/t/1-0-feature-freeze-dec-15th/7209)
まだver0.6の半分も翻訳されていないのに、アクティブに翻訳している人が少ない状況なので、
手のあいている方は、参加されるといいんじゃないでしょうか。
手順としては、
https://github.com/hshindo/julia-doc-ja-v0.6/
をforkして
https://github.com/hshindo/julia-doc-ja-v0.6/tree/master/doc/src/manual
以下のmdファイルを翻訳して、pull requestをだしたら
https://hshindo.github.io/julia-doc-ja-v0.6/
に取り込まれて公開されるという流れですね。
翻訳がダブらないように、どこを翻訳するかという宣言もかねて、先にpull requestを出しておいたほうがいいと思います。

現在、マニュアルは「モジュール」まで、翻訳されているんですが、僕自身は「関数」から「モジュール」までを翻訳しました。が、もっちゃりした感じの翻訳になりがちなので、特に「メソッド」あたりは、修正が必要だなと思っています。翻訳の質も量もまだまだですが、本番は1.0だと思って、試行錯誤しながら翻訳している状況です。
訳語に関してもそうで、"TranslationTable.md"という対訳表もあるのですが、参考にしつつも、別の語のほうがいいんじゃないかと、必ずしも従わずに翻訳を進めています。
特に型や多重ディスパッチ関連は、Juliaに独特なものが多いので、今時点でこれがいいんじゃないかと思う訳語をあげていきたいと思います。
マニュアルの中にはintuitiveって言葉が結構出てきいて、僕は「直感」ではなく「直観」と訳しています。ちょっと哲学っぽくて難解な感じがいまいちだと思いますが、辞書によると、「直感」は感覚に訴えかけるもので、「直観」は先入観・世界観に逆らわずに受け取れることのようです。人それぞれ、価値観が違うと思いますが、すんなりと頭に入ってくる用語を目指したつもりです。

  • 型に関するもの
英語 日本語
abstract type 抽象型
concrete type 具象型
primitive type 原始型
composite type 複合型
type unions 合併型
declared type 宣言型
umbrella type 包括型
parametric type パラメトリック型
union-all type 全合併型
supertype スーパータイプ
subtype サブタイプ

まず、型に関する用語は"parametric"とくっつけて複合語として使われるものが多く、しかもパラメトリックにいい訳語を思いつかなかったので、ほかの言葉は、できるだけ、漢字の訳語をあてました。
中国語のサイト(https://github.com/JuliaCN/julia_zh_cn/blob/master/manual/types.rst)
もみましたが、ちょっと古くてあんまり参考になりませんでした。
(型に関する用語はver0.5→ver0.6でだいぶ替わっているので)
"type unions"は中国語では共用体型ですが、合併型と訳しました。
ver0.6から"composite type"は"struct"を使って宣言するようになったので、共用体、構造体でお揃いになるんですけど、あまりC言語自体とはかかわりなさそうなので、やめました。
あと、具象型は、具体型という訳も考えたんですけど、Haskellや型理論の界隈では「inhabited type」の訳語として定着しているようなので、避けてみました。
"supertype","subtype"は「スーパータイプ」「サブタイプ」と訳してみました。
オブジェクト指向になじみのある人は「スーパークラス」「サブクラス」からの類推でわかりやすいかとおもったのですが、いっそのこと「上位型」「下位型」としたほうがいいのかなあという気もします。

  • 多重ディスパッチに関するもの
英語 日本語
generic 汎化
specific 特化
catch-all 全捕捉

"generic" と "specific"を「汎化」と「特化」でそろえてみました。
特に、"generic"は「総称型」とか「総称関数」のように「総称」という訳語がそれなりに定着しています。しかし、Juliaではできるだけ一般的な型を推論によって特定して、より効率的な最適化をおこないコンパイルする、という「汎化」から「特化」へという標語がふさわしい言語だと思うので、個人的にこの訳語を押していきたいです。

  • その他
英語 日本語
built-in 標準装備の
assertion 表明
type annotation 型注釈
iterable イテラブル

"built-in"に対して「標準装備の」というのは、強引な訳かと思いますが、"primitive"との違いを強調する訳語として使ってみました。標準装備というのは、ライブラリのようなもので、一番原始的なものではないというニュアンスのつもりです。
アサーションとアノテーションは漢字の言葉に訳してみましたがカタカナとどちらがいいのかわかりません。
「イテラブル」はpythonの本([fluent python][入門 Python 3])でもこのままでした。訳しづらい。

以上、中途半端ですが、いろいろ訳語を選んだ理由など、書きましたがどうだったでしょうか。
ご意見を頂ければ参考にしたいと思います。