NVDAの他言語への翻訳(NVDAのLocalization)

注意: エディットフィールドに文字を入力したり、ファイル名を指定したり、フォルダを作成したりする際は、大文字や小文字をこのチュートリアルの記述にあわせてください。

このドキュメントを読んでいるということは、あなたはおそらくNVDAのソースコードバージョンのインストールを終了し、そのNVDAはコンピューター上で問題なく動いていることと思います。このチュートリアルでは、Python 2.7はc:\python27にインストールされており、NVDAのソースファイルはc:\NVDA\sourceにインストールされているものとして説明していきます。

NVDAの翻訳

少なくとも今、NVDAを翻訳する方法は二つあります。一つ目は、いくつかのコマンドを使って翻訳すべき文字列を含んだファイルを生成し、それをテキストエディタを使って翻訳し、最後に翻訳済みのデータを別のコマンドを使ってコンパイルするという方法です。 もうひとつの方法は、 PoEditというGUI環境を使用する方法で、このツールを使用した場合、オリジナルのテキストと翻訳済みのテキストを並べて作業できます。日本語のチュートリアルでは、PoEditを用いた翻訳方法を紹介します。

PoEditのインストールと実行

PoEdit'sのホームページは http://www.poedit.net/です。

最新のWindows版のPoEditは、いつでもhttp://sourceforge.net/projects/poedit/files/からダウンロードできます。

画面上の指示に従ってインストールしてください。2番目の画面で"同意"のチェックボックスをチェックする以外、特にコンポーネント画面ですべてをインストールを選択することをはじめとして、すべてのオプションをデフォルトのままにすることをお勧めします。

PoEditを最初に起動したとき、最初の画面ではプログラムのメニューやウインドウ、オプションの中で使用されるデフォルトの言語を選択できます。最初に選択されているのは、お使いのシステムのデフォルトの言語かもしれません。

次のステップは、PoEditの文字列カタログファイルのヘッダー部分に入力される、名前と電子メールの情報を正確に入力することです。表示されたダイアログウインドウのそれぞれのフィールドに入力してください。次に、 "パーサ"に到達するまで、Ctrl+Tabを何度か押し、プログラム言語の一覧でPythonを選択します。TabキーでEditボタンに移動し、スペースキーを押し、Tabキーで"list of extensions(拡張子の一覧)"フィールドに移動し、セミコロンに続けて*.pywと入力します。すると、フィールドは次のようになります:

*.py;*.pyw

次に、Pythonパーサウインドウを閉じるためにOKボタンを押し、設定ウインドウの他の部分はデフォルトの設定のままにしてOKボタンを押します。

NVDAの翻訳カタログの作成

ファイルメニューの中の、"新規カタログ..."を開きます。ここではさらに、このプロジェクトに固有のいくつかの情報を入力する必要があります。すべてのフィールドへの入力は任意ですが、常に正しい情報を入力することが望ましいです。

プロジェクト名とバージョン"には、"NVDA R"に続いて、あなたが最後にチェックアウトしたディビジョン番号を入力すると良いでしょう。例えば、次のような感じです:

NVDA R3461

"翻訳チーム"フィールドには、例えば"<あなたの言語コード>言語チーム"のような情報を入力するか、翻訳者があなただけの場合はご自身のお名前を入力すると良いでしょう。"翻訳チームのメールアドレス"にはあなたのメールアドレスまたは翻訳チームのアドレスを入力してください。次に、プロジェクトの言語と国を、コンボボックスから選択してください。NVDAはUnicodeで書かれているので、文字符号化法とソースコードの文字符号化法のコンボボックスではUTF-8を指定します。

次に、Ctrl+Tabキーを押してパスタブに移動し、ベースのパスエディットフィールドにNVDAのソースをダウンロードしたフォルダの絶対パスを"c:\nvda"のように入力します。次のボタンにTabキーで移動し、ボタンを押して出てきたエディットフィールドに"source"と入力してEnterキーを押します。これは、PoEditがソースコードの中から翻訳可能なテキストを探す基点になります。最後にOKボタンにTabキーで移動し、それを押してください。

通常の"名前を付けて保存..."ダイアログが表示されます。ファイル名のフィールドに、"nvda.po"と入力し、保存先フォルダとして"NVDA\source\locale\<言語コード>\LC_MESSAGES"というフォルダを選択します。なお、<言語コード>はあなたがNVDAを翻訳しようとしている言語のISO-639形式の名称になります。もしこのようなフォルダー構造がない場合は作成してください。

PoEditは今後、そのフォルダーに二つのファイルを保存します。"nvda.po"にはオリジナルと翻訳済みの文字列がテキスト形式で保存されています。必要に応じて、お好みのテキストエディターで確認できます。 "nvda.mo"はバイナリー版のnvda.poで、NVDA自身が実行時に読みこんで使用します。

余談ですが、もしあなたがPoEditの代わりに、pygettextというコマンドラインツールを利用する場合は、nvda.potというオリジナルの文字列を含んだもうひとつのファイルが作成されます。このファイルは翻訳終了後に、nvda.poとして保存する必要があります。PoEditはソースコードをスキャンして自動的にpoカタログを更新することができるので、potファイルを生成する必要はありません。

ダイアログが閉じると、Tabキーでフィールド間を移動できる空のリストビューとエディットボックスが表示されます。 カタログメニューに移動し、"ソースコードから更新"に入ります。このオプションは、PoEditにNVDAのソースコード全体に翻訳可能な文字列がないかをスキャンするように指示します。 それが最初に翻訳を開始したときかどうかに関わらず、新しい翻訳が必要な文字列が追加されたか、または不要な項目が削除されたかを確認したい場合は、このオプションを実行しなければなりません。 スキャンが終了すると、誤って終了された文字列に関するエラーが出るかもしれません。しかし、それらは関係のない警告なので、無視してOKを押してください。次に、PoEditはカタログファイルに追加される新しい文字列の一覧と、オプションの名称の変更や他のオプションとの置き換えなどによってすでにプログラムで使用されなくなった文字列を表示します。もしもそれが最初のソースコードのスキャンであれば、新しい文字列のリストには、おそらく100以上の文字列が出てくると思います。すべての文字列のリストを確認する必要はありませんので、OKを押してください。

PoEdit内での翻訳

前と同じようなリストが表示されましたが、こんどのリストは翻訳が必要なNVDAの文字列で埋め尽くされています。ステータスバーで、どれだけの文字列がすでに翻訳されているのか、まだ翻訳されていないものはいくつあるのか、翻訳があいまいなものはいくつあるのかを確認してください。翻訳があいまいな文字列とは、PoEditが自動的翻訳を試みたもので、そのままでは間違っているかもしれません。文字列を翻訳または修正するには、まずカーソルキーで翻訳したい文字列を選択し、Tabを押して空白のエディットフィールドに移動し、翻訳テキストを入力します。

句読点や大文字などを確認するために、オリジナルの文字列のスペルを確認したいことがあるかもしれません。PoEditではオリジナルの文字列の上でAlt+Cを押すことで、オリジナルの文字列をエディットフィールドにコピーすることができます。その後、コピーされた文字列は通常通りに翻訳テキストで置き換えることができます。

Ctrl+Sを押すことで、いつでも作業内容を保存できます。このキーの組み合わせを押すと、PoEditはいつでもnvda.poを保存し、さらに最後に翻訳して保存した結果を含んだnvda.moを再コンパイルします。