Title: 独自の日本語リソースを追加して使用するには

標準の日本語リソースに含まれていない日本語メッセージを画面に表示するには、その表示したい日本語メッセージを含む新しいリソース ファイルを作成し、SDL ファイルから呼び出す必要があります。ここではその手順について説明します。



リソースの設置場所



リソース ファイルの保存場所



日本語を含むリソース ファイルは、TeamPage がインストールされた server ディレクトリ(フォルダ)の下の、config/i18n/resources に保存されています。ファイル名に「_ja」が付くのが日本語のファイルで、標準で次の 5 つがあります。

参照: DocSDK46.06: 画面メッセージなどの日本語の表示内容を変更するには



新しく作成する日本語のリソース ファイルは、ファイル名に「_ja」を付けてこのディレクトリに保存します…が、通常は、直接 config/i18n/resources に保存せず、プラグインに config/i18n/resources を作り、その中に保存します。

リソースの定義ファイルの保存場所



リソースのファイルを config/i18n/resources に置いただけでは利用できません。config/i18n/bundles に定義ファイルを置く必要があります。

例えば、core.properties を開くと、一行目の class=i18n.resources.Core と書かれています。これは「config/i18n/reources フォルダにある Core ファイルを参照せよ」という意味です。ロケール(言語)に応じて、ロケールが日本語(ja)の場合は Core_ja.* ファイルが、ロケールが英語(en)の場合は Core_en.* ファイルが参照されます。

このような、同じ名前の仲間(「Core_ja」「Core_en」「Core_fr」…など)のことをバンドルと呼びます。



新しく作成する日本語のリソース ファイルは、ファイル名に「_ja」を付けてこのディレクトリに保存します…が、通常は、直接 config/i18n/resources に保存せず、プラグインに config/i18n/resources を作り、その中に保存します。

新しいリソースの作成と設定



例:「日報」用のリソース



ここでは Download1122: 日報フォーム プラグイン (バージョン 1.x) を例に、「DailyJournal」というリソースのバンドルを作成します。

バンドルの定義ファイル



server ディレクトリの下の plugins フォルダの中にプラグインのフォルダ「com.traction.form.dailyjournal」の中の、config/i18n/bundles というフォルダ階層にバンドル定義ファイルである dailyjournal.properties を作成してテキストエディタで開き、次のように記述し、保存します。

class=i18n.resources.DailyJournal


これは「『dailyjournal』というバンドル名が指定された、config/i18n/resources にある DailyJournal というファイル(日本語ロケールの場合は DailyJournal_ja)を参照せよ」という意味です。



リソース ファイルの名前と設置場所



プラグイン フォルダの中に config/i18n/resources というフォルダ階層を作成します。その中に DailyJournal のリソースファイルを設置します。

ここでは次の3つのロケール用のファイルを設置します。





リソース ファイルの作り方



参照: DocSDK46.016: 画面メッセージなどの日本語の表示内容を変更するには

日本語のリソースは、まず DailyJournal_ja.utf8 というテキスト ファイルとして作成し、native2ascii を使って DailyJournal_ja.properties ファイルに変換し(日本語の文字を ASCII 文字に変換)、Properties2Javascript を使って DailyJournal_ja.js に変換します。

英語の場合、元々 ACSII 文字で記述されるため、DailyJournal.utf8 や DailyJournal_en.utf8 を作成する必要はありません。DailyJournal.properties や DailyJournal_en.properties を作成し、Properties2Javascript を使って *.js に変換します。

日本語リソースを作成する



DailyJournal_ja.utf8



まずは DailyJournal_ja.utf8 をテキスト エディタで作成します。文字エンコードは UTF-8 にする必要があります。

書式は、次のように、1行につき1つの項目を書き、イコール記号に続いて値を記述します。

項目名1=日本語1
項目名2=日本語2
...


行頭に半角のシャープ記号を書くと、その行はコメントになります。

# コメント




編集を終えたらファイルを保存し、テキストエディタを終了します。

DailyJournal_ja.properties



編集された DailyJournal_ja.utf8 ファイルを native2ascii を使って DailyJournal_ja.properties ファイルに変換します。native2ascii は JDK (Java Development Kit) に含まれているツールです。Oracle のサイトからダウンロードしてインストールしてください。

ここでは、native2ascii が /usr/java/latest/bin にインストールされているものとして説明します。

native2ascii を使って DailyJournal_ja.utf8 から DailyJournal_ja.properties を生成するには、次のようにします。

native2ascii DailyJournal_ja.utf8 DailyJournal_ja.properties


実行すると、下図のように DailyJournal_ja.utf8 から DailyJournal_ja.properties ファイルが作成されます。

.utf8から.propertiesを作成

DailyJournal_ja.js



DailyJournal_ja.properties から DailyJournal_ja.js を作成するための Properties2Javascript は、TeamPage がインストールされた server ディレクトリにあります。

ここでは TeamPage の server ディレクトリが ~/servers/60_latest/traction/server であるとして説明します。

Properties2Javascript を使って DailyJournal_ja.properties を DailyJournal_ja.js に変換するには、次のように実行します。

Properties2Javascript (フルパス)DailyJournal_ja.properties


実行すると、下図のように DailyJournal_ja.utf8 から DailyJournal_ja.properties ファイルが作成されます。



既定のロケールのリソースを作成する



上記で日本語のリソースは作成しましたが、他にフランス語、ドイツ語、スウェーデン語、中国語、マレーシア語…など、あらゆる言語に対応するのは大変です。そこで、「_ja」のようなロケール名が付かない名前のリソース ファイルを作成し、「選択されたロケール用のリソースが用意されていない場合の既定のリソース」として使用します。

TeamPage は米国で開発されているソフトウェアなので、基本的に、この「既定の万国共通語」のリソースは英語で記述します。

DailyJournal.properties



DailyJournal.properties ファイルをテキストエディタで作成します。

日本語の DailyJournal_ja.utf8 と同じ項目名を作成し、値(イコール記号の右側)を対応する英語に書き換えます。(日本語の値を英語に翻訳します)

英語リソースファイルをテキストエディタで編集する

編集を終えたらファイルを保存し、テキストエディタを終了します。

DailyJournal.js



DailyJournal_ja.properties と同じように、Properties2Javascript を使用して .js ファイルに変換します。

Properties2Javascript (フルパス)DailyJournal.properties


実行すると、下図のように DailyJournal.properties が DailyJournal.js に変換されます。

.properties を .js に変換する

英語のリソースを作成する



既定のリソースを英語で記述したので、英語のリソースは、これらをコピーして「_en」を付けた名前に変更すれば済みます。



ファイルの設置



以上で必要なファイルが揃いました。作成したファイルをプラグインの config/i18n/resources にコピーします。

ファイルをコピーする

TeamPage を再起動する



リソースファイルは TeamPage の起動時にシステムに読み込まれるので、TeamPage の再起動が必要です。

サーバーセットアップ > 一般 > サーバー管理 の [TeamPage の再起動] をクリックして TeamPage を再起動してください。

SDL での使い方



SDL で新しい言語リソースを使うには、次のようにしてバンドル名と項目名を指定します。

#{@バンドル名#項目名}


または

<i18n.msg bundle="バンドル名" key="項目名" />




「DailyJournal」の「achievement」を指定する場合



次のようにすると、英語の場合は「Achievement」が、日本語の場合は「目標達成度」が出力されます。

#{@dailyjournal#achievement}


または

<i18n.msg bundle="dailyjournal" key="achievement" />


「DailyJournal」の「entry_display_name」を指定する場合



次のようにすると、英語の場合は「Daily Journal」が、日本語の場合は「日報」が出力されます。

#{@dailyjournal#entry_display_name}


または

<i18n.msg bundle="dailyjournal" key="entry_display_name" />




Attachments:
bundles_core.png
new_bundle.png
i18n_resources.png
edit_ja.png
20141107-141229.png
20141107-141856.png
20141107-142149.png
20141107-142513.png
20141107-143803.png
copy_files.png
20141107-141229.png
関連記事
Article: DocSDK100 (permalink)
Categories: :FAQ:カスタマイズ, :FAQ:国際化, :FAQ:日本語, :DocSDK:国際化, :DocSDK:ローカライゼーション, :DocSDK:日本語, :DocJp:FAQ, :DocJp:カスタマイズ
Date: 2014/10/14; 14時08分04秒 JST

Author Name: TeamPage サポート
Author ID: jpbo