先日はじめた Bootstrap ドキュメントの日本語訳について、数日の試行錯誤を経て、トップページの翻訳が終わりました。

この記事では、何をそんなに試行錯誤することがあったのか、ご紹介します。また、最後のほうには翻訳者募集のご案内もあります。

Jekyll ビルド用のソースファイルが Transifex でうまく翻訳できない

まずハマったのが、翻訳プラットフォームの Transifex 上で、Liquid 形式のテンプレートと Markdown ファイルがうまく翻訳できない点でした。前者は、HTML として見れば正しいマークアップになっていないため、Transifex にアップロードするだけでファイルが壊れてしまいます。後者は、翻訳したい行が英文として認識されず、翻訳対象外となってしまうことがありました。

乗り換えられそうな翻訳プラットフォームがあるとよいのですが、今のところ見つかりません。なので、このまま Transifex を使うしかない状況です。

解決策として、ビルド後の HTML ファイルを Transifex にアップロードすることにしました。ビルド後ならマークアップが正しくなるので、アップロードしても壊れません。

ただ、別の問題が起こりました。

翻訳前にビルドすると、複数ファイルに同じ英文が散らばってしまう

Bootstrap のドキュメントでは、_data や _includes、_layouts といったディレクトリに共通ファイルが置かれています。これらを翻訳せずにビルドすると、生成される多数の HTML ファイルに同じ英文が散らばってしまうのです。

こればっかりは仕方がないので、共通ファイルだけは、Transifex を使わずにローカル環境で翻訳することにしました

ちなみに一部の共通ファイルでは、テンプレートのロジック自体に手を入れる必要がありました。翻訳したい英単語がファイル名と連動しており、ただ翻訳してしまうとリンク切れを起こしてしまうためです。

そういった対応を経て、ようやく生成後の HTML ファイルが Transifex で翻訳できるようになりました。ここまでの手順をまとめると、下記のようになります。

Transifex で翻訳できるように準備した手順

  1. locale/en に、サブモジュールの bootstrap にあるドキュメント関連ファイルをコピー
  2. locale/ja に locale/en をコピー
  3. locale/ja 内の共通ファイル(_data/*、_includes/*、_layouts/*)を手元で翻訳
  4. locale/ja 内のソースを Jekyll でビルド
  5. locale/ja/_gh_pages に生成されたHTMLファイルを Transifex のプロジェクトに push
その後、Transifex 上でトップページを翻訳し、下記の手順で Netlify にデプロイしました。

翻訳後のトップページを Netlify にデプロイした手順

  1. Transifex 上でトップページを翻訳
  2. translations/ja/index.html に、翻訳済みファイルを pull
  3. コミットし、GitHub に push

GitHub に push すると自動デプロイされるように Netlify を設定しています。

あとは、残りのページでもこの 1〜3 を繰り返していけば、翻訳完了となります。

翻訳者募集のご案内

未翻訳のページは101ページもあります。もしご協力いただける方がいらしたら「bootstrap-docs-jaの多国語化」よりご応募ください。GitHub の README(未作成)に Contributor として掲載いたします。翻訳完了時には、オフィシャルの英語版ドキュメントから日本語版ドキュメントにリンクしてもらうよう依頼予定です(リンク掲載ページ)。

ご不明な点がありましたら、Twitter 等でお知らせください。流れは「documentation / 翻訳への参加方法 / TransifexでのDjangoドキュメント翻訳の進め方 | djangoproject.jp」と同じです。1単語だけでもよいので是非!