Localizzare la UI con l'editor di traduzioni (visualizzazioni)

Concetti e implementazione di Jetpack Compose

L'editor di traduzioni offre una visualizzazione consolidata e modificabile di tutte le risorse di stringhe predefinite e tradotte. default and translated string resources.

Per un'introduzione alla traduzione dell'app per lingue diverse, leggi Supportare lingue e culture diverse.

Figura 1. L'editor di traduzioni che mostra il testo dell'app prima della traduzione

Aprire l'editor di traduzioni dall'editor di progettazione

Puoi aprire l'editor di traduzioni dall'editor di progettazione dell'editor di layout per modificare il testo predefinito e tradotto in modo che si adatti meglio al layout. Per informazioni su come cambiare lingua nell'editor di progettazione, consulta Visualizzare il testo tradotto nell'editor di progettazione.

  1. Nel riquadro Progetto > Android a sinistra, seleziona ModuleName > res > layout.
  2. Fai doppio clic su content_main.xml per aprirlo e modificarlo.
  3. Fai clic sulla scheda Progettazione nell'angolo in basso a sinistra per visualizzare l'editor di progettazione.
  4. Nell'editor di progettazione, seleziona l'elenco a discesa Lingua .
  5. Seleziona Modifica traduzioni .

Visualizzare il testo tradotto nell'editor di progettazione

Per vedere come viene visualizzato il testo tradotto nel layout dell'app, alterna il testo tra le versioni predefinita e tradotta nell'editor di progettazione, come segue:

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

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

L'editor di progettazione mostra il layout dell'app nella lingua selezionata, in questo caso lo spagnolo.

Figura 3. L'editor di progettazione che mostra il testo tradotto in spagnolo

Impostare l'editor di progettazione sulla lingua predefinita

Per impostare di nuovo la lingua predefinita, seleziona es > Lingua .

Gestire e testare il testo localizzabile

La piattaforma Android e Android Studio offrono diverse funzionalità che ti aiutano a gestire e testare il testo localizzabile dell'app. Queste funzionalità includono opzioni che ti aiutano a risolvere i problemi con gli script da destra a sinistra (RTL), come l'arabo o l'ebraico. Il test del testo localizzabile ti consente di apportare modifiche al testo dell'interfaccia utente e al relativo layout prima di salvare i messaggi nel repository di origine per inviarli in un secondo momento per la traduzione.

Eseguire il refactoring del progetto per il supporto RTL

Android Studio include un comando di refactoring che consente di supportare il testo bidirezionale negli elementi TextView, ConstraintLayout e LinearLayout, in modo che le app possano visualizzare e consentire agli utenti di modificare il testo sia negli script da sinistra a destra (LTR) sia da destra a sinistra (RTL). Il comando fornisce anche il mirroring automatico dei layout dell'interfaccia utente dell'app e di tutti i widget di visualizzazione. Per visualizzare la modifica della direzione del testo e il mirroring del layout, devi anche impostare le proprietà della direzione del testo e del layout nell'Layout Editor.

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

  1. Seleziona Refactoring > Aggiungi supporto RTL, se possibile per visualizzare la finestra di dialogo mostrata nella Figura 4.

    Figura 4. Aggiungere il supporto RTL

    • Se l'elemento <application> nel file AndroidManifest.xml non ha l'attributo android:supportsRTL="true", seleziona la casella di controllo Aggiorna AndroidManifest.xml.
    • Se targetSdkVersion della tua app è 17 o versioni successive, seleziona Sostituisci le proprietà sinistra/destra con le proprietà inizio/fine. In questo caso, le proprietà devono utilizzare "start" e "end" anziché "left" e "right". Ad esempio, android:paddingLeft diventa android:paddingStart.
    • Se targetSdkVersion della tua app è 16 o versioni precedenti, seleziona Genera versioni -v17. In questo caso, il codice XML deve utilizzare entrambi i set di proprietà. Ad esempio, il codice XML deve utilizzare sia android:paddingLeft sia android:paddingStart.
  2. Per visualizzare la finestra Trova anteprima refactoring, fai clic su Esegui.

    Figura 5. Controllare l'anteprima

  3. Fai clic su Esegui refactoring.

Per saperne di più sul refactoring del progetto per il supporto RTL, consulta Supporto RTL nativo in Android 4.2.

Proprietà della direzione del testo e del layout

La finestra Proprietà a destra fornisce la proprietà textDirection da utilizzare con i widget di testo e la proprietà layoutDirection da utilizzare con i widget di layout per modificare la direzione del testo e dei componenti del layout. Le proprietà della direzione sono elencate nella finestra Proprietà a destra e funzionano con il livello API 17 o versioni successive.

Per visualizzare la modifica della direzione del testo e il mirroring del layout, devi anche eseguire il refactoring del progetto per il supporto RTL. In inglese, la modifica della direzione del testo sposta solo la punteggiatura dal lato destro al lato sinistro del testo; ad esempio, "Hello World!" diventa "!Hello World". Per visualizzare il passaggio del testo LTR a RTL, devi utilizzare una lingua RTL nella tua app. Se vuoi utilizzare l'inglese e visualizzare il passaggio del testo a RTL a scopo di test, utilizza gli pseudolocali. Gli pseudolocali sono indipendenti dal comando di refactoring e dalle proprietà della direzione.

Per accedere alle proprietà della direzione e utilizzarle:

  1. Nell'editor di Layout, seleziona un widget di 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 visualizzazione principale. Il primo carattere direzionale forte determina la direzione del paragrafo. Se non è presente alcun carattere direzionale forte, la direzione del paragrafo è la direzione del layout risolta della visualizzazione.
    • anyRtl: la direzione del paragrafo è RTL se contiene un carattere RTL forte ; in caso contrario, è LTR se contiene caratteri LTR forti. Se non sono presenti, la direzione del paragrafo è la direzione del layout risolta della visualizzazione.
    • ltr: la direzione del paragrafo è LTR.
    • rtl: la direzione del paragrafo è RTL.
    • locale: la direzione del paragrafo proviene dalle impostazioni internazionali di sistema.
    • inherit: valore predefinito. Utilizza la direzione impostata nell'elemento principale.

    Nota: i caratteri direzionali forti hanno una propria direzione predefinita, ad esempio la maggior parte dei caratteri alfabetici e sillabici, le cifre non europee e non arabe gli ideogrammi Han e i caratteri di punteggiatura specifici solo per questi script.

  3. Per rivedere il testo e il layout invertiti, esegui l'app.