Internationalisez vos composants et boîtes de dialogue de sorte que leurs chaînes d’IU puissent être présentées dans différentes langues. Les composants qui sont conçus pour l’internationalisation permettent d’externaliser et de traduire les chaînes d’IU, puis de les importer dans le référentiel. À l’exécution, les préférences linguistiques de l’utilisateur ou les paramètres régionaux de la page déterminent quelle langue s’affiche dans l’IU.
Utilisez le processus suivant pour internationaliser vos composants et fournir l’IU dans différentes langues :
Mettez en œuvre vos composants à l’aide d’un code qui internationalise les chaînes. Votre code reconnaît les chaînes à traduire et sélectionne la langue à présenter à l’exécution.
Créez des dictionnaires et ajoutez les chaînes en anglais à traduire.
Exportez le dictionnaire au format XLIFF, traduisez les chaînes, puis réimportez les fichiers XLIFF dans AEM. Vous pouvez également ajouter des traductions manuellement au dictionnaire.
Incluez le dictionnaire au processus de gestion de version de votre application.
Les méthodes décrites ci-après pour l’internationalisation des composants sont destinées à traduire les chaînes statiques. Si les chaînes d’un composant sont susceptibles de changer, vous devriez utiliser les workflows de traduction traditionnels. Par exemple, lorsque les auteurs peuvent modifier une chaîne de l’IU à l’aide de propriétés dans la boîte de dialogue de modification d’un composant, vous ne devriez pas utiliser de dictionnaire de langue pour internationaliser cette chaîne.
La structure d’internationalisation d’AEM utilise les dictionnaires dans le référentiel pour stocker les chaînes en anglais et leurs traductions dans d’autres langues. La structure utilise l’anglais comme langue par défaut. Les chaînes sont identifiées par leur version anglaise. En règle générale, les structures d’internationalisation utilisent des ID alphanumériques pour les chaînes de l’IU. L’utilisation de la version anglaise de la chaîne comme ID présente plusieurs avantages :
Les chaînes localisées peuvent être stockées dans plusieurs dictionnaires au sein du référentiel. Les dictionnaires système d’AEM se trouvent sous le nœud /libs
. Vous pouvez créer des dictionnaires pour vos composants sous le nœud /apps
. Le framework d’internationalisation d’AEM combine les dictionnaires et les rend disponibles dans Sling sous la forme d’un seul objet ResourceBundle
. Lorsque les composants sont rendus, ils récupèrent les chaînes traduites à partir du lot de ressources. Les dictionnaires combinés sont également déployés sur le serveur web au format JSON afin de fournir les chaînes traduites au code JavaScript dans les pages web.
De plus, l’outil de traduction vous permet de gérer tous les dictionnaires à partir d’un emplacement central.
Ne modifiez pas les dictionnaires système d’AEM qui se trouvent sous le nœud /libs
.
Les chaînes figurant dans les dictionnaires sous le nœud /apps
remplacent les chaînes en double dans les dictionnaires qui se trouvent sous le nœud /libs
. Si vos composants utilisent des chaînes qui sont incluses dans les dictionnaires système d’AEM, dupliquez la chaîne dans votre propre dictionnaire. Tous les composants utiliseront les chaînes de votre dictionnaire.
Notez que vous ne pouvez pas prédire quelle traduction est utilisée lorsque des chaînes sont dupliquées dans les dictionnaires qui se trouvent tous sous le nœud /apps
.