AEM Formsでは、英語 (en)、スペイン語 (es)、フランス語 (fr)、イタリア語 (it)、ドイツ語 (de)、日本語 (ja)、ポルトガル語 — ブラジル語 (pt-BR)、中国語 (zh-TW)、韓国語 (ko-KR) のロケールを初期設定でサポートしています。 Hindi(hi_IN) のように、より多くのロケールのサポートを追加することもできます。
アダプティブフォームのローカライゼーションは、次の 2 種類のロケール辞書に基づいています。
フォーム固有の辞書は、アダプティブフォーム使用する文字列を含みます。例えば、ラベル、フィールド名、エラーメッセージ、ヘルプの説明などです。 各ロケールごとに、XLIFF ファイルのセットの形で管理されています。[author-instance]/libs/cq/i18n/gui/translator.html
からアクセスできます。
グローバル辞書 2 つのグローバル辞書があり、AEM クライアントライブラリで JSON オブジェクトの形で管理されています。これらの辞書にはデフォルトのエラーメッセージ、12 か月の名前、通貨シンボル、日付と時間のパターンなどが含まれます。これらの辞書は、 [author-instance]/libs/fd/xfaforms/clientlibs/I18N
. これらの場所には、ロケールごとに別々のフォルダーが含まれます。 グローバル辞書は頻繁に更新されないので、各ロケールで別々の JavaScript ファイルを保持することで、同じサーバー上の異なるアダプティブフォームにアクセスする際にブラウザーがそれらをキャッシュし、ネットワーク帯域幅の使用量を削減できます。
新しいロケールのサポートを追加する手順は、次のとおりです。
AEM Formsでは現在、アダプティブFormsコンテンツのローカライゼーションを英語 (en)、スペイン語 (es)、フランス語 (fr)、イタリア語 (it)、ドイツ語 (de)、日本語 (ja)、ポルトガル語 — ブラジル語 (pt-BR)、中国語 (zh-TW)、韓国語 (ko-KR) のロケールでサポートしています。
アダプティブフォーム実行時に新しいロケールのサポートを追加するには、次を参照してください。
git clone https://git.cloudmanager.adobe.com/<my-org>/<my-program>/
.を Guide Localization Service.cfg.json
ファイルを作成し、追加するロケールを、サポート対象のロケールのリストに追加します。
という名前のファイルを作成します。 Guide Localization Service.cfg.json
ファイルに含めます(存在しない場合)。
etc/clientlibs
フォルダー。locale-name
under etc/clientlibs
xfa および af clientlibs のコンテナとして機能します。という名前のノードを作成します。 [locale-name]_xfa
と入力します。 cq:ClientLibraryFolder
under etc/clientlibs/locale_name
、カテゴリ xfaforms.I18N.<locale>
をクリックし、次のファイルを追加します。
/etc/clientlibs/fd/xfaforms/I18N/ja/I18N
で定義されている <locale>
の xfalib.locale.Strings
を定義している I18N.js。という名前のノードを作成します。 [locale-name]_af
と入力します。 cq:ClientLibraryFolder
under etc/clientlibs/locale_name
、カテゴリを guides.I18N.<locale>
および依存関係 xfaforms.3rdparty
, xfaforms.I18N.<locale>
および guide.common
.
という名前のフォルダーを作成します。 javascript
次のファイルを追加します。
guidelib.i18n
を定義し、datePatterns
の「calendarSymbols」、timePatterns
、dateTimeSymbols
、numberPatterns
、numberSymbols
、currencySymbols
、typefaces
、<locale>
のパターンを持つファイルです。これらはロケールセットの仕様に記載されている XFA 仕様に従います。/etc/clientlibs/fd/af/I18N/fr/javascript/LogMessages.js
で定義された <locale>
の guidelib.i18n.strings
と guidelib.i18n.LogMessages
を定義します。追加 js.txt には、次の情報が含まれます。
i18n.js
LogMessages.js
追加する <locale>
が、en
、de
、es
、fr
、it
、pt-br
、zh-cn
、zh-tw
、ja
、ko-kr
以外の場合にのみ、この手順を実行してください。
フォルダーの作成 languages
under etc
(まだ存在しない場合)
既に存在しない場合は、複数の値を持つ文字列プロパティ languages
をノードに追加します。
既に存在しない場合は、<locale-name>
デフォルトのロケール値de
、es
、fr
、it
、pt-br
、zh-cn
、zh-tw
、ja
、ko-kr
を追加します。
<locale>
を /etc/languages
の languages
プロパティの値に追加します。
新しく作成したフォルダーを filter.xml
etc/META-INF/の下[フォルダー階層] 形式:
<filter root="/etc/clientlibs/[locale-name]"/>
<filter root="/etc/languages"/>
変更をAEM Git リポジトリにコミットする前に、 Git リポジトリ情報.
新しいロケールサポートを追加した後、変更を GIT リポジトリにコミットします。 フルスタックパイプラインを使用してコードをデプロイします。 学ぶ パイプラインの設定方法 新しいロケールサポートを追加する。
パイプラインが完了すると、新しく追加されたロケールがAEM環境に表示されます。
新しく追加されたロケールを使用してアダプティブフォームを使用およびレンダリングするには、次の手順を実行します。
&afAcceptLang=<locale-name>
アダプティブフォームの URL 内で使用する必要があります。アダプティブフォームのロケールを識別する方法は 2 つあります。 アダプティブフォームがレンダリングされると、リクエストされたロケールが次のように識別されます。
の取得 [local]
セレクターを使用して、アダプティブフォームの URL 内で選択することができます。 URL の形式は、http://host:[port]/content/forms/af/[afName].[locale].html?wcmmode=disabled
です。[local]
セレクターを使用すると、アダプティブフォームをキャッシュできます。
リストに表示された順序で次のパラメーターを取得します。
リクエストパラメーターafAcceptLang
ユーザーのブラウザーロケールを上書きするには、
afAcceptLang
リクエストパラメーターを渡して、ロケールを強制します。例えば、次の URL は、強制的にカナダ語とフランス語のロケールでフォームをレンダリングします。
https://'[server]:[port]'/<contextPath>/<formFolder>/<formName>.html?wcmmode=disabled&afAcceptLang=ca-fr
ユーザー向けに設定されるブラウザーのロケールです。これは、Accept-Language
ヘッダーを使用したリクエストで指定されます。
リクエストされたロケールでクライアントライブラリが存在しない場合、ロケールに含まれる言語コードがクライアントライブラリに存在しないかチェックします。例えば、要求されたロケールが en_ZA
(南アフリカ英語)と en_ZA
が存在しない場合、アダプティブフォームは次のクライアントライブラリを使用します: en
(英語)言語(存在する場合)。 ただし、どちらも存在しない場合、アダプティブフォームでは en
ロケールの辞書が使用されます。
ロケールが識別されると、アダプティブフォームはフォーム固有の辞書を選択します。 リクエストされたロケールのフォーム固有の辞書が見つからない場合、アダプティブフォームが作成されている言語用の辞書が使用されます。
ロケール情報が存在しない場合、アダプティブフォームはフォームの元の言語で配信されます。元の言語は、アダプティブフォームの開発時に使用する言語です。
取得 サンプルクライアントライブラリ 新しいロケールのサポートを追加する場合。 必要なロケールでフォルダーのコンテンツを変更する必要があります。
Adobeは、アダプティブフォームを作成した後に翻訳プロジェクトを作成することをお勧めします。
既存のアダプティブフォームに新しいフィールドが追加された場合:
[server:port]/libs/cq/i18n/gui/translator.html
. 新しく追加されたフィールドの辞書を更新し、アップロードします。