Internazionalizzazione dei componenti internationalizing-components
Internazionalizza i componenti e le finestre di dialogo in modo che le relative stringhe dell’interfaccia utente possano essere presentate in lingue diverse. I componenti progettati per l’internazionalizzazione consentono di esternalizzare, tradurre e importare le stringhe dell’interfaccia utente nell’archivio. In fase di esecuzione, le preferenze della lingua dell’utente o le impostazioni locali della pagina determinano quale lingua viene visualizzata nell’interfaccia utente.
Utilizza il seguente processo per internazionalizzare i componenti e fornire l’interfaccia utente in diverse lingue:
-
Implementare i componenti utilizzando codice che internazionalizza le stringhe. Il codice identifica le stringhe da tradurre e seleziona la lingua da presentare in fase di esecuzione.
-
Crea dizionari e aggiungi le stringhe inglesi da tradurre.
-
Esporta il dizionario in formato XLIFF, traduci le stringhe, quindi importa i file XLIFF di nuovo in AEM. In alternativa, è possibile aggiungere manualmente le traduzioni al dizionario.
-
Incorporare il dizionario nel processo di gestione delle versioni dell'applicazione.
Dizionari di lingua language-dictionaries
Il framework di internazionalizzazione AEM utilizza i dizionari nel repository per memorizzare le stringhe inglesi e le loro traduzioni in altre lingue. Il framework utilizza l'inglese come lingua predefinita. Le stringhe vengono identificate utilizzando la loro versione inglese. In genere, i framework di internazionalizzazione utilizzano ID alfanumerici per le stringhe dell’interfaccia utente. L’utilizzo della versione inglese della stringa come ID presenta diversi vantaggi:
- Il codice è facile da leggere.
- La lingua predefinita è sempre disponibile.
Le stringhe localizzate possono essere memorizzate in diversi dizionari dell'archivio. I dizionari di sistema AEM si trovano sotto il nodo /libs
. È possibile creare dizionari per i componenti sotto il nodo /apps
. Il framework di internazionalizzazione AEM combina i dizionari e li rende disponibili in Sling come un singolo oggetto ResourceBundle
. Quando i componenti vengono sottoposti a rendering, recuperano le stringhe tradotte dal bundle di risorse. I dizionari combinati vengono distribuiti anche sul server web in formato JSON per fornire stringhe tradotte al codice JavaScript nelle pagine web.
Inoltre, lo strumento di traduzione consente di gestire tutti i dizionari da un'unica posizione centrale.
/libs
.Sovrapposizione di stringhe nei dizionari di sistema overlaying-strings-in-system-dictionaries
Le stringhe nei dizionari al di sotto del nodo /apps
sostituiscono le stringhe duplicate nei dizionari al di sotto del nodo /libs
. Se i componenti utilizzano stringhe incluse nei dizionari di sistema AEM, duplicare la stringa nel proprio dizionario. Tutti i componenti utilizzeranno le stringhe del dizionario.
Non è possibile prevedere quale traduzione viene utilizzata quando le stringhe vengono duplicate nei dizionari che si trovano tutti sotto il nodo /apps
.