Internazionalizzazione dei componenti
- Argomenti:
- Sviluppo
Creato per:
- Sviluppatore
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.
- Esporta il dizionario in formato XLIFF, traduci le stringhe, quindi importa nuovamente i file XLIFF in AEM.
- Incorpora il dizionario nel processo di gestione del rilascio dell’applicazione.
Dizionari di lingua
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.
Lo strumento di traduzione consente di gestire tutti i dizionari da un'unica posizione centrale.
Le modifiche di traduzione devono provenire da Git tramite la pipeline CI/CD in AEM as a Cloud Service.
Sovrapposizione di stringhe nei dizionari di sistema
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
.