B.6. 複数の言語での情報の保存
ディレクトリーに単一の言語が含まれる場合は、ディレクトリーに新しいエントリーを追加するための特別な作業を行う必要はありません。ただし、組織が多国籍である場合は、異なるロケールのユーザーが自分の言語でディレクトリー情報を閲覧できるように、情報を複数の言語で保存する必要があるかもしれません。
ディレクトリー内の情報が複数の言語で表される場合、サーバーは言語タグを属性値に関連付けます。新しいエントリーが追加されると、RDN (相対識別名、命名属性) で使用される属性値は、言語コードなしで指定する必要があります。
複数の言語を 1 つの属性に保存できます。この場合、属性タイプは同じですが、各値には異なる言語コードがあります。
Directory Server がサポートする言語とその関連する言語タグのリストは、「サポート対象のロケール」を参照してください。
注記
言語タグは、文字列がディレクトリー内にどのように保存されるかには影響しません。すべてのオブジェクトクラスおよび属性文字列は UTF-8 を使用して保存されます。ユーザーは、LDIF で使用されるデータを UTF-8 に変換します。ほとんどのオペレーティングシステムが提供する iconv または uconv コマンドを使用して、ネイティブ文字セットからデータを UTF-8 に変換できます。
たとえば、アメリカとフランスにオフィスを持つ Example Corporation は、社員が母国語でディレクトリー情報を閲覧できるようにしたいと考えています。ディレクトリーエントリーを追加すると、ディレクトリー管理者は英語とフランス語の両方で属性値を指定します。新規従業員 Babs Jensen のディレクトリーエントリーを追加する際に、管理者は以下を行います。
- 管理者が、フランスの所在地住所値で
street.txt
ファイルを作成します。1 rue de l'Université
- ファイルのコンテンツは UTF-8 に変換されます。
# iconv -t UTF-8 -o output.txt street.txt
- 以下の LDIF エントリーは、
streetAddress;lang-fr
の street アドレス値の UTF-8 値を使用して作成されます。dn: uid=bjensen,ou=people,dc=example,dc=com objectclass: top objectclass: person objectclass: organizationalPerson name: Babs Jensen cn: Babs Jensen sn: Jensen uid: bjensen streetAddress: 1 University Street streetAddress;lang-en: 1 University Street streetAddress;lang-fr
:: AasljdoaAJASI023909jaASJaonasd0ADS
preferredLanguage: fr属性名とサブタイプの後にコロンは、値がバイナリーの base-64 でエンコードされたことを示しています。
推奨言語が英語に設定されている LDAP クライアントを使用して、このディレクトリーエントリーにアクセスすると、1 University Street アドレスが表示されます。設定言語がフランス語に設定された LDAP クライアントを持つディレクトリーにアクセスすると、アドレス 1 rue de l'Université が表示されます。