Translating RawTherapee/jp
この項ではRawTherapeeのインターフェイスの翻訳に協力する手順を説明します。
イントロダクション
RawTherapeeのグラフィカルユーザーインターフェイスは多くの部分でテキストが使われています。このテキストを様々な言語で表示するために、コードにキーだけを包含し、テキストを表示する場合は、ユーザーの選択した言語に対応するコードのキー値ペア(key--value pair)の翻訳ファイルの中で、そのキーを探します(或いは、RawTherapeeに設定されている自動検知機能で探します)。選択された翻訳ファイルの中にキーが見つかれば、キーに対応したテキストが使われますが、キーが見つからない場合は、元に戻って英文が使われます。
参照するキー値ペアを含んだファイルのことをdefaultと呼びます。ファイルは米国英語で書かれています。全ての翻訳がこのファイルを基本に行われます。翻訳の中にキーが見つからない場合は、このdefaultファイルの値(テキスト)が使われます。
翻訳ファイルは/rtdata/languagesの中に格納されています。
時々、私たちはdefaultファイルに追加された新しいキーで翻訳ファイルを更新するために /tools/generateTranslationDiffsスクリプトを実行します。新しいキー値ペアがdefaultに追加されると、翻訳ファイルにそれが存在しない場合は、スクリプトがそのペアをコピーして貼り付けます。但し、その時点で値(テキスト)は英文であるため、そのキーに接頭語“!”を付けます-RawTherapeeは翻訳された文字列を探す時には、接頭語“!”が付いた文字列を無視します。翻訳協力者がバリュー(英文テキスト)を翻訳する時は、この“!”を削除し、プログラムに無視されないようにします。
このシステムの不都合は、defaultのキーに対応している値が変わりエントリーが既に翻訳されてしまっている場合、その翻訳が古くなってしまいますが、このことを注意喚起する手段がないことです。この理由から、翻訳の管理にはdefaultの既存値が変更されているかどうか確認する必要があります。変更されていれば、それに応じて翻訳を更新します。defaultの変更に注意するには、時折ファイルに影響するgit commitsを確認します。
“露光量補正”のラベルを例にとって説明すると:
- コードの中で使われているキーは
TP_EXPOSURE_EXPCOMPです。 defaultファイルのキー値ペアは:TP_EXPOSURE_EXPCOMP;Exposure compensationです。
English (US)ファイルはこれと同じペアを持っていますが、“!”という接頭語が付いています:!TP_EXPOSURE_EXPCOMP;Exposure compensationです。
- 翻訳はキーと翻訳された値(テキスト)を含みますが、接頭語“!”はありません、つまり以下のように:
TP_EXPOSURE_EXPCOMP;Lorem ipsumです。
翻訳の手順
- まず、
/rtdata/languagesフォルダーの中に貴方が翻訳したい言語の翻訳ファイルがあるかどうか確認します。- ない場合は、
English (US)ファイルをダウンロードし(“Raw”ボタンを右クリックして、“リンクを保存します”を選択します)、翻訳する言語にファイル名を変更します-例えば、イヌクティトゥット語であれば、Inuktitutというように(以下もこれを例として使います)。 - ある場合は、それをダウンロードします(“Raw”ボタンを右クリックして、“リンクを保存します”を選択します)。
- ない場合は、
- 新しい文字列を翻訳する
Inuktitutを最近のテキストエディターで開きます(Windowsユーザーは、テキストエディターに“Notepad”ではなく、Notepad++を入手して使います)。翻訳が必要な文字列には全て行の先頭に”!“マークが付いています。既に存在する翻訳ファイルの中の新しい文字列を翻訳する場合、それら文字列はファイルの末尾に置かれています。それらを翻訳した後、接頭語の”!“を削除します。- 先の例を使って説明すると、
!TP_EXPOSURE_EXPCOMP;Exposure compensation- という新しい文字列を
TP_EXPOSURE_EXPCOMP;Lorem ipsum- の様に翻訳し、“!”を外します。
- 既存の文字列を更新する
Inuktitutファイルがかなり以前に翻訳されたものだと、その翻訳の一部が現状にそぐわないことがあります。それらを更新するには、最新のデフォルトファイルをテキストエディターの右側に開き、Inuktitutファイルを左側に開きます、そして翻訳されているInuktitutの各文字列をデフォルトの文字列と比べ、デフォルトの文字列と内容がそぐわないものを更新します。
- 翻訳が終わったら、GitHubの新規イシューを開き、その翻訳を添付します。その際に、翻訳部分だけを切り取って添付しないで下さい。更新した翻訳ファイル全体を添付します。それに対して、私たちが
/tools/generateTranslationDiffsスクリプトを実行し、更新された文字列を整理し、新しいキーを追加し、古い文字列を削除します。そして、それをコードベースに記録します。 - 将来、貴方が翻訳文を更新する際には、
/rtdata/languagesに格納されている最新のファイルをダウンロードして下さい。
マークアップ
文字列の中には、太文字や斜体、特殊な形で表示される必要のある要素を持っているものがあります。それらはマークアップを使って行われます。しかし、マークアップの構文解析は平文のそれに比べ若干遅くなります。そのため、RawTherapeeでは、それが必要と分かっているキーのマークアップだけをサポートします。従って、サポートされていないマークアップを使うとそれが正しく表示されません。常にdefaultで使われている形式を守って下さい。defaultのキーにマークアップが無ければ、貴方の翻訳文にも使いません。
キーがマークアップを使う場合は、特定の文字は HTMLの文字参照名を使って書かれなければなりません:
<は<と書きます;>は>と書きます;&&と書きます;
マークアップが何時必要なのかを知るには、defaultを見ます。例えば:
HISTORY_MSG_251;B&W – Algorithmという文字列は&を表示するためにマークアップを使っていますので、貴方が翻訳する時もマークアップを使います。PARTIALPASTE_RAWCACORR_CAREDBLUE;CA red & blueという文字列は&を表示するためにマークアップは使っていないので、貴方の翻訳にも使いません。FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trashは RawTherapeeで表示する時に"Permanently" が太文字になるようにマークアップを使っていますので、貴方の翻訳でも同じように使います。