Localizzare l'interfaccia utente con l'editor di traduzioni

L'Editor traduzioni fornisce una visualizzazione consolidata e modificabile di tutte le tue impostazioni string Resources tradotte.

Per un'introduzione alla traduzione della tua app in diverse lingue, leggi Supportare diverse lingue e culture del mondo.

Figura 1. L'Editor traduzioni che mostra il testo dell'app prima traduzione

Risorse stringa

Le risorse stringa per un progetto sono contenute in file strings.xml. Il tuo progetto ha un file strings.xml predefinito che contiene risorse di tipo stringa nel della tua app, ovvero quella che ti aspetti che la maggior parte degli utenti dell'app per parlare. Puoi anche tradurre file strings.xml contenenti stringhe per le altre lingue che vuoi includere nell'app.

Una volta completato il file strings.xml predefinito, puoi aggiungere le traduzioni personalmente o pagare un servizio professionale per le traduzioni. In ogni caso, devi prendere sfruttare le funzionalità di Android Studio per gestire ed eseguire test localizzatore. Per informazioni sui servizi di traduzione professionali, consulta Ordinare servizi di traduzione.

Apri l'editor di traduzioni

Puoi accedere all'editor di traduzioni dalle seguenti posizioni di Android Studio.

Apri dalla vista Android

  1. Nella sezione Progetto > nel riquadro Android a sinistra. seleziona ModuleName > res > personalizzati.
  2. Fai clic con il tasto destro del mouse sul file strings.xml e seleziona Apri l'editor di traduzioni.

    L'editor delle traduzioni mostra le coppie chiave-valore del strings.xml.

    Nota: Quando hai tradotto strings.xml file, al tuo progetto sono corrispondenti più values con suffissi che indicano la lingua, come values-es per lo spagnolo. Il tuo file strings.xml predefinito si trova sempre values (senza suffisso).

La figura 1 mostra il testo predefinito dell'app (in questo caso, l'inglese) nell'editor delle traduzioni per un'app semplice prima che finiscano le traduzioni. I contenuti della traduzione I file strings.xml verranno visualizzati a destra della colonna Non traducibile con una colonna per lingua, come mostrato nella figura 2.

Apri dall'interno di tabs.xml

Puoi accedere all'Editor traduzioni da uno qualsiasi dei tuoi file strings.xml.

  1. Nella sezione Progetto > Nel riquadro Android a sinistra, seleziona ModuleName > res > personalizzati.
  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.

Nota: se fai clic sul link Nascondi notifica, tocca il pulsante Apri editor scompare. Per ripristinarlo, chiudi e riapri il progetto.

Apri dall'Editor di progettazione

Puoi aprire l'Editor traduzioni dall'Editor di progettazione dell'editor di layout per modificare predefinito e tradotto il testo per adattarlo meglio al layout. Per informazioni su come cambiare lingua nell'Editor di progettazione, consulta Visualizza il testo tradotto nell'Editor di progettazione.

  1. Nella sezione Progetto > Nel riquadro Android a sinistra, seleziona ModuleName > res > layout.
  2. Fai doppio clic su content_main.xml per aprirlo e modificarlo.
  3. Fai clic sulla scheda Design nell'angolo in basso a sinistra per visualizzare l'Editor di Design.
  4. In Design Editor, seleziona la Lingua Elenco a discesa .
  5. Seleziona Modifica traduzioni. .

Configura righe non traducibili

Nell'Editor traduzioni, puoi selezionare Non traducibile per indicare che non desideri tradurre il testo in questa riga. Testo che vuoi potrebbero essere testi specifici del prodotto, come nomi commerciali e marchi, o termini tecnici senza traduzione.

Quando selezioni Non traducibile, la riga corrispondente nel testo predefinito strings.xml aggiunge translatable="false". Nell'esempio seguente, App facile nella riga superiore non è 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 traduzioni supporta BCP 47 e Combina i codici di località e regione in un'unica selezione per le localizzazioni mirate. Le impostazioni internazionali non definiscono la lingua. Le impostazioni internazionali includono una formattazione basata sul paese per ad esempio data e ora, valute e decimali.

Per aggiungere una lingua:

  1. Nell'Editor traduzioni, fai clic sull'icona a forma di globo .
  2. Dall'elenco a discesa, seleziona la lingua da aggiungere.

    La nuova lingua viene visualizzata nell'Editor traduzioni e in values-* con un file strings.xml viene aggiunta al progetto. Ad esempio: values-es per lo spagnolo.

Per eliminare una lingua:

Puoi eliminare una lingua nell'Editor traduzioni eliminando ogni valore nella colonna (vedi modificare, aggiungere o eliminare testo) oppure eliminare la cartella del progetto per quella lingua, come segue:

  1. Nella sezione Progetto > Nel riquadro Android a sinistra, seleziona ModuleName > res.
  2. Fai clic con il pulsante destro del mouse sulla cartella values-* relativa alla lingua che vuoi eliminare. Ad esempio: values-hi per l'hindi.
  3. Seleziona Elimina dall'elenco a discesa per eliminare la cartella e i relativi strings.xml.

Modificare, aggiungere ed eliminare testo

Puoi operare sulle impostazioni del testo direttamente nel file strings.xml oppure tramite l'Editor traduzioni. Questa sezione descrive le Approccio dell'editor delle traduzioni. Nell'Editor traduzioni, puoi modificare, aggiungere eliminare testo dalla visualizzazione elenco o tramite Il campo Traduzione nella parte inferiore dell'Editor traduzioni.

Figura 2. Visualizzazione elenco in alto e il 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 e incolla dalla tastiera oppure se hai una tastiera che supporta il segno diacritico , digita direttamente nella visualizzazione elenco.
  3. Tab 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. Tab o sposta il cursore fuori dal campo.

Campo di 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, copia e incolla la tastiera, o se hai una tastiera che supporta i segni diacritici digita direttamente nel campo Traduzione.
  3. Tab o sposta il cursore fuori dal campo.

Per eliminare il testo:

  1. Fai clic una sola volta sulla cella da 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 nei tuoi file strings.xml. Puoi aggiungere ed eliminare chiavi tramite la Editor di traduzioni. Quando elimini una chiave, l'editor di traduzioni la elimina insieme a tutti i suoi traduzioni associate. L'Editor traduzioni utilizza il refactoring dell'eliminazione sicura per eliminare una chiave in modo da sapere se il testo della chiave è utilizzato altrove e avere la possibilità per apportare le modifiche necessarie prima di eliminare la chiave. La modifica dell'eliminazione sicura garantisce che il codice viene comunque compilato dopo l'eliminazione della chiave.

Per aggiungere una chiave, procedi nel seguente modo:

  1. Nell'Editor traduzioni, fai clic su Aggiungi chiave. .
  2. Nella finestra di dialogo, inserisci il nome della chiave, il valore predefinito e la posizione il file predefinito strings.xml.

    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 cercare nei commenti e nelle stringhe, quindi fai clic su OK.

    Figura 4. Finestra di dialogo Elimina

    Se non sono presenti riferimenti (utilizzi) della chiave eliminata o se tutti i riferimenti sono al sicuro comprimibile, la chiave viene eliminata. In caso contrario, l'Editor traduzioni mostra Finestra di dialogo Utilizzi rilevati con informazioni sui problemi rilevati.

    Figura 5. Finestra di dialogo Elimina

  4. Seleziona Visualizza utilizzi per controllare quali elementi verranno eliminati. L'eliminazione Trova sicura La finestra di dialogo Conflitti mostra tutti gli utilizzi che non è sicuro eliminare, quindi puoi 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, quindi seleziona Vai all'origine puoi apportare le modifiche necessarie.
  6. Nel riquadro Trova conflitti di eliminazione sicura, seleziona Esegui di nuovo eliminazione sicura per assicurati che non ci siano altri utilizzi che richiedono attenzione.
  7. Una volta eliminati gli utilizzi, fai clic su Esegui il refactoring per eliminare la chiave.

Correggi errori

La figura 7 mostra l'Editor delle traduzioni che mostra i contenuti di inglese, spagnolo, e francese strings.xml file. Il testo rosso indica le righe che contengono errori.

Figura 7. Il testo rosso indica una condizione di errore che deve correggere

Per correggere un errore, passa il mouse sopra il testo rosso per visualizzare una spiegazione del problema e del relativo risoluzione del problema.

Quando apporti modifiche nell'Editor traduzioni, lo stato sottostante strings.xml file vengono aggiornati con le modifiche. Quando effettui modifiche in un file strings.xml, la colonna corrispondente nell'Editor traduzioni con le tue modifiche.

Esempi di correzioni dell'Editor traduzioni:

  • La figura 7 mostra che per la riga app_name è selezionata l'opzione Untranslatable, ma è una traduzione in spagnolo fornita. Elimina la traduzione in spagnolo per correggere l'errore.
  • La figura 7 mostra che nella riga next_page manca una traduzione in francese. Utilizza il tuo per copiare Page Suivante nella cella in modo da correggere l'errore. Copia e incolla da tastiera copia il testo con i segni diacritici nella cella.

Visualizza il testo tradotto nell'Editor di progettazione

Per vedere come viene visualizzato il testo tradotto nel layout della tua app, attiva/disattiva la il testo tra la versione predefinita e la versione tradotta in Design Editor, come segue:

  1. Nella sezione Progetto > Nel riquadro Android a sinistra, seleziona ModuleName > res > layout.
  2. Fai doppio clic su content_main.xml per aprirlo e modificarlo.
  3. Fai clic sulla scheda Design nell'angolo in basso a sinistra per visualizzare l'Editor di Design.
  4. In Design Editor, seleziona la Lingua Elenco a discesa .
  5. Seleziona Modifica traduzioni .
  6. Seleziona la lingua che vuoi utilizzare per visualizzare l'app.

    Figura 8. L'elenco a discesa delle lingue con lo spagnolo selezionato

Design Editor mostra il layout dell'app nella lingua selezionata, che in questo caso è Spagnolo.

Figura 9. Design Editor che mostra il testo tradotto in Spagnolo

Imposta Design Editor sulla lingua predefinita

Per ripristinare la lingua predefinita, seleziona es > Lingua .

Figura 10. Imposta la lingua predefinita

Gestire e testare il testo localizzabile

La piattaforma Android e Android Studio offrono diverse funzionalità utili per la gestione e il test la tua app localizzabile testo. Queste funzioni offrono opzioni utili per risolvere i problemi relativi agli script da destra a sinistra (RTL), come l'arabo o l'ebraico. Il test del testo localizzabile ti consente di apportare modifiche all'interfaccia utente il testo e il relativo layout prima di eseguire il commit dei messaggi nel repository di origine per l'invio la traduzione in un secondo momento.

Esegui il refactoring del progetto per il supporto RTL

Android Studio include un comando di refactoring che consente il supporto del testo bidirezionale in TextView, ConstraintLayout e LinearLayout elementi quindi le tue app possono visualizzare e consentire agli utenti di modificare il testo sia nella scrittura da sinistra a destra (LTR) che da destra a sinistra (RTL). Il comando fornisce anche il mirroring automatico dei layout dell'interfaccia utente delle app e di tutte le visualizzazioni widget. Per vedere la modifica della direzione del testo e il mirroring del layout, devi impostare anche il valore proprietà direzioni di testo e layout nell'editor del layout.

La procedura seguente mostra come eseguire il refactoring del progetto per il supporto RTL:

  1. Seleziona Refactoring > Se possibile, aggiungi il supporto RTL per visualizzare la finestra di dialogo mostrata in figura 11.

    Figura 11. Aggiungi il supporto RTL

    • Se l'elemento <application> nel tuo AndroidManifest.xml file non hanno l'attributo android:supportsRTL="true", quindi seleziona la casella di controllo Update AndroidManifest.xml.
    • Se il valore targetSdkVersion della tua app ha almeno 17 anni, seleziona Sostituisci le proprietà sinistra/destra con le proprietà inizio/fine. In questo le proprietà devono utilizzare "start" e "end" al posto di "sinistra" e "destra". Per ad esempio, android:paddingLeft diventa android:paddingStart.
    • Se la tua app targetSdkVersion ha meno di 16 anni, seleziona Genera versioni -v17 In questo caso, il file XML deve utilizzare entrambi gli insiemi di proprietà. Ad esempio, nel file XML devono essere utilizzati android:paddingLeft e android:paddingStart.
  2. Per visualizzare la finestra Trova anteprima del refactoring, fai clic su Esegui.

    Figura 12. Controlla l'anteprima

  3. Fai clic su Esegui il refactoring.

Per ulteriori informazioni sul refactoring del progetto per il supporto RTL, vedi Supporto nativo per RTL in Android 4.2.

Proprietà di direzione del testo e del layout

La finestra Proprietà a destra indica la proprietà textDirection da utilizzare con widget di testo e la proprietà layoutDirection da utilizzare con i widget di layout per cambiare la direzione dei componenti di testo e layout. Le proprietà delle direzioni sono elencate nella finestra Proprietà a destra e lavorare con le API di livello 17 o superiore.

Per vedere la modifica della direzione del testo e il mirroring del layout, devi anche esegui il refactoring del progetto per il supporto RTL. In inglese, la direzione del testo modifica sposta solo la punteggiatura dal lato destro a a sinistra del testo; ad esempio, "Hello World!" diventa "!Hello World". Per visualizzare il testo LTR se passi a RTL, devi usare una lingua RTL nell'app. Se vuoi usare l'inglese e vedere il passaggio di testo a RTL a scopo di test, usa pseudolocales. Gli pseudolocale sono indipendenti dal comando di refactoring e dalle proprietà delle direzioni.

Per accedere alle proprietà delle direzioni e utilizzarle:

  1. Nell'Editor layout, seleziona un widget per il testo.
  2. Apri la finestra Proprietà e cerca la proprietà RTL che vuoi utilizzare.

    Per impostare il valore della proprietà, seleziona una delle seguenti opzioni:

    • firstStrong: valore predefinito per la vista principale. Il primo carattere direzionale forte determina la direzione del paragrafo. Se non è presente un carattere direzionale significativo, la direzione del paragrafo è la direzione del layout risolta della vista.
    • anyRtl: la direzione del paragrafo è RTL se contiene qualsiasi carattere RTL di grande valore. altrimenti è LTR se contiene caratteri LTR potenti. In caso contrario, la direzione del paragrafo è la direzione del layout risolta della vista.
    • ltr: la direzione del paragrafo è LTR.
    • rtl: la direzione del paragrafo è RTL.
    • locale: la direzione del paragrafo proviene dalle impostazioni internazionali del sistema.
    • Eredita: valore predefinito. Utilizza la direzione impostata nel file principale.
    di Gemini Advanced.
  3. Per rivedere il testo e il layout invertiti, esegui l'app.

Pseudolocale

Uno pseudolocale è un'impostazione internazionale simulata progettata per assumere le caratteristiche di una lingua che causano UI, layout, RTL e altri problemi di traduzione durante la traduzione di un'app. Gli pseudolocale offrono traduzioni istantanee e automatiche leggibili in inglese per tutti i messaggi localizzabili. Questo consente di rilevare i messaggi non traducibili nel codice sorgente.

Per informazioni su come utilizzare gli pseudolocale, consulta Prova La tua app con pseudolocales.