Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

ローカライズのサポート

このページでは、InterSystems IRIS® のローカライズのサポートの概要を説明します。

概要

InterSystems IRIS はローカライズをサポートしています。これにより、アプリケーションを再設計せずに複数の国または複数の地域向けのアプリケーションを開発できます。ローカライズ・モデルは、以下のように動作します。

  • InterSystems IRIS には、一連の定義済みロケールが用意されています。InterSystems IRIS のロケールとは、ユーザの言語、通貨記号、書式、および特定の国または地域に固有のその他の規約を指定するメタデータのセットです。

    ロケールは、InterSystems IRIS データベースに書き込むときに使用する文字エンコードを指定します。また、他の文字エンコードとの間で文字変換を処理するために必要な情報も含まれます。

  • InterSystems IRIS サーバをインストールするときに、サーバの既定のロケールがインストーラによって設定されます。

    インストール後に既定のロケールを変更することはできませんが、必要に応じて、既定以外のロケールを使用するように指定できます。

  • 管理ポータルには、ブラウザ設定で固定の言語セットに指定されたローカル言語の文字列が表示されます。

  • 独自のアプリケーションに、ローカライズされた文字列を指定できます。"文字列のローカライズとメッセージ・ディクショナリ" を参照してください。このメカニズムは、REST サービスおよび Business Intelligence 要素に使用できます。

InterSystems IRIS のロケールと各国言語のサポート

InterSystems IRIS のロケールは、特定の国または地域に適用されるストレージと表示の規約を定義するメタデータのセットです。ロケールの定義には、以下が含まれます。

  • 数の形式

  • 日付と時刻の形式

  • 通貨記号

  • 文字のソート順

  • 標準 (ISO、Unicode、またはその他) によって定義される既定の文字セット (このロケールの文字エンコード)。

    InterSystems IRIS では、文字セット文字エンコードの語句を同義語として使用しますが、厳密には必ずしも同義ではありません。

  • 他のサポートされている文字セットとの間で文字を変換する変換テーブル (I/O テーブルとも呼ぶ) のセット。

    特定の文字セット (CP1250 など) の “変換テーブル” は、実際にはテーブルのペアです。1 つのテーブルは既定の文字セットを他言語文字セットに変換する方法を指定し、もう 1 つのテーブルは反対方向に変換する方法を指定します。InterSystems IRIS では、このテーブルのペアを 1 つの単位として参照して変換を実行します。

InterSystems IRIS は、各国言語サポート (NLS) という語句を使用して、ロケール定義を表示して拡張するために使用するツールとロケール定義を一括して示します。

管理ポータルには、既定のロケールを確認し、インストールされているロケールの詳細を表示してロケールを表示するページがあります。以下に例を示します。

A display of locale properties, where the Country is United States, the Language is English, and the Currency is dollars.

このページを使用して、利用可能な変換テーブルの名前を確認することもできます。それらの名前は InterSystems IRIS に固有のものです。(これらのテーブルの名前がわかっていることが必要な場合もあります。)

この管理ポータル・ページにアクセスして使用する方法の詳細は、"システム管理ガイド" の "管理ポータルの NLS ページの使用法" を参照してください。

InterSystems IRIS には、一連のクラスも用意されています (%SYS.NLS パッケージおよび Config.NLS パッケージ内)。"専用のシステム/ツールおよびユーティリティ" の "各国言語サポートのシステム・クラス" を参照してください。

既定の入出力テーブル

ロケール定義の外側で、特定の InterSystems IRIS インスタンスは、入出力アクティビティに特定の変換テーブルを使用するように既定で構成されています。具体的には、次の各シナリオで既定の変換テーブルを使用するように指定されています。

  • InterSystems IRIS プロセスとの通信時

  • InterSystems ターミナルとの通信時

  • ファイルの読み取りおよび書き込み時

  • TCP/IPデバイスの読み取りおよび書き込み時

  • オペレーティング・システムにパラメータ (ファイル名やパスなど) として送信される文字列の読み取りおよび書き込み時

  • プリンタなどのデバイスの読み取りおよび書き込み時

例えば、パラメータ (ファイル名やパスなど) として文字列を受け取るオペレーティング・システム関数を InterSystems IRIS から呼び出す必要がある場合、まず、呼び出し先の syscall に適した NLS 変換に文字列を渡します。この変換結果をオペレーティング・システムに送信します。

現在の既定値を確認するには、%SYS.NLS.TableOpens in a new tab を使用します。詳細は、クラス・リファレンスを参照してください。

ファイルと文字エンコード

データベースの外部にあるエンティティに対する読み取りまたは書き込みを行うときには、そのエンティティが InterSystems IRIS とは別の文字セット使用している可能性が常に存在します。最も一般的なシナリオは、ファイルの操作です。

最も低いレベルでは、Open コマンドを使用してファイルまたは他のデバイスを開きます。このコマンドは、文字をデバイス間で変換するときに使用する変換テーブルを指定したパラメータを受け入れることができます。詳細は、"入出力デバイス・ガイド" を参照してください。InterSystems IRIS は、必要に応じてそのテーブルを使用して文字を変換します。

同様に、オブジェクト・ベースのファイル API を使用する場合は、ファイルの TranslateTable プロパティを指定します。

(プロダクション・アダプタ・クラスには、他言語文字セットを指定するためのこれに代わるプロパティがあり、入力データとして想定している文字エンコード・システムおよび出力データで目的とする文字エンコードとして使用されます。この場合、インターシステムズでサポートしているセットから選択して標準の文字セット名を指定します。)

文字の手動変換

InterSystems IRIS の $ZCONVERT 関数を使用すると、文字を別の文字セットとの間で手動で変換できます。

FeedbackOpens in a new tab