Localizzare l'interfaccia utente con l'editor di traduzioni

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

  1. Nel riquadro Project > Android a sinistra, seleziona ModuleName > res > values.
  2. 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 file strings.xml predefinito 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.

  1. Nel riquadro Progetto > Android a sinistra, seleziona ModuleName > res > values.
  2. Fai doppio clic su strings.xml per aprirlo e modificarlo.
  3. 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:

  1. Nell'editor delle traduzioni, fai clic sull'icona a forma di globo .
  2. 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:

  1. Nel riquadro Progetto > Android a sinistra, seleziona ModuleName > res.
  2. Fai clic con il tasto destro del mouse sulla cartella values-* per la lingua che vuoi eliminare. Ad esempio, values-hi per l'hindi.
  3. 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:

  1. Fai doppio clic sulla cella in cui vuoi modificare o aggiungere testo.
  2. Esegui un copia-incolla da tastiera oppure, se hai una tastiera che supporta i segni diacritici, digita direttamente nella visualizzazione elenco.
  3. Tabulazione o sposta il cursore fuori dal campo.

Per eliminare il testo:

  1. Fai doppio clic sulla cella che vuoi eliminare.
  2. Nella visualizzazione elenco, seleziona il testo e premi Elimina.
  3. Tabulazione o sposta il cursore fuori dal campo.

Campo Traduzione

Per modificare o aggiungere testo:

  1. Nella visualizzazione elenco, fai clic una sola volta sulla cella in cui vuoi modificare o aggiungere testo.
  2. Nel campo Traduzione, esegui un copia-incolla da tastiera, oppure, se hai una tastiera che supporta i segni diacritici, digita direttamente nel campo Traduzione.
  3. Tabulazione o sposta il cursore fuori dal campo.

Per eliminare il testo:

  1. Fai clic una sola volta sulla cella che vuoi eliminare.
  2. 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:

  1. Nell'editor delle traduzioni, fai clic su Aggiungi chiave .
  2. 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:

  1. Nell'editor delle traduzioni, seleziona la chiave che vuoi eliminare.
  2. Fai clic su Rimuovi chiavi .
  3. 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

  4. 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

  5. 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.
  6. 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.
  7. 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:

  1. Apri il file AndroidManifest.xml.
  2. 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:

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à.

Risorse aggiuntive

Visualizza contenuti