Uma pseudolocalidade é uma localidade projetada para simular as características de idiomas que causam problemas de IU, layout e outros relacionados à tradução de um app. As pseudolocalidades são criadas por traduções instantâneas e automáticas que podem ser lidas em inglês para todas as mensagens localizáveis. Os textos não pseudolocalizados apontam para mensagens não traduzidas no código-fonte.
As pseudolocalidades poupam tempo e dinheiro, porque você pode fazer ajustes no texto e no layout da interface antes de confirmar as mensagens no repositório fonte que vão ser enviadas para tradução posteriormente. Para conferir uma lista de possíveis problemas de tradução, consulte a seção Detectar problemas de localização.
Os nomes das pseudolocalidades do Android seguem as convenções de nomenclatura de localidade padrão. Esses códigos de localidade podem ser analisados por qualquer linguagem de programação em compliance com BCP 47. Nesse sentido, as pseudolocalidades são como qualquer outra localidade, por exemplo, francês, chinês ou russo.
A Plataforma Android fornece as duas pseudolocalidades abaixo para representar idiomas da esquerda para a direita (LTR, na sigla em inglês) e da direita para a esquerda (RTL, na sigla em inglês):
English (XA): adiciona acentos latinos ao texto básico da interface em inglês, expande o texto original adicionando texto sem acento e coloca colchetes em cada unidade de mensagem para expor possíveis problemas do texto expandido. Os possíveis problemas podem ser quebra de layout e sintaxe mal formada da mensagem, por exemplo, uma frase dividida em várias partes mostrada como mensagens com vários colchetes. A pseudolocalidade English (XA) é mostrada na Figura 1.
AR (XB): define a direção do texto das mensagens originalmente da esquerda para a direita para a direção da direita para a esquerda, invertendo a ordem dos caracteres na mensagem original. A pseudolocalidade AR (XB) é mostrada na Figura 2.
Com as pseudolocalidades, é possível criar uma versão RTL do seu app, mesmo que você não saiba falar nem escrever em um idioma RTL.
Ativar pseudolocalidades
As pseudolocalidades geralmente são adicionadas a builds voltados para desenvolvedores. Quando você escolhe uma pseudolocalidade no seu dispositivo, todos os apps com suporte assumem as características da pseudolocalidade selecionada, incluindo todos os apps do sistema, por exemplo, o app Configurações e o painel Configurações rápidas.
Para usar as pseudolocalidades do Android, você precisa estar executando o Android 4.3 (nível 18 da API) ou mais recente e ativar as Opções do desenvolvedor no dispositivo. Também é necessário reiniciar o dispositivo depois de ativar as opções para desenvolvedores.
O procedimento abaixo explica como ativar as pseudolocalidades.
No Android Studio, para ativar as pseudolocalidades em um app específico, basta adicionar a seguinte configuração ao arquivo
build.gradle
:Groovy
android { ... buildTypes { debug {
pseudoLocalesEnabled
true } } }Kotlin
android { ... buildTypes.getByName("debug") { isPseudoLocalesEnabled = true } }
-
Use o app Configurações para selecionar uma pseudolocalidade. Esta etapa varia de acordo com a versão do Android, da seguinte maneira:
Android 5.0 (nível 21 da API) ou mais recente
- No dispositivo, abra o app Configurações e toque em Idiomas e entrada > Preferências de idioma.
- Na lista Preferências de idioma, arraste a guia para mover uma pseudolocalidade à parte de cima da lista e torná-la o idioma ativo. Consulte a Figura 3.
Android 4.4.4 (nível 19 da API) ou anterior
- No dispositivo, abra o app Configurações e toque em Idiomas e entrada > Preferências de idioma > Adicionar um idioma.
- Toque em uma pseudolocalidade para a adicionar à lista Preferências de idioma.
- Na lista Preferências de idioma, arraste a guia para mover uma pseudolocalidade ao topo da lista e torná-la o idioma ativo. Consulte a Figura 3.
Detectar problemas de localização
As pseudolocalidades oferecem uma forma econômica e eficiente de detectar possíveis erros de localização na interface, ajudando a identificar problemas nas seguintes áreas:
- Strings codificadas, que não podem ser enviadas para tradução, são mostradas como texto não acentuado na pseudolocalidade para facilitar a visualização.
- Problemas de layout da interface causados pela expansão do texto, mostrando onde a interface pode ser interrompida por conta do tamanho do texto.
Concatenação de strings, que é mostrada como uma mensagem dividida em dois ou mais colchetes. Isso pode dificultar a tradução correta porque os tradutores precisam traduzir cada parte de forma independente, sem saber que elas estão relacionadas. A concatenação de strings também pode impossibilitar a tradução correta, porque idiomas diferentes podem exigir uma ordem ou estrutura de frases totalmente diferente. Por exemplo, idiomas como o japonês, o coreano e o tâmil colocam o verbo no final. Quando uma frase é concatenada, os tradutores não conseguem mudar a ordem das palavras conforme necessário.
Problemas de texto bidirecional (BIDI), por exemplo, quando um conteúdo em uma direção de texto inclui uma frase inline na direção de texto oposta, dificultando a leitura da string.
Problemas em idiomas da direita para a esquerda (RTL), como elementos não espelhados. Por exemplo, um elemento da interface que não se move para a esquerda, um texto que não é invertido nem movido para a esquerda ou uma pontuação incorreta, por exemplo, a expressão "regra das pseudolocalidades!" convertida em "sedadilacoloduesp sad arger!" em vez de "!sedadilacoloduesp sad arger".