.. default-domain:: cpp .. _multi_language: =================================== 多言語対応について =================================== 文字リソースをアセットデータとしてアプリケーションと分離する機能を持っています。 この文字リソースを切り替えることによって多言語対応が可能になっています。 ただし、ウィンドウシステムを使うに当たって必須ではありません。 文字データのアセットデータを作成する際、MS-Excelを使用します。 作成したExcelデータからリソースデータ用のバイナリデータを出力するためのツールを用意しています。 出力されたデータを使用するためのオブジェクトとして、以下を用意してあります。 * :class:`CMessageDataSheetMgr` * :class:`CMessageDataSheet` 文字リソースExcel書式 ---------------------------------------------------- Excelファイルフォーマットは次の図のようになります。 .. image:: images/messagedata.png [ORIGIN] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [ORIGIN]というカラムを基準にデータを取得してきます。 必須ですので必ず右下のデータが始まる先頭においてください。 [ORIGIN]と同じ行はコメント扱いになり、データ出力に影響を与えません。 [D],[R] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ B4カラム,C4カラムの[D],[R]は、バージョンごとに出力するかしないかを選択します。 ここの列が空欄の時は、その行はデータ出力を抑止します。 * [D]はデバッグバージョン * [R]はリリースバージョン DやRの文字は自由に設定でき、コンバータに渡す引数でどのデータを出力するかしないかを選択可能になっています。 細かくバージョン管理したいときは、行を追加して下さい。 ID ^^^^^^^^^^^^^^^^^^^^ D3カラムのIDは、文字リソースのIDを :ref:`マルチID` で指定することになります。 その下(D4)の、[D][R]は、デバッグバージョン、リリースバージョンでも必要なのでこのような記述になっています。 IDを使って、文字リソースにアクセスするので、IDカラムは全てのバージョンで必須です。 JP,EN ^^^^^^^^^^^^^^^^^^^^^^^^ E3 ,F3カラムのJP,ENは文字リソースのロケール名です。 出力するとき次のようにデータが出力されます。 * messagedata.JP.bin * messagedata.EN.bin 自由に列を追加可能です。 E4の[D][R]は、ロケールがJPの時は、リリース、デバッグ両方で出力することを意味します。 それに対して、F4の[D]は、デバッグバージョンでのみ出力することを意味しています。 シート名 [WNDW] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ シート名は、 :ref:`FiveCC` でエンコードされます。 よって、半角英数字5文字まででシート名を付けてください。 シート名+IDの組み合わせで、文字リソースにアクセスすることになります。 文字リソースExcelコンバート方法 ---------------------------------------------------- messagedata.exe、若しくはmessagedata.pyを使ってください。 インストール手順は、 :ref:`こちら` を参照ください。 python(2.6以降)を用いて記述されています。 Excelデータの読み込みには、openpyxlを使用しています。 exeにするときに、pyinstallerを使っています。 [使用方法] messagedata.exe or messagedata.py ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ messagedata [-v version] Excelファイル名 [出力ファイル名] * -v version versionで指定した、文字列のデータを出力します。 デフォルトでは、Dになっています。 * Excelファイル名 エクセルファイルを指定してください。必須です。 * 出力ファイル名 省略したときは、エクセルファイル名から生成します。 :: messagedata -v R messagedata.xlsx caption output file names: messagedata.JP.bin messagedata.EN.bin etc .. アセットバンドル化 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 標準で用意しているアセットバンドル化の手順です。 バイナリを自前で読み込みデータを展開する方法もあります。 メニュータブから、[Tools]->[KsSoft]->[Export Binary Data]を選択してください。 .. image:: images/exportbinary.png ロケールデータデータファイルを追加したときは、 :ref:`KsSoftConfig` を編集/追加してください。