メインコンテンツへスキップ
ローカライズされた 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 は、次の手順でローカライズされます。
  1. ローカライズが必要な文字列の識別子がテキストファイルにエクスポートされます。
  2. テキストファイル内の各文字列識別子に対して、ローカライズ済みのテキストを指定します。
  3. テキストファイル内のローカライズ済みテキストと対応する識別子 (これらを総称して「ローカライズ」と呼びます) が、Document Definition にエクスポートされます。
ローカライズは、そのローカライズで使用されている識別子を持つ文字列を含む Document Definition にのみエクスポートされます。

ローカライズ ファイル

ローカライズ ファイルは、ローカライズされた文字列の一覧を含む TXT ファイルです。このファイル内の文字列は、表示先のインターフェイス要素の種類 (field 名、Document Definition 名、シェル メッセージ、スクリプト メッセージ) ごとに分類され、さらに名前のアルファベット順に並べられています。「Localization Options」ダイアログには、ローカライズ ファイルを作成および管理するためのコントロールがあります。 まだ翻訳されていないローカライズ ファイル内の文字列の例:
BANK_CODE ,"Код банка"
この例では、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をローカライズする

ローカライズファイルの作成

  1. Document Definition エディターで、Document Definition → Localization → Localization Options… をクリックします。
  2. ローカライズファイルを作成する言語を選択し (ローカライズファイルがない言語はステータスが Nonlocalized です) 、Export… ボタンをクリックします。
  3. 開いたダイアログで、ローカライズファイルの保存先フォルダーとファイル名を指定します。

ローカライズ ファイルを編集する

  1. ローカライズ ファイルをテキストエディターで開き、文字列を翻訳します。
  2. ファイルを保存します。Unicode でエンコードされていることを確認してください。

ローカライズ ファイルを Document Definition にインポートする

  1. Document Definition エディターで、Document Definition → Localization → Localization Options… をクリックします。
  2. 一覧からローカライズ ファイルをインポートする対象の言語を選択し、[Import…] ボタンをクリックします。
  3. 開いたダイアログで、ローカライズ ファイルのパスを指定します。
  4. ローカライズ ファイルがインポートされると、その言語のステータスは Localized に変わります。
  5. Document Definition を保存します。
ローカライズ ファイルをインポートした後も、Document Definition エディターのデータ フォームには既定の (ローカライズされていない) テキストが引き続き表示されます。ローカライズされたテキストが表示されるのは、文書エディター内だけです。Project Setup Station のユーザーがローカライズされたテキストを表示できるのは、Document Definitions をテストする場合に限られ、さらに、そのローカライズの言語が FC のインターフェイス言語として選択されている場合のみです。 ローカライズされた文字列が元の文字列より長い場合、データ フォーム上の field は、その長い文字列に対応できるよう移動されます。

ローカライズの削除

  1. Document Definition エディターで、Document Definition を開き、[ローカライズ] → [Localization Options]… をクリックします。
  2. 削除するローカライズの言語を選択します (ローカライズが利用可能な言語のステータスは「Localized」です) 。
  3. 言語のステータスが「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")