L'editor di traduzioni fornisce una visualizzazione consolidata e modificabile di tutte le tue risorse di stringhe predefinite e tradotte.
Per un'introduzione alla traduzione della tua app in lingue diverse, leggi Supportare lingue e culture diverse.
Figura 1. L'editor delle traduzioni che mostra il testo dell'app prima della traduzione
Risorse stringa
Le risorse stringa per un progetto sono contenute nei file strings.xml. Il tuo
progetto ha un file strings.xml predefinito che contiene risorse stringa nella
lingua predefinita per la tua app, ovvero la lingua che prevedi che la maggior parte degli utenti
della tua app parli. Puoi anche avere file strings.xml tradotti che contengono
risorse di stringhe per altre lingue che vuoi che la tua app supporti.
Una volta completato il file strings.xml predefinito, puoi aggiungere le traduzioni
in autonomia o pagare un servizio professionale per farlo.
In entrambi i casi, devi sfruttare le funzionalità di Android Studio per gestire e testare il testo localizzabile. Per informazioni sui servizi di traduzione professionale, consulta Servizi di traduzione.
Apri l'editor delle traduzioni
Puoi accedere all'editor di traduzioni dalle seguenti posizioni in Android Studio.
Aprire dalla visualizzazione Android
- Nel riquadro Project > Android a sinistra, seleziona ModuleName > res > values.
- Fai clic con il tasto destro del mouse sul file strings.xml e seleziona Apri Editor traduzioni.
L'editor delle traduzioni mostra le coppie chiave-valore del file
strings.xml.Nota:Quando hai tradotto i file
strings.xml, il tuo progetto ha più cartelle values corrispondenti con suffissi che indicano la lingua, ad esempio values-es per lo spagnolo. Il filestrings.xmlpredefinito si trova sempre nella cartella values (nessun suffisso).
La Figura 1 mostra il testo dell'app predefinito (in questo caso, in inglese) nell'editor Traduzioni per un'app semplice prima che sia stato eseguito il lavoro di traduzione. I contenuti dei file strings.xml tradotti vengono visualizzati a destra della colonna Non traducibile con una colonna per lingua, come mostrato nella figura 2.
Apri da strings.xml
Puoi accedere all'editor delle traduzioni da qualsiasi file strings.xml.
- Nel riquadro Progetto > Android a sinistra, seleziona ModuleName > res > values.
- Fai doppio clic su strings.xml per aprirlo e modificarlo.
- In strings.xml, fai clic sul link Apri editor nell'angolo in alto a destra.
Configurare le righe non traducibili
Nell'editor delle traduzioni, puoi selezionare Non traducibile per indicare che non vuoi che il testo in questa riga venga tradotto. Il testo che non vuoi tradurre potrebbe essere specifico del prodotto, ad esempio nomi commerciali e marchi o termini tecnici che non hanno una traduzione.
Quando selezioni Non traducibile, la riga corrispondente nel file
strings.xml predefinito aggiunge translatable="false". Nell'esempio seguente,
EasyApp nella prima riga non viene tradotto perché è il nome del prodotto.
<resources>
<string name="app_name" translatable="false">EasyApp</string>
<string name="action_settings">Settings</string>
<string name="easy_app">I am a Simple App!</string>
<string name="next_page">Next Page</string>
<string name="second_page_message">I am the Second Page!</string>
<string name="title_activity_second">SecondActivity</string>
</resources>
Aggiungere ed eliminare lingue
L'editor delle traduzioni supporta BCP 47 e combina i codici di località e regione (paese) in un'unica selezione per localizzazioni mirate. Le impostazioni internazionali definiscono più della lingua. Le impostazioni internazionali includono la formattazione dipendente dal paese per elementi come data e ora, valute e decimali.
Per aggiungere una lingua:
- Nell'editor delle traduzioni, fai clic sull'icona a forma di globo
. - Seleziona la lingua che vuoi aggiungere dall'elenco a discesa. La nuova lingua viene visualizzata nell'editor di traduzioni e al progetto viene aggiunta una cartella values-* con un file `strings.xml`. Ad esempio, values-es per lo spagnolo.
Per eliminare una lingua:
Puoi eliminare una lingua nell'editor delle traduzioni eliminando ogni valore nella colonna (vedi Modificare, aggiungere ed eliminare testo) oppure puoi eliminare la cartella del progetto per quella lingua nel seguente modo:
- Nel riquadro Progetto > Android a sinistra, seleziona ModuleName > res.
- Fai clic con il tasto destro del mouse sulla cartella values-* per la lingua che vuoi eliminare. Ad esempio, values-hi per l'hindi.
- Dall'elenco, seleziona Elimina per eliminare la cartella e il relativo file strings.xml.
Modificare, aggiungere ed eliminare testo
Puoi operare sulle impostazioni del testo direttamente nel file strings.xml o
tramite l'editor delle traduzioni. Questa sezione descrive l'approccio dell'editor
delle traduzioni. Nell'editor delle traduzioni, puoi modificare, aggiungere o eliminare
testo tramite la visualizzazione elenco o tramite il campo Traduzione in basso
dell'editor delle traduzioni.
Figura 2. Visualizzazione elenco in alto e campo Traduzione in basso
Visualizzazione elenco
Per modificare o aggiungere testo:
- Fai doppio clic sulla cella in cui vuoi modificare o aggiungere testo.
- Esegui un copia-incolla da tastiera oppure, se hai una tastiera che supporta i segni diacritici, digita direttamente nella visualizzazione elenco.
- Tabulazione o sposta il cursore fuori dal campo.
Per eliminare il testo:
- Fai doppio clic sulla cella che vuoi eliminare.
- Nella visualizzazione elenco, seleziona il testo e premi Elimina.
- Tabulazione o sposta il cursore fuori dal campo.
Campo Traduzione
Per modificare o aggiungere testo:
- Nella visualizzazione elenco, fai clic una sola volta sulla cella in cui vuoi modificare o aggiungere testo.
- Nel campo Traduzione, esegui un copia-incolla da tastiera, oppure, se hai una tastiera che supporta i segni diacritici, digita direttamente nel campo Traduzione.
- Tabulazione o sposta il cursore fuori dal campo.
Per eliminare il testo:
- Fai clic una sola volta sulla cella che vuoi eliminare.
- Nel campo Traduzione, seleziona il testo e premi Elimina.
Aggiungere ed eliminare chiavi
Nell'editor delle traduzioni, la colonna Chiave elenca gli identificatori univoci per
ogni elemento di dati nei tuoi file strings.xml. Puoi aggiungere ed eliminare chiavi tramite
l'editor di traduzioni. Quando elimini una chiave, l'editor delle traduzioni la elimina
insieme a tutte le traduzioni associate. L'editor delle traduzioni utilizza il refactoring di eliminazione sicura per eliminare una chiave, in modo da sapere se il testo della chiave viene utilizzato altrove e avere la possibilità di apportare le modifiche necessarie prima di eliminare la chiave. Il refactoring
Safe Delete garantisce che il codice venga compilato anche dopo l'eliminazione
della chiave.
Per aggiungere una chiave:
- Nell'editor delle traduzioni, fai clic su Aggiungi chiave
. - Nella finestra di dialogo, inserisci un nome chiave, un valore predefinito e la posizione del file
strings.xml predefinito.

Figura 3. Aggiungi una chiave
Per eliminare una chiave:
- Nell'editor delle traduzioni, seleziona la chiave che vuoi eliminare.
- Fai clic su Rimuovi chiavi
. - Nella finestra di dialogo Elimina, decidi se vuoi un'eliminazione sicura e se vuoi eseguire la ricerca nei commenti e nelle stringhe, quindi fai clic su Ok.

Figura 4. Finestra di dialogo Elimina
Se non sono presenti riferimenti (utilizzi) alla chiave eliminata o se tutti i riferimenti sono comprimibili in modo sicuro, la chiave viene eliminata. In caso contrario, l'editor delle traduzioni mostra la finestra di dialogo Utilizzi rilevati con informazioni sui problemi rilevati.
Figura 5. Finestra di dialogo Elimina
- Seleziona Visualizza utilizzi per esaminare gli elementi che verranno eliminati. La finestra di dialogo Trova conflitti
eliminazione sicura mostra tutti gli utilizzi che non è sicuro eliminare, in modo da
poter modificare il codice corrispondente.

Figura 6. Utilizzi non sicuri
- Fai clic con il tasto destro del mouse su un utilizzo per visualizzare il menu contestuale e seleziona Vai all'origine per apportare le modifiche necessarie.
- Nel riquadro Trova conflitti di eliminazione sicura, seleziona Esegui di nuovo l'eliminazione sicura per assicurarti che non ci siano altri utilizzi che richiedono attenzione.
- Una volta puliti gli utilizzi, fai clic su Esegui refactoring per eliminare la chiave.
Correggere gli errori
La figura 7 mostra l'editor delle traduzioni che visualizza i contenuti dei file
strings.xml in inglese, francese e spagnolo. Il testo in rosso indica le righe
che contengono errori.
Figura 7. Il testo rosso indica una condizione di errore che devi correggere
Per correggere un errore, passa il mouse sopra il testo rosso per visualizzare una spiegazione del problema e della relativa soluzione.
Quando apporti modifiche nell'editor di traduzioni, i file
strings.xml sottostanti vengono aggiornati con le tue modifiche. Quando apporti modifiche a un file
strings.xml, la colonna corrispondente nell'editor delle traduzioni
viene aggiornata con le modifiche.
Esempio di correzioni dell'Editor traduzioni:
- La figura 7 mostra che la riga app_name è selezionata come Untranslatable, ma è presente una traduzione in spagnolo. Elimina la traduzione in spagnolo per correggere l'errore.
- La Figura 7 mostra che nella riga next_page manca una traduzione in francese. Usa la tastiera per copiare Page Suivante nella cella per correggere l'errore. Un'operazione di copia e incolla da tastiera copia il testo con eventuali segni diacritici nella cella.
Gestire e testare il testo localizzabile
La piattaforma Android e Android Studio forniscono diverse funzionalità per aiutarti a gestire e testare il testo localizzabile della tua app. Queste funzionalità offrono opzioni per aiutarti a risolvere i problemi relativi agli script da destra a sinistra, come l'arabo o l'ebraico. Il test del testo localizzabile ti consente di apportare modifiche al testo dell'interfaccia utente e al suo layout prima di eseguire il commit dei messaggi nel repository di origine da inviare per la traduzione in un secondo momento.
Supporto delle lingue RTL
Jetpack Compose gestisce i layout da destra a sinistra (RTL) in modo nativo. I modificatori di layout e le API sono basati su concetti direzionali come start e end anziché su direzioni assolute come left e right. Quando la lingua di sistema
cambia in una lingua RTL, Compose esegue automaticamente il mirroring di questi layout.
Affinché la tua app riconosca le impostazioni internazionali RTL e attivi questo mirroring, devi attivarlo utilizzando il file manifest dell'app.
Per attivare il supporto RTL:
- Apri il file
AndroidManifest.xml. - Aggiungi l'attributo
android:supportsRtl="true"all'elemento<application>:
<manifest ... >
<application
...
android:supportsRtl="true">
</application>
</manifest>
Per scoprire di più su come Compose gestisce il layout del testo, il mirroring e le configurazioni RTL personalizzate, consulta Utilizzo delle lingue RTL.
Impostare manualmente la direzione del testo
In Jetpack Compose, non utilizzi una finestra delle proprietà visive per forzare il layout o le direzioni del testo. Compose gestisce automaticamente il mirroring da destra a sinistra in base alle impostazioni internazionali del sistema.
Tuttavia, se devi eseguire l'override manuale della direzione per un elemento di testo specifico (ad esempio, visualizzare una stringa LTR in un layout RTL), puoi passare un
oggetto TextDirection nel tuo TextStyle.
I valori supportati includono:
TextDirection.Content: (Default): deduce la direzione dal primo carattere direzionale forte.TextDirection.Ltr: impone la direzione da sinistra a destra.TextDirection.Rtl: impone la direzione da destra a sinistra.
Per scoprire di più sulla formattazione del testo e sulla configurazione della direzione del testo manuale in Componi, consulta Formattare il testo.
Utilizzare stringhe localizzate nell'app
Una volta aggiunte e tradotte le stringhe utilizzando l'editor di traduzioni,
i file res/values/strings.xml sottostanti vengono aggiornati automaticamente e puoi
utilizzare le risorse localizzate direttamente nella tua UI.
Per scoprire come visualizzare testo localizzato, gestire in modo nativo la direzione da destra a sinistra e utilizzare @Preview
per testare diverse impostazioni internazionali e pseudolocalizzazioni, consulta la sezione Stringhe di
Risorse in Compose.
Pseudolocali
Un pseudolocale è un locale simulato progettato per assumere le caratteristiche delle lingue che causano problemi di UI, layout, RTL e altre traduzioni quando un'app viene tradotta. Le pseudolocalizzazioni forniscono traduzioni istantanee e automatiche leggibili in inglese per tutti i messaggi localizzabili. In questo modo puoi individuare i messaggi non traducibili nel codice sorgente.
Per informazioni su come utilizzare le pseudolocalità, vedi Testare l'app con le pseudolocalità.