アダプティブフォームのローカリゼーション用に新しいロケールをサポート supporting-new-locales-for-adaptive-forms-localization
ロケールの辞書について about-locale-dictionaries
アダプティブフォームのローカリゼーションは、次の 2 種類のロケールの辞書に基づいています。
フォーム固有の辞書 は、アダプティブフォーム使用する文字列を含みます。例えば、ラベル、フィールド名、エラーメッセージ、ヘルプの説明文などです。各ロケールに対して XLIFF ファイルのセットとして管理され、https://でアクセスできます<host>:<port>/libs/cq/i18n/translator.html.
グローバル辞書 2 つのグローバル辞書があり、AEM クライアントライブラリで JSON オブジェクトの形で管理されています。これらの辞書にはデフォルトのエラーメッセージ、12 か月の名前、通貨シンボル、日付と時間のパターンなどが含まれます。これらの辞書は CRXDe Lite の /libs/fd/xfaforms/clientlibs/I18N にあります。これらの場所では、各ロケールごと別々のフォルダーが用意されています。グローバル辞書は通常頻繁には更新されないので、ロケールごとに別々の JavaScript ファイルを保持することで、同じサーバー上の異なるアダプティブフォームにアクセスする際にブラウザーがそれらをキャッシュし、ネットワーク帯域幅の使用量を削減できます。
アダプティブフォームのローカリゼーションの仕組み how-localization-of-adaptive-form-works
アダプティブフォームがレンダリングされると、指定された順序で次のパラメーターを調べることで、要求されたロケールを識別します。
-
リクエストパラメーター
afAcceptLangユーザーのブラウザーロケールを上書きするには、
afAcceptLangリクエストパラメーターを使用して、ロケールを強制的に指定します。 例えば、次の URL は日本語ロケールでのフォームのレンダリングを強制します。https://[*server*]:[*port*]/<*contextPath*>/<*formFolder*>/<*formName*>.html?wcmmode=disabled&afAcceptLang=ja -
ユーザー向けに設定されるブラウザーのロケールです。これは、
Accept-Languageヘッダーを使用したリクエストで指定されます。 -
AEM のユーザー指定の言語設定です。
ロケールが識別されると、アダプティブフォームはフォームに固有の辞書を参照します。リクエストされたロケールのフォーム固有の辞書が見つからない場合は、英語 (en) 辞書が使用されます。
リクエストされたロケールでクライアントライブラリが存在しない場合、ロケールに含まれる言語コードがクライアントライブラリに存在しないかチェックします。例えば、リクエストされたロケールが en_ZA(南アフリカ英語)でen_ZA用のクライアントライブラリが存在しない場合、アダプティブフォームは、en(英語)言語が存在する場合、このクライアントライブラリを使用します。ただし、どちらも存在しない場合、アダプティブフォームではenロケールの辞書が使用されます。
サポートされていないロケールにローカリゼーションのサポートを追加する add-localization-support-for-non-supported-locales
AEM Formsでは現在、英語 (en)、スペイン語 (es)、フランス語 (fr)、イタリア語 (it)、ドイツ語 (de)、日本語 (ja)、ポルトガル語 — ブラジル語 (pt-BR、中国語 —(zh-CN)、中国語 — 台湾 (zh-TW)、韓国語 (ko-KR) ロケールのアダプティブフォームコンテンツのローカライゼーションをサポートしています。
アダプティブフォーム実行時に新しいロケールのサポートを追加するには、次を参照してください。
Guide Localization Service へのロケールの追加 add-a-locale-to-the-guide-localization-service-br
https://[server]:[port]/system/console/configMgrにアクセスします。- Guide Localization Service をクリックしてコンポーネントを編集します。
- 追加するロケールを、サポート対象のロケールのリストに追加します。
XFA クライアントライブラリをロケール用に追加 add-xfa-client-library-for-a-locale-br
etc/<folderHierarchy> の下にカテゴリ xfaforms.I18N.<locale> のタイプ cq:ClientLibraryFolder のノードを作成し、次のファイルをクライアントライブラリに追加します。
-
/etc/clientlibs/fd/xfaforms/I18N/ja/I18Nで定義されている<locale>のxfalib.locale.Stringsを定義している I18N.js。 -
以下を含む js.txt ファイル。
/libs/fd/xfaforms/clientlibs/I18N/Namespace.js
I18N.js
/etc/clientlibs/fd/xfaforms/I18N/LogMessages.js
アダプティブフォームのクライアントライブラリをロケール用に追加する add-adaptive-form-client-library-for-a-locale-br
etc/<folderHierarchy> の下にタイプ cq:ClientLibraryFolder のノードを作成します。カテゴリは guides.I18N.<locale>、依存関係は xfaforms.3rdparty、xfaforms.I18N.<locale>、guide.common です。
クライアントライブラリに次のファイルを追加します。
-
i18n.js は
guidelib.i18nを定義し、<locale>の「calendarSymbols」、datePatterns、timePatterns、dateTimeSymbols、numberPatterns、numberSymbols、currencySymbols、typefacesのパターンを持つファイルです。これらはロケールセットの仕様に記載されている XFA 仕様に従います。また、サポート対象の他のロケールがどのように定義されているか、/etc/clientlibs/fd/af/I18N/fr/javascript/i18n.jsで確認することができます。 -
LogMessages.js は、
/etc/clientlibs/fd/af/I18N/fr/javascript/LogMessages.jsで定義された<locale>のguidelib.i18n.stringsとguidelib.i18n.LogMessagesを定義します。 -
以下を含む js.txt ファイル。
i18n.js
LogMessages.js
辞書のロケールサポートの追加 add-locale-support-for-the-dictionary-br
追加する <locale> が、en、de、es、fr、it、pt-br、zh-cn、zh-tw、ja、ko-kr 以外の場合にのみ、この手順を実行してください。
-
既に存在しない場合は、
nt:unstructuredの下に、languagesノードetcを作成します。 -
既に存在しない場合は、複数の値を持つ文字列プロパティ
languagesをノードに追加します。 -
既に存在しない場合は、
<locale>デフォルトのロケール値de、es、fr、it、pt-br、zh-cn、zh-tw、ja、ko-krを追加します。 -
<locale>を/etc/languagesのlanguagesプロパティの値に追加します。
<locale> は https://[server]:[port]/libs/cq/i18n/translator.html に表示されます。
サーバーの再起動 restart-the-server
追加したロケールを有効にするために AEM サーバーを再起動します。
スペイン語サポートを追加する場合のサンプルライブラリ sample-libraries-for-adding-support-for-spanish
スペイン語サポートを追加する場合のサンプルクライアントライブラリ