=======================================
  翻訳ファイル (*.mtr) について
=======================================

自作ライブラリ mlk を使用しているソフトウェア上で
表示される文字列を、任意の言語の文字列で表示したい場合は、
文字列を記述したテキストファイルから、ツールを使って mtr ファイルを作成し、
それを適切なディレクトリに置く必要があります。

ここでは、例として、
英語用の翻訳ファイルを作成する場合の手順を説明します。


1. 翻訳元のテキストファイルを、翻訳したい言語用にコピー
--------------------------------------------------------

# 日本語のファイルから、英語用のファイルをコピー
$ cp ja en_US

  - テキストのファイル名は、2文字の言語名、または5文字の "言語名_国名" にします。
    拡張子は付けないでください。

  - ご自身の環境においては、環境変数 LANG の "." より前の部分が、ファイル名となります。
    $ echo $LANG
    en_US.UTF-8

  - アプリの実行時は、環境変数 LANG から先頭の5文字が取り出され、
    その名前と一致する mtr ファイル (??_??.mtr) があれば、それが読み込まれます。

    5文字の名前と一致するファイルがない場合は、
    先頭の2文字と一致するファイル (??.mtr) が検索され、見つかった場合は、それが読み込まれます。

    いずれにも一致するファイルがない場合は、
    アプリに埋め込まれているデフォルトの言語データ (通常は英語) が使用されます。


2. コピーしたテキストファイルを編集
---------------------------------------

各文字列を翻訳して、編集していきます。

以下は、エスケープ文字です。

\n = 改行
\t = タブ
\\ = '\'
行末に '\' = 改行＋次の行へ続く


3. 変換ツールをコンパイル
------------------------------------------

実際にアプリ上で使用するには、
テキストからバイナリデータ (*.mtr) への変換が必要です。

mlktrconv.c をコンパイルして、実行ファイル "mlktrconv" を生成します。

$ cc -O2 -o mlktrconv mlktrconv.c


4. ツールを使って、バイナリデータを生成
------------------------------------------

$ ./mlktrconv en_US [-d <OUTPUT_DIR>]

編集したテキストファイルを、入力ファイルとして指定します。
入力ファイルは複数指定可能です。

各入力ファイルの末尾に ".mtr" が追加されたファイル名で、
カレントディレクトリまたは指定ディレクトリに出力されます。

出力先ディレクトリを指定する場合は、-d オプションを使います。


5. アプリ上で確認
-----------------------------

実際にアプリを実行して、文字列が正しく表示されるか確認します。

$ <EXE> --trfile en_US.mtr

mlk を使用しているアプリで、--trfile オプションを使って起動すると、
翻訳ファイルを直接指定して読み込むことができます。


6. *.mtr ファイルの置き場所
---------------------------------

生成したファイルに問題がなければ、起動時に自動的に読み込ませるために、
各アプリの翻訳ファイルが置かれているディレクトリにファイルをコピーします。

通常は、 "<INSTALL_DIR>/share/<APPNAME>/tr" です。

※ INSTALL_DIR は、デフォルトで "/usr/local"。

これで完了です。


* 翻訳ファイルの送信
----------------------------

翻訳ファイルを作成した場合、メールや、サイトのメールフォームにて、
元のテキストファイルを送っていただければ、パッケージに追加させていただきます。

その場合、作成者を記載するために、
「作成者名 (ハンドルネーム)」と「メールアドレス (載せたくなければ、なしでも可)」が
必要になりますので、ご提示ください。


* "[prefix][LANG]" の翻訳ファイルについて
---------------------------------------------

"help-en_US" などのように、言語名の前に接頭語が付く翻訳ファイルは、
長いヘルプを表示するときなど、文字列を使う時に直接読み込まれるファイルです。

こちらも通常の翻訳ファイルと同様に、言語ごとにファイルを作成する必要があります。

"help-en" といったファイルが存在する場合、"help-zh_CN" というように、
先頭の名前はそのままで、言語名を置き換えたファイル名で作成してください。

変換した *.mtr は、通常の翻訳ファイル (*.mtr) と同じ場所に置きます。
