La localisation des formulaires adaptatifs repose sur deux types de dictionnaires de paramètres régionaux :
Dictionnaire spécifique au formulaire : il contient des chaînes utilisées dans des formulaires adaptatifs. Par exemple, étiquettes, noms de champs, messages d’erreur, descriptions d’aide, etc. Il est géré sous forme de jeu de fichiers XLIFF pour chaque jeu de paramètres régionaux et accessible à l’adresse https://<host>:<port>/libs/cq/i18n/translator.html
.
Dictionnaires globaux : la bibliothèque client AEM comporte deux dictionnaires globaux, gérés en tant qu’objets JSON. Ces dictionnaires contiennent les messages d’erreur par défaut, les noms des mois, les symboles de devise, les modèles de date et d’heure, etc. Vous pouvez trouver ces dictionnaires dans CRXDe Lite, à l’adresse /libs/fd/xfaforms/clientlibs/I18N. Ces emplacements contiennent des dossiers distincts pour chaque jeu de paramètres régionaux. Étant donné que les dictionnaires globaux ne sont généralement pas mis à jour fréquemment, conserver des fichiers JavaScript distincts pour chaque jeu de paramètres régionaux permet aux navigateurs de les mettre en cache et de réduire l’utilisation de la bande passante du réseau lors de l’accès à différents formulaires adaptatifs sur le même serveur.
Deux méthodes permettent d’identifier les paramètres régionaux du formulaire adaptatif. Lors du rendu d’un formulaire adaptatif, il identifie les paramètres régionaux nécessaires en :
examinant le sélecteur [local]
dans l’URL du formulaire adaptatif. Le format d’URL est le suivant : http://host:port/content/forms/af/[afName].[locale].html?wcmmode=disabled
. L’utilisation du sélecteur [local]
permet de mettre en cache un formulaire adaptatif.
en examinant les paramètres ci-dessous dans l’ordre spécifié :
Paramètre de requête afAcceptLang
Pour remplacer les paramètres régionaux du navigateur des utilisateurs, vous pouvez transmettre le paramètre de demande
afAcceptLang
pour forcer les paramètres régionaux. Par exemple, l’URL ci-dessous force le rendu du formulaire dans les paramètres régionaux japonais :
https://'[server]:[port]'/<contextPath>/<formFolder>/<formName>.html?wcmmode=disabled&afAcceptLang=ja
La langue du navigateur défini pour l’utilisateur, qui est spécifiée dans la demande par le biais de l’en-tête Accept-Language
.
Paramètre de langue de l’utilisateur spécifié dans AEM.
Les paramètres régionaux du navigateur sont activés par défaut. Pour modifier les paramètres régionaux du navigateur :
http://[server]:[port]/system/console/configMgr
Une fois que le paramètre régional est identifié, le formulaire adaptatif sélectionne le dictionnaire qui lui est spécifique. Si le dictionnaire spécifique au formulaire pour les paramètres régionaux nécessaires est introuvable, il utilise le dictionnaire de la langue dans laquelle le formulaire adaptatif a été créé.
En l’absence d’informations sur les paramètres régionaux, le formulaire adaptatif est distribué dans la langue d’origine du formulaire. La langue d’origine est la langue utilisée lors du développement du formulaire adaptatif.
S’il n’existe pas de bibliothèque client pour les paramètres régionaux nécessaires, il cherche une bibliothèque cliente correspondant au code de langue présent dans les paramètres régionaux. Par exemple, si le paramètre régional requis est en_ZA
(anglais Afrique du sud) et qu’il n’existe pas de bibliothèque client correspondant à en_ZA
, le formulaire adaptatif utilise la bibliothèque client correspondant à la langue en
(anglais), si elle existe. Toutefois, si aucune de ces bibliothèques n’existe, le formulaire adaptatif utilise le dictionnaire correspondant au paramètre régional en
.
AEM Forms prend actuellement en charge la localisation du contenu des formulaires adaptatifs vers l’anglais (en), l’espagnol (es), le français (fr), l’italien (it), l’allemand (de), le japonais (ja), le portugais du Brésil (pt-BR), le chinois (zh-CN), le chinois de Taïwan (zh-TW) et le coréen (ko-KR).
Pour ajouter un nouveau paramètre régional lors de l’exécution des formulaires adaptatifs :
Ajouter des paramètres régionaux au service GuideLocalizationService
Ajouter une bibliothèque XFA cliente pour des paramètres régionaux
Ajouter la bibliothèque cliente de formulaires adaptatifs pour un paramètre régional
Ajouter la prise en charge des paramètres régionaux pour la langue du dictionnaire
https://'[server]:[port]'/system/console/configMgr
.Créez un nœud de type cq:ClientLibraryFolder
sous etc/<folderHierarchy>
, avec la catégorie xfaforms.I18N.<locale>
et ajoutez les fichiers ci-dessous à la bibliothèque cliente :
I18N.js qui définit xfalib.locale.Strings
pour <locale>
, comme défini dans /etc/clientlibs/fd/xfaforms/I18N/ja/I18N
.
js.txt qui contient les éléments suivants :
/libs/fd/xfaforms/clientlibs/I18N/Namespace.js
I18N.js
/etc/clientlibs/fd/xfaforms/I18N/LogMessages.js
Créez un nœud de type cq:ClientLibraryFolder
sous etc/<folderHierarchy>
, avec la catégorie guides.I18N.<locale>
et les dépendances xfaforms.3rdparty
, xfaforms.I18N.<locale>
et guide.common
.
Ajouter les fichiers suivants à la bibliothèque cliente :
guidelib.i18n
, comportant des motifs « calendarSymbols », datePatterns
, timePatterns
, dateTimeSymbols
, numberPatterns
, numberSymbols
, currencySymbols
, typefaces
pour <locale>
conformément aux spécifications XFA décrites dans Spécification du jeu de paramètres régionaux. Vous pouvez également voir comment les autres paramètres locaux sont définis sur /etc/clientlibs/fd/af/I18N/fr/javascript/i18n.js
.guidelib.i18n.strings
et guidelib.i18n.LogMessages
pour <locale>
, défini dans /etc/clientlibs/fd/af/I18N/fr/javascript/LogMessages.js
.i18n.js
LogMessages.js
Exécutez cette étape uniquement si l’élément <locale>
que vous ajoutez ne se trouve pas parmi en
, de
, es
, fr
, it
, pt-br
, zh-cn
, zh-tw
, ja
, ko-kr
.
Créez un nœud nt:unstructured
languages
sous etc
, s’il n’existe pas déjà.
Ajoutez une propriété comprenant plusieurs valeurs languages
au nœud, s’il ne sont pas déjà présents.
Ajoutez les valeurs des paramètres régionaux par défaut <locale>
de
, es
, fr
, it
, pt-br
, zh-cn
, zh-tw
, ja
, ko-kr
, si elles ne sont pas déjà présentes.
Ajoutez <locale>
aux valeurs de la propriété languages
de /etc/languages
.
L’élément <locale>
s’affiche au niveau de https://'[server]:[port]'/libs/cq/i18n/translator.html
.
Redémarrez le serveur AEM pour que les paramètres régionaux ajoutés entrent en vigueur.
Exemples de bibliothèques clientes pour ajouter la prise en charge de l’espagnol