Localizar a interface com o Translations Editor (Views)

Conceitos e implementação do Jetpack Compose

O Translations Editor oferece uma visualização consolidada e editável de todos os seus recursos de string padrão e traduzidos.

Para uma introdução sobre como traduzir seu app para diferentes idiomas, leia Suporte a diferentes idiomas e culturas.

Figura 1. O Translations Editor mostrando o texto do app antes da tradução.

Abrir o Translations Editor no Design Editor

Você pode abrir o Translations Editor no Design Editor do Layout Editor para editar o texto padrão e o traduzido para que se adaptem melhor ao seu layout. Para informações sobre como alternar idiomas no Design Editor, consulte Exibir texto traduzido no Design Editor.

  1. No painel Project > Android à esquerda, selecione ModuleName > res > layout.
  2. Clique duas vezes em content_main.xml para abrir o arquivo para edição.
  3. Clique na guia Design no canto inferior esquerdo para exibir o Design Editor.
  4. No Design Editor, selecione a lista suspensa Language .
  5. Selecione Edit Translations .

Exibir texto traduzido no Design Editor

Para ver como o texto traduzido será exibido no layout do app, alterne o texto entre as versões padrão e traduzida no Design Editor, da seguinte maneira:

  1. No painel Project > Android à esquerda, selecione ModuleNameModuleName > res > layout.
  2. Clique duas vezes em content_main.xml para abrir o arquivo para edição.
  3. Clique na guia Design no canto inferior esquerdo para exibir o Design Editor.
  4. No Design Editor, selecione a lista suspensa Language .
  5. Selecione Edit Translations .
  6. Selecione o idioma que você quer usar para ver o app.

    Figura 2. Lista suspensa de idiomas com espanhol selecionado.

O Design Editor exibe o layout do app no idioma selecionado, que nesse caso é o espanhol.

Figura 3. O Design Editor exibe o texto traduzido em espanhol.

Configurar o Design Editor para o idioma padrão

Para restaurar o idioma para o padrão, selecione es > Language .

Gerenciar e testar texto localizável

A plataforma Android e o Android Studio oferecem vários recursos para ajudar a gerenciar e testar o texto localizável do app. Esses recursos têm opções para ajudar você a resolver problemas com scripts da direita para a esquerda (RTL), como árabe ou hebraico. Testar o texto localizável permite fazer ajustes no texto da interface e no layout antes de confirmar as mensagens no repositório de origem para serem enviadas para tradução posteriormente.

Refatorar seu projeto para compatibilidade com RTL

O Android Studio tem um comando de refatoração que oferece suporte a texto bidirecional nos elementos TextView, ConstraintLayout e LinearLayout. Isso permite que os apps mostrem texto em scripts da esquerda para a direita (LTR) e da direita para a esquerda (RTL) e que os usuários editem esses textos. O comando também oferece espelhamento automático de layouts da IU do app e de todos os widgets de visualização. Para ver a mudança de direção do texto e o espelhamento de layout, você também precisa definir as propriedades de direção de texto e layout no Layout Editor.

O procedimento a seguir mostra como refatorar seu projeto para que seja compatível com RTL:

  1. Selecione Refactor > Add RTL support where possible para exibir a caixa de diálogo mostrada na figura 4.

    Figura 4. Adicionar compatibilidade com RTL.

    • Se o elemento <application> no seu arquivo AndroidManifest.xml não tiver o atributo android:supportsRTL="true", marque a caixa de seleção Update AndroidManifest.xml.
    • Se a targetSdkVersion do app for 17 ou mais recente, selecione Replace Left/Right Properties with Start/End Properties. Nesse caso, suas propriedades precisam usar "start" e "end", em vez de "left" e "right". Por exemplo, android:paddingLeft torna-se android:paddingStart.
    • Se a targetSdkVersion do app for 16 ou anterior, selecione Generate -v17 Versions. Nesse caso, o XML precisa usar os dois conjuntos de propriedades. Por exemplo, o XML precisa usar android:paddingLeft e android:paddingStart.
  2. Para exibir a janela Find Refactoring Preview, clique em Run.

    Figura 5. Confira a prévia.

  3. Clique em Do Refactor.

Para mais informações sobre como refatorar seu projeto para compatibilidade com RTL, consulte Compatibilidade nativa com RTL no Android 4.2 (link em inglês).

Propriedades de direção de texto e layout

A janela "Properties" à direita oferece a propriedade textDirection para ser usada com widgets de texto e a propriedade layoutDirection para ser usada com widgets de layout para mudar a direção dos componentes de texto e layout. As propriedades de direção estão listadas na janela Properties, à direita, e funcionam com API de nível 17 ou mais recente.

Para ver a mudança da direção do texto e o espelhamento de layout, você também precisa refatorar o projeto para que ele ofereça suporte ao modo RTL. Em inglês, a mudança de direção do texto move apenas a pontuação do lado direito para o lado esquerdo do texto; por exemplo, "Hello World!" passa a ser "!Hello World". Para ver a mudança de texto de LTR para RTL, é necessário usar um idioma RTL no seu app. Se você quiser usar o inglês e ver o texto alternar para RTL para fins de teste, use pseudolocalidades. Pseudolocalidades são independentes do comando de refatoração e das propriedades de direção.

Para acessar e usar as propriedades de direção, faça o seguinte:

  1. No Layout Editor, selecione um widget de texto.
  2. Abra a janela Properties e procure a propriedade RTL que você quer usar. Para configurar o valor da propriedade, selecione um dos seguintes:

    • firstStrong: padrão para a visualização raiz. O primeiro caractere direcional forte determina a direção do parágrafo. Se não houver um caractere direcional forte, a direção do parágrafo será a mesma do layout da visualização.
    • anyRtl: a direção do parágrafo será RTL se contiver algum caractere RTL forte e será LTR se contiver algum caractere LTR forte. Se não houver nenhum, a direção do parágrafo será a mesma do layout definido da visualização.
    • ltr: a direção do parágrafo é LTR.
    • rtl: a direção do parágrafo é RTL.
    • locale: a direção do parágrafo vem da localidade do sistema.
    • inherit: padrão. Use a direção definida no pai.

    Observação: os caracteres direcionais fortes têm a própria direção predefinida, como a maioria dos caracteres alfabéticos e silábicos, dígitos não europeus e não árabes, ideogramas Han e caracteres de pontuação específicos apenas desses scripts.

  3. Para revisar o texto e o layout invertidos, execute o app.