ローカライズされた Document Definition とは、作成時の元の言語とは別の言語に翻訳された Document Definition のことです。FC のインストール時には、UI 言語を選択できます。選択した UI 言語で利用可能な Document Definition がある場合、製品ではそのローカライズ版が使用されます。
Document Definition をローカライズすると、次の項目が翻訳されます。
- データ フォーム内の field キャプション、ボタン、およびテキスト
- データセットの record を追加および編集するダイアログ内の field 名
- 学習用バッチに関連付けられたベンダーを変更するダイアログ内の field 名
- 自動では検出されなかった Region を指定する際にユーザーに表示される field キャプション
- 文書エディターから呼び出されるデータベース ルックアップ ダイアログ内の field キャプション
- データベース ルックアップ ダイアログに表示されるドロップダウンリスト内の column 名
- ルール エラーが発生したときにオペレーターに表示される rule 名
- ユーザー script のメッセージ (たとえば、スクリプトルール、エクスポート設定、イベント ハンドラーによって表示されるメッセージ)
Document Definition を編集するユーザーは、常に元の未ローカライズの値を使って作業します。文書エディターで作業するオペレーターには、オペレーターの UI の言語でローカライズされた値が表示されます。
Document Definitions は、次の手順でローカライズされます。
- ローカライズが必要な文字列の識別子がテキストファイルにエクスポートされます。
- テキストファイル内の各文字列識別子に対して、ローカライズ済みのテキストを指定します。
- テキストファイル内のローカライズ済みテキストと対応する識別子 (これらを総称して「ローカライズ」と呼びます) が、Document Definition にエクスポートされます。
ローカライズは、そのローカライズで使用されている識別子を持つ文字列を含む Document Definition にのみエクスポートされます。
ローカライズ ファイルは、ローカライズされた文字列の一覧を含む TXT ファイルです。このファイル内の文字列は、表示先のインターフェイス要素の種類 (field 名、Document Definition 名、シェル メッセージ、スクリプト メッセージ) ごとに分類され、さらに名前のアルファベット順に並べられています。「Localization Options」ダイアログには、ローカライズ ファイルを作成および管理するためのコントロールがあります。
まだ翻訳されていないローカライズ ファイル内の文字列の例:
この例では、BANK_CODE は string の識別子です。Document Definition 内で、同じ識別子を持つ他の field を設定することはできません。この識別子は、field の名前に基づくか、テンプレート FC_<field の番号> を使用するかのいずれかの方法で自動的に生成されます。
この識別子の後にはコンマが付き、その後にユーザーに表示される string が引用符 (“Bank code”) で囲まれて続きます。この string が、ローカライズ時に翻訳される部分です。
string を翻訳して Document Definition に再インポートすると、ローカライズされた string の後に、コメント区切り文字 (スラッシュ 2 つ) と元の string (“Bank Code”) が自動的に追加されます。元の string は、Document Definition を編集するユーザーに表示されるデフォルトの string です。
上記の string をロシア語にローカライズすると、次のようになります。
BANK_CODE ,"Код банка" // "Bank Code"
ローカライズファイルの構文:
- 文字列の識別子と文字列本体は、コンマ (,) で区切ります
- コメントは、コメント区切り文字 (//) で始まります
- 文字列は引用符 (“String”) で囲みます
- 文字列内の引用符の前には、バックスラッシュ (”) を付ける必要があります
- 文字列内のバックスラッシュの前には、バックスラッシュ (****) を付ける必要があります
- 改行は、改行文字シーケンス \n で表します。
ローカライズファイルを使用してDocument Definitionをローカライズする
- Document Definition エディターで、Document Definition → Localization → Localization Options… をクリックします。
- ローカライズファイルを作成する言語を選択し (ローカライズファイルがない言語はステータスが Nonlocalized です) 、Export… ボタンをクリックします。
- 開いたダイアログで、ローカライズファイルの保存先フォルダーとファイル名を指定します。
- ローカライズ ファイルをテキストエディターで開き、文字列を翻訳します。
- ファイルを保存します。Unicode でエンコードされていることを確認してください。
ローカライズ ファイルを Document Definition にインポートする
- Document Definition エディターで、Document Definition → Localization → Localization Options… をクリックします。
- 一覧からローカライズ ファイルをインポートする対象の言語を選択し、[Import…] ボタンをクリックします。
- 開いたダイアログで、ローカライズ ファイルのパスを指定します。
- ローカライズ ファイルがインポートされると、その言語のステータスは Localized に変わります。
- Document Definition を保存します。
ローカライズ ファイルをインポートした後も、Document Definition エディターのデータ フォームには既定の (ローカライズされていない) テキストが引き続き表示されます。ローカライズされたテキストが表示されるのは、文書エディター内だけです。Project Setup Station のユーザーがローカライズされたテキストを表示できるのは、Document Definitions をテストする場合に限られ、さらに、そのローカライズの言語が FC のインターフェイス言語として選択されている場合のみです。
ローカライズされた文字列が元の文字列より長い場合、データ フォーム上の field は、その長い文字列に対応できるよう移動されます。
- Document Definition エディターで、Document Definition を開き、[ローカライズ] → [Localization Options]… をクリックします。
- 削除するローカライズの言語を選択します (ローカライズが利用可能な言語のステータスは「Localized」です) 。
- 言語のステータスが「Nonlocalized」に変わります。
ユーザースクリプト (スクリプトルールやイベントハンドラーなど) のメッセージをローカライズするには、各メッセージに対して識別子を作成し、各メッセージのローカライズ済みテキストを用意したうえで、スクリプトコード内でその識別子を参照します。
ユーザースクリプトのメッセージをローカライズファイルにエクスポートするには、Document Definition → Localization → Localization Options… をクリックします。続いてメッセージを翻訳し、この記事の「ローカライズファイルを Document Definition にインポートする」セクションの説明に従って、ローカライズファイルを Document Definition にインポートします。
ローカライズされたユーザースクリプトのメッセージは、FC で対応するインターフェイス言語が選択されている場合に表示されます。
Document Definition エディターで、Document Definition → Localization → Localizable Script Messages… をクリックします。
使用可能なすべてのエラーメッセージの一覧を含むダイアログが開きます。メッセージを編集するには、Add…、Edit…、Delete ボタンをクリックします。Add… または Edit… をクリックして開くダイアログでは、メッセージ名とそのデフォルトテキストを変更できます。
スクリプトからローカライズされたメッセージを呼び出す
ユーザースクリプトからメッセージを呼び出すには、FCTools.LocalizedStrings オブジェクトを使用します。このオブジェクトでは IProperties メソッドを使用します。
次のコードサンプルは、identifier MY_ MESSAGE_1 を持つローカライズされたメッセージを返します。
FCTools.LocalizedStrings.Get ("MY _MESSAGE_1")