O Translations Editor oferece uma visualização consolidada e editável de todos os seus recursos de string padrão e traduzidos.
Para ver uma introdução sobre como traduzir seu app para diferentes idiomas, leia Compatibilidade com diferentes idiomas e culturas.

Figura 1. O Translations Editor mostrando o texto do app antes da tradução.
Recursos de string
Os recursos de string de um projeto estão contidos em arquivos strings.xml
. O projeto
tem um arquivo strings.xml
padrão contendo recursos de string no idioma padrão do
app, ou seja, aquele que você espera que a maioria dos usuários
fale. Você também pode ter arquivos strings.xml
traduzidos
contendo recursos de string para outros idiomas que você quer incluir no seu app.
Depois de concluir o arquivo strings.xml
padrão, você poderá adicionar as traduções
por conta própria ou pagar um serviço profissional para fazê-las. De qualquer forma, você poderá
aproveitar os recursos do Android Studio para gerenciar e testar
textos localizáveis. Para saber mais
sobre serviços de tradução profissional, consulte Solicitar serviços de tradução.
Abrir o Translations Editor
Você pode acessar o Translations Editor nos seguintes locais do Android Studio.
Abrir a partir da visualização Android
- No painel Project > Android à esquerda, selecione ModuleName > res > values.
- Clique com o botão direito do mouse no arquivo strings.xml e selecione Open Translations Editor.
O Translations Editor exibe os pares de chave-valor do arquivo
strings.xml
.Observação: quando você tem arquivos
strings.xml
traduzidos, o projeto tem várias pastas values correspondentes com sufixos indicando o idioma, como values-es para espanhol. O arquivostrings.xml
padrão sempre fica na pasta values (sem sufixo).
A Figura 1 mostra o texto padrão do app (nesse caso, em inglês) no Translations Editor para
um app simples antes do trabalho de tradução. O conteúdo dos arquivos
strings.xml
traduzidos aparecerá à direita da coluna Untranslatable, com uma
coluna por idioma, conforme mostrado na figura 2.
Abrir a partir de strings.xml
Você pode acessar o Translations Editor a partir de qualquer um dos seus arquivos strings.xml
.
- No painel Project > Android à esquerda, selecione ModuleNameModuleName > res > values.
- Clique duas vezes em strings.xml para abrir o arquivo para edição.
- Em strings.xml, clique no link Open editor no canto superior direito.
Observação: se você clicar no link Hide notification, o link Open editor desaparecerá. Para que ele volte a ser exibido, feche e reabra o projeto.
Abrir 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 melhor se adaptarem ao layout. Para saber mais sobre como alternar idiomas no Design Editor, consulte Exibir texto traduzido no Design Editor.
- No painel Project > Android à esquerda, selecione ModuleNameModuleName > res > layout.
- Clique duas vezes em content_main.xml para abrir o arquivo para edição.
- Clique na guia Design no canto inferior esquerdo para exibir o Design Editor.
- No Design Editor, selecione a lista suspensa Language
.
- Selecione Edit Translations
.
Configurar linhas não traduzíveis
No Translations Editor, você pode selecionar Unstranslatable para indicar que não quer que o texto da linha em questão seja traduzido. O texto que você não quer traduzir pode se referir a textos específicos do produto, como nomes comerciais e marcas registradas, ou termos técnicos que não tenham tradução.
Quando você marca Untranslatable, a linha correspondente no arquivo
strings.xml
padrão adiciona translatable="false". No exemplo a seguir,
EasyApp
na linha superior não é traduzido porque é o nome do produto.
<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>
Adicionar e excluir idiomas
O Translations Editor é compatível com BCP 47 e combina códigos de localidade e região (país) em uma única seleção para as localizações desejadas. Uma localidade define mais do que o idioma. Ela inclui a formatação específica do país para itens como data e hora, moedas e decimais.
Para adicionar um idioma, faça o seguinte:
- No Translations Editor, clique no ícone de globo
.
- Na lista suspensa, selecione o idioma que você quer adicionar.
O novo idioma aparece no Translations Editor, e uma pasta values-* com um arquivo
strings.xml
é adicionada ao projeto. Por exemplo, values-es para espanhol.
Para excluir um idioma, faça o seguinte:
Você pode excluir um idioma no Translations Editor excluindo todos os valores da coluna (consulte Editar, adicionar ou excluir texto) ou pode excluir a pasta do projeto referente ao idioma, da seguinte maneira:
- No painel Project > Android à esquerda, selecione ModuleNameModuleName > res.
- Clique com o botão direito na pasta values-* do idioma que você quer excluir. Por exemplo, values-hi para hindi.
- Na lista suspensa, selecione Delete para excluir a pasta e o respectivo arquivo strings.xml.
Editar, adicionar e excluir texto
Você pode editar as configurações de texto diretamente no arquivo strings.xml
ou
com o Translations Editor. Esta seção descreve a
abordagem do Translations Editor. No Translations Editor, é possível editar, adicionar ou
excluir textos por meio da visualização em lista ou pelo
campo Translation na parte inferior do Translations Editor.

Figura 2. Visualização em lista na parte superior e o campo Translation na parte inferior.
Visualizar em lista
Para editar ou adicionar texto, faça o seguinte:
- Clique duas vezes na célula em que você quer adicionar texto ou editar.
- Copie e cole usando os atalhos de teclado ou, se você tem um teclado compatível com diacríticos (sinais gráficos e de acentuação), digite o texto diretamente na visualização em lista.
- Use a tecla Tab ou mova o cursor para fora do campo.
Para excluir texto, faça o seguinte:
- Clique duas vezes na célula que você quer excluir.
- Na visualização em lista, selecione o texto e pressione Delete.
- Use a tecla Tab ou mova o cursor para fora do campo.
Campo "Translation"
Para editar ou adicionar texto, faça o seguinte:
- Na visualização em lista, clique uma vez na célula em que você quer adicionar texto ou editar.
- No campo Translation, copie e cole usando os atalhos de teclado ou, se você tem um teclado compatível com diacríticos (sinais gráficos e de acentuação), digite o texto diretamente no campo Translation.
- Use a tecla Tab ou mova o cursor para fora do campo.
Para excluir texto, faça o seguinte:
- Clique uma vez na célula que você quer excluir.
- No campo Translation, selecione o texto e pressione Delete.
Adicionar e excluir chaves
No Translations Editor, a coluna Key lista os identificadores exclusivos de cada
item de dados nos arquivos strings.xml
. Você pode adicionar e excluir chaves usando o
Translations Editor. Quando uma chave é excluída, o Translations Editor também exclui a chave e todas as
traduções associadas. O Translations Editor usa a refatoração "Safe Delete" para
excluir uma chave, para que você saiba se o texto da chave é usado em outro local e possa
fazer as mudanças necessárias antes de excluí-la. A refatoração "Safe Delete" garante que
o código ainda seja compilado depois que a chave for excluída.
Para adicionar uma chave, faça o seguinte:
- No Translations Editor, clique em Add Key
.
- Na caixa de diálogo, digite um nome de chave, o valor padrão e a localização do
arquivo strings.xml padrão.
Figura 3. Adicionar uma chave.
Para excluir uma chave, faça o seguinte:
- No Translations Editor, selecione a chave que você quer excluir.
- Clique em Remove Keys
.
Na caixa de diálogo Delete, decida se quer executar a refatoração "Safe Delete" e se quer pesquisar em comentários e strings. Depois, clique em OK.
Figura 4. Caixa de diálogo "Delete".
Se não houver referências (usos) à chave excluída ou se todas as referências puderem ser recolhidas com segurança, a chave será excluída. Caso contrário, o Translations Editor exibirá a caixa de diálogo Usages Detected com informações sobre os problemas detectados.
Figura 5. Caixa de diálogo "Delete".
- Selecione View Usages para revisar o que será excluído. A caixa de diálogo Find Safe Delete
Conflicts mostra todos os usos que não podem ser excluídos com segurança, para
que você possa editar o código correspondente.
Figura 6. Usos inseguros.
- Clique com o botão direito do mouse em um uso para exibir o menu de contexto e selecione Jump to Source para fazer as alterações necessárias.
- No painel Find Safe Delete Conflicts, selecione Rerun Safe Delete para garantir que não haja outros usos que precisem de atenção.
- Quando os usos forem apagados, clique em Do Refactor para excluir a chave.
Corrigir erros
A Figura 7 mostra o Translations Editor exibindo o conteúdo dos arquivos strings.xml
em inglês,
espanhol
e francês. O texto em vermelho indica linhas com erros.

Figura 7. O texto em vermelho indica um erro que precisa ser corrigido.
Para corrigir um erro, passe o mouse sobre o texto em vermelho para exibir uma explicação do problema e a respectiva resolução.
Ao fazer mudanças no Translations Editor, os arquivos
strings.xml
subjacentes serão atualizados com essas mudanças. Quando você mudar
um arquivo strings.xml
, a coluna correspondente no Translations Editor
será atualizada.
Exemplo de correções do Translations Editor:
- A figura 7 mostra que a linha app_name está com a opção Untranslatable marcada, mas há uma tradução em espanhol disponível. Exclua a tradução em espanhol para corrigir o erro.
- A figura 7 mostra que a linha next_page está sem tradução em francês. Use o teclado para copiar Page Suivante na célula para corrigir o erro. Uma operação de copiar e colar no teclado copia o texto com os diacríticos para a célula.
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:
- No painel Project > Android à esquerda, selecione ModuleNameModuleName > res > layout.
- Clique duas vezes em content_main.xml para abrir o arquivo para edição.
- Clique na guia Design no canto inferior esquerdo para exibir o Design Editor.
- No Design Editor, selecione a lista suspensa Language
.
- Selecione Edit Translations
.
- Selecione o idioma que você quer usar para ver o app.
Figura 8. Lista suspensa de idiomas com espanhol selecionado.
O Design Editor exibe o layout do app no idioma selecionado, que nesse caso é o espanhol.

Figura 9. 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
.

Figura 10. Configurar para o idioma padrão.
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 a abordar problemas com scripts da direita para a esquerda (RTL, na sigla em inglês), como árabe ou hebraico. Testar o texto localizável permite fazer mudanças no texto da IU e no layout antes de confirmar suas mensagens para o 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 é compatível com texto bidirecional
nos elementos TextView
,
ConstraintLayout
e
LinearLayout
. Isso permite
que seus apps exibam texto em scripts da esquerda para a direita (LTR, na sigla em inglês) e da direita para a esquerda (RTL, na sigla em inglês) 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:
- Selecione Refactor > Add RTL support where possible para exibir a caixa de diálogo mostrada na
figura 11.
Figura 11. Adicionar compatibilidade com RTL.
- Se o elemento
<application>
no seu arquivoAndroidManifest.xml
não tiver o atributoandroid: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
passa a serandroid: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 usarandroid:paddingLeft
eandroid:paddingStart
.
- Se o elemento
- Para abrir a janela Find Refactoring Preview clique em Run.
Figura 12. Verificar a visualização.
- Clique em Do Refactor.
Para saber mais 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, apresenta a propriedade textDirection, a ser usada com widgets de texto, e a propriedade layoutDirection, a 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 seja compatível com 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 a mudança do texto para RTL como um 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:
- No Layout Editor, selecione um widget de texto.
- 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 caso ele contenha um caractere RTL forte e será LTR caso contenha algum caractere LTR forte. Se não houver nenhum caractere forte, 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.
- Para revisar o texto e o layout invertidos, execute o app.
Pseudolocalidades
Uma pseudolocalidade é uma localidade simulada, projetada para assumir as características de idiomas que causam problemas de IU, layout, RTL, entre outros problemas de tradução quando um app é traduzido. As pseudolocalidades oferecem traduções instantâneas e automáticas que podem ser lidas em inglês para todas as mensagens localizáveis. Isso possibilita que você detecte mensagens não traduzíveis no código-fonte.
Para saber mais sobre como usar as pseudolocalidades, consulte Testar o app com pseudolocalidades.