Sahana Edenの翻訳

■概要

Sahana Japan Teamでは、Sahana Edenの翻訳にPootleというシステムを使っています。
ここでは、その使い方を説明します。

■Pootleとは

Pootleはオンライン上から言語カタログファイルの翻訳を行うためのシステムです。対応して いる言語カタログファイルはgettexのPO形式とXLIFF形式に対応しています。Sahana Japan Teamでは以下のサイトでSahana Edenの翻訳を管理しています。

http://pootle.sahanafoundation.org/pootle/ja/eden/

Sahana Edenの翻訳をするには、このサイトにユーザー登録をして翻訳を始めます。
(補足: ユーザ登録を行わなくても訳語の提案は可能です。でも、なるべくユーザ登録してほしい…)

■Pootle上での翻訳作業

では、実際にPootleで翻訳を行う手順を紹介します。
以下のリンクを開いてください。

http://pootle.sahanafoundation.org/pootle/ja/eden/

4つのタブがあります。

  • 概要
    • 翻訳するべき対象のファイルが書いてあります
    • 「ja.po」が、今回の翻訳対象です
  • ニュース
    • 最近の変更履歴などが書いてあります
  • 翻訳
    • 現在の翻訳の進捗状態を詳細に確認できます
    • このタブから、翻訳を行います
  • 査読
    • ユーザから「提案」された翻訳を、コミット権をもったユーザがコミットするページです

Pootle上から翻訳を行う場合、「翻訳」タブをクリックしてください。
ここから、「ja.po」の翻訳が行えます。

「翻訳」タブで表示される各メニューの意味は以下のとおりです。

  • 未訳を表示(あるいは、クイック翻訳)
    • 対応する訳文が存在しない文節のみを表示させます
  • すべて翻訳
    • 対応する訳文が既に存在している文節も含めて、全ての語句を翻訳します
  • ダウンロード
    • 「ja.po」をダウンロードします。
    • Omega-Tなど、ローカルPCでの翻訳(後述)にて使用します
    • リンクを右クリックして、「名前をつけてファイルを保存」してください(Windowsの場合)
  • XLIFFファイルをダウンロード
    • XLIFF形式のファイルをダウンロードします
    • こちらも、ローカルPCでの翻訳で使用できます

■翻訳

「未訳を表示(クイック翻訳)」「すべて翻訳」のどちらかをクリックすると、翻訳画面に移行します。

「前へ」「次へ」を押したり、画面右上の検索ボックスから検索したりして、翻訳を行ないたい語句を表示させます。
目的の語まで到達したら、テキストボックスへ訳語を記載して、「提案」ボタンを押してください。
こうすることで、訳語が「提案」され、査読の対象となります。

「ファジー」チェックボックスは、つけなくてかまいません。

「提案」を行うと次の文節が表示されますので、そこでも同様に訳文を入力し、「提案」ボタンを押してください。

■語句の検索

Sahanaのページを表示させているなかで、

  • 明らかに誤訳している文節がある
  • よりフィットする訳文を思いついた
  • 1文だけ翻訳されていない箇所がある

など、翻訳したい対象の文字列がはっきりしている場合、翻訳したい対象の文字列を Pootle画面右上の検索ボックスから問題の語句を検索し、修正の「提案」を行ってください。
その際、「コメント」の部分に、どのページのどの箇所で使用されていたかを記載していただけると「提案」をコミットする際にチェックの手間が軽減できます。可能でしたら入力してください。

※検索しても対象の訳文が出てこない場合

Pootleに登録されていない語の可能性がありますので、その場合はSahana-jp ML(sahana-jp@googlegroups.com)までご連絡いただくか、このサイトのバグ・問題報告を利用して、発見した箇所と対象の語句を連絡ください。適宜、修正を行います。

なお、よくあります…

■訳語ファイル形式

Pootleが扱う言語カタログファイルはgettextのPO形式ですが、Sahana Edenが使用している言語カタログファイルはweb2pyのpy形式です。pootle上で翻訳するだけでは気にすることはありませんが、PO形式をダウンロードして翻訳したり、ローカルのSahana Edenで翻訳があっているかチェックする場合などには変換の必要があります。

変換を行うにはTranslate Toolkitに含まれているスクリプト、web2py2poとpo2web2pyを利用します。

Debian/ubuntuではリポジトリに収録されているので、apt-get install translate-toolkitでインストールできます。

PO形式からpy形式に変換するには、po2web2pyを使います。

$ po2web2py -i ja.po -o ja.py

py形式からPO形式に変換するにはweb2py2poを使います。

$ web2py2po -i ja.py -o ja.po

■Omega-Tでの翻訳

「ja.po」をダウンロードすることで、Omega-Tなどの翻訳支援ツールを使用することが出来ます。

  1. Pootleのページから「ja.po」をダウンロードします
  2. ダウンロードした「ja.po」ファイルを、Omega-Tのsourceフォルダに格納します。
  3. Omega-Tを起動させ、「ja.po」ファイルを開きます。
    1. 文字化けが発生する場合、「ファイルフィルタ」→「po」設定を行い、文字コードを UTF-8に指定してください。

■poファイルのアップロード

Omega-Tで翻訳を行った後のtargetファイルを、Pootleにアップロードします。

  1. Pootleページの「翻訳」タブを開きます
  2. 「ファイルのアップロード」から、アップロードしたいファイルを選択します。
  3. オプションは、以下を選択してください
    • 現在のファイルを結合し、競合を提案に変える
    • アップロード先「ja.po」
  4. 「アップロード」ボタンを押すと、アップロードされます

※ 「現在のファイルが存在するときに上書きする」オプションは、絶対に選ばないでください。

現在のアップロードされている訳語が、チェック無しに完全に上書きされてしまいます。

■翻訳した後は

sahana-jpのメーリングリストまで、翻訳をした旨を報告してください。一言メールでOKです。

連絡いただけた後、コミット権を持つ管理者が、訳語のチェックとコミットを実施します。

なお、同じ文節に対して、複数の「提案」をいただいていることがあります。
なるべくよい文章を選択してコミットしてゆくよう心がけますので、自分の提案した訳語がそのまま通らない場合でも、けっして泣かないでください。