翻訳

3.3.1. 作業概要

翻訳の予約が済めば、いよいよ実際の翻訳作業に入ります。

GNOME の翻訳は、PO ファイルという翻訳データのソースファイルを編集して作業を進めます。PO ファイルの中身は、一連の翻訳対象メッセージと各メッセージに対応する翻訳文とで構成されています。日本語の翻訳文を PO ファイルに記述していくのが、翻訳作業のメインになります。PO ファイルの編集方法については、セクション 3.3.2 - PO ファイルの編集方法 を参照してください。

ドキュメント翻訳の場合は、アプリケーションの翻訳済み画面イメージが必要になることがあります。詳細については 付録 A - ドキュメントで使用されている画像の翻訳について を参照してください。

翻訳の手順
  1. 該当モジュールのページから、編集対象になる PO ファイルをダウンロードしてください。

    翻訳率のラベルの左にあるダウンロード用のアイコンをクリックしてダウンロードできます。

    図 3-4ダウンロード用のアイコン
  2. PO ファイルを編集します。

    PO ファイルはテキストデータなので、gedit などお好みのテキストエディターだけで作業することができます。詳細は、セクション 3.3.2 - PO ファイルの編集方法 を参照してください。

  3. 編集した PO ファイルのフォーマットチェックを行います。

    PO ファイルに形式的な誤りがないかチェックします。このチェックは、あくまで機械的なものであり、翻訳内容の妥当性判断を行うものではありません。

    1. GNOME 端末 (gnome-terminal) を起動してください。

    2. 次のコマンドを実行してください。$ msgfmt -co /dev/null /PATH/TO/PO-FILE

      “/PATH/TO/PO-FILE” の部分は、編集した PO ファイルのパスに置き換えてください。

    3. エラーが検出されれば、修正してください。

    msgfmt コマンドは、多くのディストリビューションで gettext パッケージにて提供されています。msgfmt がインストールされていない場合は、お使いのディストリビューションの該当するパッケージをインストールしてください。

作業上のアドバイス
  • 対訳表を適宜参照してください。
  • 訳語に迷ったりした場合は、メーリングリストなどで他の翻訳メンバーに遠慮無く相談してください。
  • PO ファイルに含まれるすべてのメッセージを翻訳する必要はありません。1 メッセージだけの翻訳でもけっこうです。
  • プログラムを実際に動作させて、ユーザー目線で翻訳の妥当性を確認してください。プログラムのビルドには JHBuild などのビルドツールが利用できます。

3.3.2. PO ファイルの編集方法

翻訳者が編集する PO ファイルについて説明します。PO ファイルは、一連の翻訳対象メッセージと各メッセージに対応する翻訳文とで構成されるテキストファイルで、翻訳情報を保持するファイルです。翻訳者はこのファイルを編集し、翻訳情報を追加、修正することで翻訳を進めます。

実際に PO ファイルの中身の一部をサンプルとして見てみましょう。

例 3-1翻訳済みの例
msgid "Open Files"
msgstr "ファイルを開く"
msgid で始まる行と、その下に msgstr で始まる行があります。msgid の直後には二重引用符で括った英語が見え、msgstr の直後には二重引用符で括った日本語が見えます。msgid の英語が、翻訳対象のオリジナルのメッセージであり、msgstr の日本語は、オリジナルメッセージに対応する日本語訳となります。msgid と msgstr のペアを 1 つの単位として、PO ファイルには、1 つ以上のペアが並べられています。また “#” で始まる行はコメントとして扱われますが、一部特殊な用途のコメントもあります。

次の例のように msgstr の二重引用符の中が空になっている場合は、そのメッセージがまだ翻訳されていないということです。

例 3-2未翻訳の例
msgid "Open Files"
msgstr ""
この msgstr の部分に翻訳文を埋めていくことが、翻訳者の仕事になります。お好みのテキストエディターを使って、翻訳済みの例のように訳語を記入してください。

翻訳済みのメッセージでも、原文が更新されたりした場合、その訳語は古いものとして使えなくなります。そうしたメッセージには fuzzy というフラグが付与され、無効な翻訳とみなされます。

例 3-3fuzzy の例
#, fuzzy
#| msgid "Open"
msgid "Open Files"
msgstr "開く"
上の例のように、無効となった翻訳済みメッセージには “#, fuzzy” という特殊なコメントが付与されます。さらに更新前の原文が “#| msgid "Open"” として、更新後の原文が “msgid "Open Files"” として記載されています。既存の訳語が再利用できるか、または修正する必要があるかを判断してください。適切な訳語が決まれば、“#, fuzzy”“#| msgid "Open"” の行を削除してください。

PO ファイル編集上の注意

PO ファイルを編集する際の注意事項について、いくつか主要なものを紹介します。

  • アクセラレーターキー

    例 3-4アクセラレーターキーの翻訳例
    msgid "_View"
    msgstr "表示(_V)"
    msgid をご覧ください。 この “_V” のようにアルファベットの前に英語表記にそぐわない形でアンダースコアが配置されているメッセージが存在します。これは “V” がアクセラレーターキーとして機能することを示しています。英語版でも日本語版でも、同じアプリケーションではアクセラレターキーは同じように動作する必要があるので、日本語訳にも “_V” を付与する必要があります。日本語訳にアクセラレーターキーを付与する場合は、上記の “表示(_V)” のように、アンダースコアと該当のアルファベットの大文字を半角丸括弧で括った文字列を、語句の末尾に配置します。アクセラレーターキーに大文字小文字の区別はありませんが、日本語訳では原則として大文字アルファベットを使用してください。原文のキーが小文字であっても、日本語では大文字で記述します。

    アクセラレーターキー

    アクセラレーターキーとは、一般に Alt キーとともにそのキーを押すことで、特定のメニューやテキストエントリーなどにフォーカスを移すといった、ショートカット機能を提供するものです。たとえば gedit を開いた状態で Alt+v を押すと、表示メニューが開かれます。

  • 書式指定子

    例 3-5書式指定子を含むメッセージの翻訳例
    #. Translators: %s is a URI
    #: ../gedit/gedit-window.c:1413
    #, c-format
    msgid "Open '%s'"
    msgstr "'%s' を開きます"
    原文に “%s” というフレーズが見えます。これは書式指定子と呼ばれるもので、プログラムの実行時に “%s” が何らかの文字列に変換されてメッセージが出力されます (C 言語をご存知の方なら printf で使用されるもの、と言えばわかりやすいでしょう)。原文と同様に日本語版でも “%s” はプログラムによって使用されるので、“%s” を日本語訳にも残しておく必要があります。上の例の場合は、“%s” が何らかの URI を表す文字列に置き換わることが、翻訳者向けのコメント (“#. Translators: %s is a URI”) から読み取れます。書式指定子の使われ方を考慮しつつ、適切な日本語訳を考えてください。書式指定子には様々な種類があります。訳し方に迷った場合は、メーリングリストなどで相談してください。

  • 著作権・クレジット表示

    例 3-6著作権表示の例
    # Copyright (C) 2007-2012 damned-lies's COPRYRIGHT HOLDER
    # This file is distributed under the same license as the damned-lies package.
    # Satoru SATOH <ss@gnome.gr.jp>, 2007.
    # Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>, 2009-2011.
    # OKANO Takayoshi <kano@na.rim.or.jp>, 2010.
    # Jiro Matsuzawa <jmatsuzawa@src.gnome.org>, 2011, 2012.
    # Yasumichi Akahoshi <yasumichi@vinelinux.org>, 2011.
    PO ファイルの先頭は、著作権表示部分になります。PO を編集したら、既存の記述を参考の上、ここにご自身の情報を追記・更新してください。どう書けばよいかわからない場合は、遠慮なく日本語翻訳チームにご質問ください。

    例 3-7クレジット表示の例
    msgid "translator-credits"
    msgstr ""
    "Satoru SATOH <ss@gnome.gr.jp>\n"
    "草野 貴之 <AE5T-KSN@asahi-net.or.jp>\n"
    "OKANO Takayoshi <kano@na.rim.or.jp>\n"
    "松澤 二郎 <jmatsuzawa@src.gnome.org>\n"
    "赤星 柔充 <yasumichi@vinelinux.org>\n"
    "日本GNOMEユーザー会 <http://www.gnome.gr.jp/>"
    "translator-credits" や "translator_credits" などの msgid が PO に含まれていることがあります。これは特殊なメッセージで、msgstr には翻訳者のクレジットを記述します。既存の記述例を参考にご自身のクレジットを記述してください。どう書けばよいかわからない場合は、遠慮なく日本語翻訳チームにご質問ください。