Internazionalizzate i componenti e le finestre di dialogo in modo che le stringhe di interfaccia possano essere presentate in lingue diverse. I componenti progettati per l’internazionalizzazione consentono l’esternalizzazione, la conversione e l’importazione nella directory archivio delle stringhe di interfaccia. In fase di esecuzione, le preferenze della lingua dell'utente o le impostazioni internazionali della pagina determinano la lingua visualizzata nell'interfaccia utente.
Per internazionalizzare i componenti e fornire l’interfaccia in lingue diverse, effettuate le seguenti operazioni:
Implementate i componenti utilizzando il codice che internazionalizza le stringhe. Il codice identifica le stringhe da tradurre e seleziona la lingua da presentare in fase di esecuzione.
Create dizionari e aggiungete le stringhe inglesi per tradurre.
Esportare il dizionario in formato XLIFF, tradurre le stringhe, quindi importare nuovamente i file XLIFF in AEM. In alternativa, è possibile aggiungere manualmente traduzioni al dizionario.
Incorpora il dizionario nel processo di gestione della versione dell’applicazione.
I metodi descritti qui per internazionalizzare i componenti sono destinati alla conversione di stringhe statiche. Quando le stringhe di componente devono cambiare, è consigliabile utilizzare i flussi di lavoro di traduzione convenzionali. Ad esempio, quando gli autori possono modificare una stringa dell’interfaccia utente utilizzando le proprietà nella finestra di dialogo Modifica di un componente, non è consigliabile utilizzare un dizionario della lingua per internazionalizzare la stringa.
Il framework di internazionalizzazione AEM utilizza dizionari nell'archivio per memorizzare le stringhe in inglese e le relative traduzioni in altre lingue. Il framework utilizza l'inglese come lingua predefinita. Le stringhe sono identificate dalla relativa versione in inglese. In genere, i framework di internazionalizzazione utilizzano ID alfanumerici per le stringhe di interfaccia utente. L’utilizzo della versione inglese della stringa come ID presenta diversi vantaggi:
Le stringhe localizzate possono essere memorizzate in diversi dizionari nella directory archivio. AEM dizionari di sistema 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 singolo oggetto ResourceBundle
. Quando viene eseguito il rendering dei componenti, questi recuperano le stringhe tradotte dal bundle di risorse. I dizionari combinati vengono inoltre distribuiti 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 una singola posizione centrale.
Non modificare i dizionari di sistema AEM che si trovano sotto il nodo /libs
.
Le stringhe nei dizionari sotto il nodo /apps
sostituiscono le stringhe duplicate nei dizionari che si trovano sotto il 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 in dizionari situati tutti sotto il nodo /apps
.