Show Menu
トピック×

アダプティブフォームのローカリゼーション用に新しいロケールをサポート

ロケールの辞書について

アダプティブフォームのローカリゼーションは、次の 2 種類のロケールの辞書に基づいています。
フォーム固有の辞書 :アダプティブフォームで使用される文字列を含みます。 例えば、ラベル、フィールド名、エラーメッセージ、ヘルプの説明文などです。It is managed as a set of XLIFF files for each locale and you can access it at https://<host>:<port>/libs/cq/i18n/translator.html .
グローバル辞書 2つのグローバル辞書があり、AEMクライアントライブラリでJSONオブジェクトとして管理されます。 これらの辞書にはデフォルトのエラーメッセージ、12 か月の名前、通貨シンボル、日付と時間のパターンなどが含まれます。これらの辞書は CRXDe Lite の /libs/fd/xfaforms/clientlibs/I18N にあります。これらの場所では、各ロケールごと別々のフォルダーが用意されています。グローバルの辞書は頻繁に更新されることはありません。各ロケールごとに別の JavaScript ファイルを保持することで、ブラウザーによりそれらがキャッシュされるため、同一サーバー上で異なるアダプティブフォームにアクセスする際に、ネットワーク帯域幅の使用量を減らすことができます。

アダプティブフォームのローカリゼーションの仕組み

アダプティブフォームがレンダリングされるときは、指定された順序で以下のパラメーターが参照され、リクエストされたロケールが識別されます。
  • リクエストパラメーター afAcceptLang ユーザーのブラウザーロケールを上書きするには、 afAcceptLang リクエストパラメーターを使用して、ロケールを強制的に設定します。 例えば、次のURLは日本語ロケールでのフォームのレンダリングを強制します。 https://'[server]:[port]'/<contextPath>/<formFolder>/<formName>.html?wcmmode=disabled&afAcceptLang=ja
  • The browser locale set for the user, which is specified in the request using the Accept-Language header.
  • AEM のユーザー指定の言語設定です。
ロケールが識別されると、アダプティブフォームはフォームに固有の辞書を参照します。リクエストされたロケールでフォームに固有の辞書が見つからない場合、代わりに英語辞書(en)が使用されます。
リクエストされたロケールでクライアントライブラリが存在しない場合、ロケールに含まれる言語コードがクライアントライブラリに存在しないかチェックします。例えば、リクエストされたロケールが en_ZA (南アフリカ英語)で en_ZA 用のクライアントライブラリが存在しない場合、アダプティブフォームは、 en (英語)言語が存在する場合、このクライアントライブラリを使用します。ただし、どちらも存在しない場合、アダプティブフォームでは en ロケールの辞書が使用されます。

サポートされていないロケールにローカリゼーションのサポートを追加する

AEM Formsは現在、英語(en)、スペイン語(es)、フランス語(fr)、イタリア語(it)、ドイツ語(de)、日本語(ja)、ポルトガル語(br)、中国語(zh-CN)、中国語(zh-TW)、韓国語(ko-KR)ロケールでのアダプティブフォームコンテンツのローカライゼーションをサポートしています。
アダプティブフォーム実行時に新しいロケールのサポートを追加するには、次を参照してください。

Add a locale to the Guide Localization service

  1. https://'[server]:[port]'/system/console/configMgr にアクセスします。
  2. Guide Localization Service ​をクリックしてコンポーネントを編集します。
  3. 追加するロケールを、サポート対象のロケールの一覧に追加します。

XFA クライアントライブラリをロケール用に追加する

次のタイプのノードを「 cq:ClientLibraryFolder etc/<folderHierarchy> xfaforms.I18N.<locale> 」、「」、「」、「」、「」、「」、「」、「」、「」、「」、「」、「」、「」、「」、「」、「」、「」、「」、「」、「」、「」、「」、」、「」、「」、「」の順に追加します。
  • で定義され ているとおり、I18N.js xfalib.locale.Strings <locale> の定義を参照してく /etc/clientlibs/fd/xfaforms/I18N/ja/I18N ださい。
  • 以下を含む js.txt ファイル。
/libs/fd/xfaforms/clientlibs/I18N/Namespace.js
I18N.js
/etc/clientlibs/fd/xfaforms/I18N/LogMessages.js

アダプティブフォームのクライアントライブラリをロケール用に追加する

の下にタイプのノードを作成し、にカテゴリを、に依存関係を、 cq:ClientLibraryFolder およびに依存関係 etc/<folderHierarchy> を付け guides.I18N.<locale> xfaforms.3rdparty xfaforms.I18N.<locale> guide.common ます。 "
クライアントライブラリに次のファイルを追加します。
  • i18n.jsを定義し、「calendarSymbols」, ,, guidelib.i18n , datePatterns , timePatterns , dateTimeSymbols , numberPatterns per the per described the per Locale Set localeの仕様, numberSymbols currencySymbols typefaces <locale> xfa_spec_3_3.pdf , You can also see how it is defined for other supported locales in /etc/clientlibs/fd/af/I18N/fr/javascript/i18n.js .
  • とを定義するLogMessages.js 。LogMessages.jsは、の定義に従っ guidelib.i18n.strings て、とを定義し guidelib.i18n.LogMessages <locale> /etc/clientlibs/fd/af/I18N/fr/javascript/LogMessages.js ます。
  • 以下を含む js.txt ファイル。
i18n.js
LogMessages.js

辞書のロケールサポートを追加する

Perform this step only if the <locale> you are adding is not among en , de , es , fr , it , pt-br , zh-cn , zh-tw , ja , ko-kr .
  1. Create an nt:unstructured node languages under etc , if not present already.
  2. すでに存在しない場合は、複数の値を持つ文字列プロパティ languages をノードに追加します。
  3. デ追加フォルトのロケール値(, <locale> , de , es ,, fr , it , pt-br zh-cn zh-tw ja ko-kr , , if not present already)。
  4. Add the <locale> to the values of the languages property of /etc/languages .
<locale> に表示され https://'[server]:[port]'/libs/cq/i18n/translator.html ます。

サーバーの再起動

追加したロケールを有効にするために AEM サーバーを再起動します。

スペイン語サポートを追加する場合のサンプルライブラリ

スペイン語サポートを追加する場合のサンプルクライアントライブラリ