Description
@dalance さんに新しい日本語版 The Book のリポジトリ rust-lang-ja/book を作成していただきました。これは mdbook-i18n-helpers を使って翻訳のバージョン管理を行うものになっています。そちらのリポジトリに、本リポジトリ (book-ja) の翻訳の内容をコピーし、以降はそちら (book) で管理していくことを検討したいです。
mdbook-i18n-helpers を利用した翻訳管理については Rust by Example ですでに採用されており、rust-lang 本家のリポジトリにもマージされています (c.f. rust-lang-ja/rust-by-example-ja#184)。また、それ以前の採用例として Google による Comprehensive Rust があります。
The Book については Rust by Example と同様の仕組みや訳文は本家に取り込まない方針となりましたが (rust-lang/rust#133562)、@dalance さんによりコミュニティプロジェクトとして翻訳ドキュメントを集約する試みが開始されました。こちらへの集約も視野に入れています。
メリットとデメリット
先行する rust-lang-ja/rust-by-example-ja#184 でも検討されているのとおおよそ同等ですが、本家へのマージの代わりに rust-lang-translations への集約として考えると、次のようになるかと思います。
- メリット
- 本家の変更がすぐに反映される
- 未訳部分は英語のままとなりますが、現状と同等です
- 未入力、要更新、更新済などの状態を、セクション単位で、しかも自動で設定できるため、訳文更新の能率の向上が見込まれます
- 成熟した gettext 関連のツールキットを流用可能
- rust-lang-translations では POEditor の WebUI を利用することを検討中
- 本家の変更がすぐに反映される
- デメリット
- (rust-lang-translations に集約する場合) マージにより時間がかかるようになる
- 訳注ブロックがきれいに管理できない
- gettext は原文に無い段落の追加を想定していなさそう? なため
コピー元となる版の固定
mdbook-i18n-helpers は原文から .po ファイルを生成/更新して管理していく方式のため、原文の特定の版に基づいた翻訳をコピーする必要があります。現在の master-ja は原文の版が不明確になってしまっていますが、私 @shinmili から提出しているプルリクエスト #248 ~ #269 および #275 は、原文を rust-lang/book@19c40bf に固定して翻訳を更新しています。これらがすべてマージされた時点で、それを元としてコピーできれば良いかと考えています。
権利関係
Rust by Example と同様に、訳文は MIT/Apache2 のデュアルライセンスでライセンスされているため、翻訳者が分かるような形でコミットすれば問題無いと考えています。以下のようにすることを考えています:
- コミットログから Author: を抽出して、コミットメッセージに Co-authored-by: として記載してコミット
- コピー元のコミットハッシュを記載 (book-ja のコミットログを追えるように)
最後に、rust-lang-ja/rust-by-example-ja#184 と同様に、本件についてこれまでの翻訳者の方々のご意見を頂きたいので、全コントリビューターにメンションさせていただきます。
@hazama-yuinyan @KeenS @koka831 @ak1t0 @11Takanori @ssmi1975 @zaneli @turkeytalon @carimatics @h-michael @nmtake @ooooooo-q @Cassin01 @suzusime @azu @hagure-ru @KisaragiEffective @shota-munemoto @Scstechr @IgaguriMK @hiono @toku-sa-n @SeanDaru @aoisensi @tatsuya6502 @swnakamura @hituzi-no-sippo @jnory @TonalidadeHidrica @toasa @neglect-yp @kiripon @zk1tty @mkontani @kohbis @rsk0315 @yiskw713 @scivola @yossan @kazunetakahashi @tkeiyama @skoji @ixkaito @puripuri2100 @nojima @toof-jp @tmsc4zht @snamiki1212 @m-shaka @sozysozbot @emergent @numb86 @y-yu @ShotaroTsuji @ukikagi @noi @buzztaiki @komainu8 @zulinx86 @msakai @ice-creamer @koic @yox5ro @jmblog @HansRobo @mirumirumi @ksera524 @matsuokashuhei @ucciqun @hirasawayuki @fura2