文書定義のローカライズ
ローカライズされた文書定義は、元々作成された言語以外の言語に翻訳された文書定義です。またABBYY FlexiCaptureのインストール時に、UI言語を選択できます。選択したUI言語で文書定義を利用できる場合、このローカライズしたバージョンが製品で使用されます。
文書定義をローカライズ時に、次の項目が翻訳されます:
- フィールドのキャプション、ボタン、データフォームのテキスト
- データセットレコードが追加や編集されるダイアログボックスのフィールド名
- トレーニングバッチにリンクされているベンダーを変更できるダイアログボックスのフィールド名
- 自動で検出されなかった領域を指定するときに、ユーザーに表示されるフィールドキャプション
- 文書エディタから呼び出される、データベース検索ダイアログボックスのフィールドキャプション
- データベース検索ダイアログボックスに表示されるドロップダウンリストの列名
- ルールエラーが発生すると、オペレータに表示されるルール名
- ユーザースクリプトメッセージ(例:スクリプトルール、エクスポート設定、イベントハンドラに表示されるメッセージ)
文書定義を編集するユーザーは、元のローカライズされていない値を常に使用します。まず、オペレータ文書エディタで作業すると、ローカライズされた値がオペレータUIの言語で表示されます。
ローカライズのプロセス
文書定義は次のようにローカライズされます:
- ローカライズが必要な文字列のIDは、テキストファイルにエクスポートされます。
- ローカライズしたテキストは、テキストファイルの各文字列IDに対して提供されます。
- テキストファイルからローカライズされたテキストと対応するID(総称して「ローカリゼーション」と呼ばれます)が、文書定義にエクスポートされます。
注:ローカリゼーションのエクスポート先は、ローカリゼーションで使用されるIDの文字列を含む文書定義にのみです。
ローカリゼーションファイル
ローカリゼーションファイルは、ローカライズされた文字列のリストを含むTXTファイルです。このファイル内の文字列は、表示されるインタフェース要素のタイプ(フィールド名、文書定義名、シェルメッセージ、スクリプトメッセージ)に沿って分類された後、名前のアルファベット順に分類されます。そのローカライズオプションダイアログボックスには、ローカリゼーションファイルの作成と管理をするコントロールが含まれています。
未翻訳のローカリゼーションファイル内の文字列の例:
BANK_CODE ,"Bank Code"
この例では、BANK_CODEが文字列のIDです。文書定義の他のフィールドには、同じIDを付けることはできません。このIDは2つの方法で自動生成されます。フィールド名を基にするか、テンプレートを使用します。FC_<フィールド数>。
IDの後にはカンマが続き、ユーザーに表示される文字列が引用符で囲まれています("銀行コード")。この文字列は、ローカリゼーション時に翻訳される部分です。
文字列が翻訳されて文書定義にインポートされると、コメントの区切り文字(2つのスラッシュ)に続けて元の文字列("Bank Code")がローカライズされた文字列の後に自動で追加されます。元の文字列は、文書定義を編集するユーザーに表示されるデフォルトの文字列です。
上記の文字列が日本語にローカライズされた場合、次のようになります。
BANK_CODE ,"銀行コード" // "Bank Code"
ローカリゼーションファイルの構文:
- 文字列のIDと文字列自体はコンマで区切られています(,)
- コメントの前にコメント区切り記号がきます(//)
- 文字列は引用符で囲まれています("文字列名")
- 文字列内の引用符の前にバックスラッシュがきます(\")
- 文字列のバックスラッシュの前にバックスラッシュがきます(\\)
- 改行は、改行文字シーケンスで示されます:\n。
ローカリゼーションファイルを使用した文書定義のローカライズ
ローカリゼーションファイルの作成
- 文書定義エディタで次をクリック:文書定義→ローカリゼーション→ローカライズオプション...。
- ローカリゼーションファイルを作成したい言語を選択します(ローカライゼーションファイルのない言語には未ローカライズステータスがあります)、次にエクスポート...ボタンをクリックして行ってください。
- 表示されたダイアログボックスで、ローカリゼーションファイルとファイル名を保存するフォルダを指定します。
ローカリゼーションファイルの編集
- ローカライゼーションファイルをテキストエディタで開き、文字列を翻訳します。
- ファイルを保存します。Unicodeでエンコードしてください。
ローカリゼーションファイルを文書定義へインポート
- 文書定義エディタで次をクリック:文書定義→ローカリゼーション→ローカライズオプション...。
- ローカリゼーションファイルをインポートする言語をリストから選択し、インポート...ボタンをクリックして行ってください。
- 表示されるダイアログボックスで、ローカリゼーションファイルへのパスを指定します。
- ローカリゼーションファイルをインポートすると、言語のステータスは次のように変わります:ローカライズ済み。
- 文書定義を保存します。
ローカリゼーションファイルをインポートした後、文書定義エディタのデータフォームにはデフォルトの(ローカライズされていないもの)テキストが含まれます。ローカライズされたテキストは、文書エディタにのみ表示されます。プロジェクトセットアップステーションのユーザーがローカライズしたテキストを閲覧できるのは、文書定義をテスト中かつ、ローカリゼーションの言語が次のインタフェース言語として選択されている場合のみです:ABBYY FlexiCapture。
ローカライズされた文字列が元の文字列よりも長い場合、データフォームのフィールドは長い文字列に対応するように移動されます。
ローカリゼーションの削除
- 文書定義エディタで文書定義を開き、次をクリックします:ローカリゼーション→ローカライズオプション...。
- 削除するローカリゼーションの言語を選択します(ローカライゼーションが利用可能な言語にはローカライズ済みステータスがあります)。
- 言語のステータスは次のように変わります:未ローカライズ。
ユーザースクリプトからのメッセージのローカライズ
ユーザースクリプト(スクリプトルールやイベントハンドラなど)からのメッセージをローカライズする場合は、各メッセージのIDを作成して、ローカライズしたテキストを与えて、スクリプトのコード内メッセージのIDを参照します。
ユーザースクリプトからローカリゼーションファイルにメッセージをエクスポートするには、次をクリックします:文書定義→ローカリゼーション→ローカライズオプション...。この記事の「ローカライゼーションファイルを文書定義へインポート」の説明に従って、メッセージを翻訳してローカライズファイルを文書定義にインポートできます。
ローカライズされたユーザースクリプトメッセージは、対応するインターフェイス言語が次で選択されると表示されます:ABBYY FlexiCapture。
文書定義エディタで次をクリック:文書定義→ローカリゼーション→ローカライズ可能なスクリプトメッセージ...。
想定される全エラーメッセージのリストがあるダイアログボックスが開きます。次に追加...,編集...と削除ボタンでメッセージを編集します。クリックするとダイアログボックスが開くので、追加...または編集...でメッセージ名とデフォルトのテキストを変更できます。
スクリプトからローカライズされたメッセージを呼び出す
ユーザースクリプトからメッセージを呼び出す場合は、FCTools.LocalizedStringsオブジェクトに変換します。このオブジェクトはIPropertiesメソッド。
次のコードサンプルは、次のIDを持つローカライズされたメッセージを返します→MY_ MESSAGE_1:
FCTools.LocalizedStrings.Get ("MY _MESSAGE_1")
12.04.2024 18:16:06