Se você quiser se conectar com usuários do Android em diferentes países e culturas, precisará localizar seu aplicativo para oferecer suporte a vários idiomas. Esse processo começa com a internacionalização do Android (i18n), que estabelece as bases para uma localização perfeita.

Internacionalizar seu aplicativo Android significa projetá-lo para acomodar vários idiomas sem alterações de engenharia. Isso fará com que seu aplicativo pareça familiar para usuários de outra região ou cultura, aumentando a usabilidade e abrindo as portas para novos mercados. O processo só precisa ser feito uma vez, economizando tempo e dinheiro em cada localização subsequente.

Este guia passo a passo guiará você pelo processo de internacionalização e localização do seu aplicativo Android. Você aprenderá a preparar seu aplicativo, lidar com conteúdo dinâmico e testar em vários idiomas e localidades.

Como se preparar para a localização de aplicativos Android

A internacionalização prepara seu aplicativo Android para a localização. Esse processo estabelece uma base sólida no Android Studio para garantir que seu aplicativo seja compatível com vários idiomas e regiões. Veja como começar:

  1. Instale o Android Studio

Comece baixando e instalando o Android Studio. O Android Studio é o ambiente oficial de desenvolvimento para Android, fornecendo tudo o que você precisa para internacionalizar, localizar e testar seu aplicativo.

  1. Crie um novo projeto Android

Abra o Android Studio e crie um novo projeto. O modelo “Atividade vazia” oferece um ponto de partida simples.

Em seguida, defina as configurações do seu projeto da seguinte forma:

  • Nome: insira o nome do seu aplicativo (por exemplo, “LocalizedApp”).
  • Nome do pacote: use um identificador exclusivo como “com.example.localizedappi18n”.
  • Idioma: selecione Kotlin (recomendado) ou Java.
  • SDK mínimo: defina a versão mais baixa do Android que seu aplicativo suportará.

Em seguida, confirme suas escolhas para gerar a estrutura do projeto.

  1. Adicione elementos de interface do usuário com layouts flexíveis

Ao adicionar elementos de interface de usuário, crie com a localização em mente. Idiomas como o alemão geralmente exigem mais espaço do que o inglês, enquanto os caracteres chineses são mais compactos. Evite definir larguras fixas para elementos de texto, pois traduções mais longas em alguns idiomas podem exceder o tamanho do contêiner.

Considere usar ferramentas como o ConstraintLayout para permitir que os elementos da interface do usuário ajustem a posição e o tamanho dinamicamente com base no tamanho do texto traduzido. 

Aqui está um exemplo de XML:

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout

xmlns: android= "http://schemas.android.com/apk/res/android"

xmlns: app = "http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="match_parent">


<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text= " @string /welcome_message "

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Aqui, o TextView é usado para exibir um recurso de string (por exemplo, uma mensagem de boas-vindas). Ao usar wrap_content para a largura, o elemento é redimensionado automaticamente para caber no tamanho do texto traduzido, em vez de ser restringido por uma dimensão fixa. Além disso, o ConstraintLayout mantém o TextView posicionado corretamente na tela, independentemente do tamanho do texto ou da tela.

Criar um layout flexível desde o início faz com que seu aplicativo tenha uma ótima aparência, independentemente do idioma em que esteja localizado.

  1. Prepare-se para a localização com texto externalizado

A etapa final para preparar seu aplicativo Android para localização exige que você armazene todo o texto voltado para o usuário em um arquivo de recurso separado, em vez de codificá-lo. Com um arquivo de recursos centralizado, como strings.xml, você não precisará substituir manualmente o texto espalhado pelo seu código.

Veja como fazer isso:

  • Localize a pasta “res/values/” no diretório do seu projeto.
  • Abra o “strings.xml” arquivo (se não existir, crie um).
  • Adicione seu texto ao arquivo usando um par nome-valor:

<?xml version="1.0" encoding="utf-8"?>

<resources>
< string name= " welcome_message " > Bem-vindo ao meu aplicativo!</string>
</resources>

Volte para o arquivo activity_main.xml e atualize o TextView para referenciar o recurso de string:

<TextView
android:text= " @string /welcome_message "

Organizar seu projeto dessa forma internacionalizará seu aplicativo Android, permitindo que você delineie facilmente o conteúdo que precisa ser localizado em um idioma diferente.

Como localizar um aplicativo Android em 4 etapas

Agora que você preparou seu aplicativo Android, é hora de analisar o processo de localização passo a passo, desde a configuração de recursos específicos do idioma até a alteração dinâmica da localidade do aplicativo Android.

  1. Expanda strings.xml para localização

Na fase de preparação, você criou um arquivo strings.xml para gerenciar todo o texto em seu aplicativo Android. Agora, é hora de expandir isso criando versões específicas do arquivo para cada idioma suportado.

Primeiro, crie novas pastas para cada idioma de destino no diretório res do seu projeto. Use um nome de pasta que inclua o código de idioma apropriado (por exemplo, “res/values-es/” para espanhol e “res/values-fr/” para francês).

Copie seu arquivo strings.xml padrão em cada pasta. Em seguida, traduza manualmente o texto para cada idioma. Por exemplo, o arquivo padrão em inglês pode dizer:

<TextView
<string name="hello_world">Hello, World!string>

A versão em espanhol em “values-es/strings.xml” seria:

<TextView
<string name="hello_world">¡Hola, Mundo!string>

Depois de criar esses arquivos XML específicos do idioma, o Android escolhe automaticamente a versão correta do strings.xml com base nas configurações de idioma do dispositivo do usuário.

  1. Gerencie plurais para traduções precisas

Os plurais são complicados porque cada idioma os trata de forma diferente. Por exemplo, “um item” é singular em inglês, mas todos os outros números são plurais, seja “zero itens” ou “duzentos itens”. No entanto, idiomas como russo, galês e tcheco usam regras mais específicas para plurais com base no número.

Veja como definir cadeias de caracteres pluralizadas em strings.xmlpara inglês:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<plurals name="item_count">

<item quantity="one">%d item</item>

< quantidade de itens = " outros " > %d itens</item>

</plurals>

</resources>


Isso explica os seguintes valores de quantidade:

  • Um: usado para formas singulares (por exemplo, um item).
  • Outros: Usado para formas plurais (por exemplo, zero itens, dois itens, três itens).

O inglês exige apenas “um” e “outro”, mas outros idiomas têm mais classificações. Para gerenciar isso, o Android fornece uma tag em strings.xml. O Android suporta tags para zero, um, dois, poucos, muitos e outros. Aqui estão alguns exemplos de linguagens que usam cada tag:

  • O árabe emprega um acordo gramatical especial para zero.
  • O russo trata qualquer número que termine em “1” de forma diferente, a menos que termine em “11”.
  • O galês usa uma pluralização distinta quando há duas coisas.
  • Idiomas como tcheco e maltês distinguem entre números pequenos e grandes.
  • O chinês não faz distinções.

Veja como recuperar e formatar a string pluralizada em Kotlin:

val ItemCount = 3

val message = resources.getQuantityString (r.plurals.item_count, Contagem de itens, contagem de itens)

Neste código, r.plurals.Contagem de itens é o ID do recurso plural. O primeiro Contagem de itens seleciona a string plural com base nas regras de plural da localidade do dispositivo, e o segundo ItemCount substitui o espaço reservado%d.

Por exemplo, aqui estão as saídas em inglês:

  • Para ItemCount = 1: “1 item”
  • Para ItemCount = 3: “3 itens”
  1. Use espaços reservados para valores dinâmicos

Os aplicativos geralmente exibem conteúdo personalizado ou dinâmico, como o nome de um usuário ou o número de notificações que ele tem. Em vez de codificar esse conteúdo, você pode usar espaços reservados em suas strings, da seguinte forma:

<resources>

< string name= " welcome_message " > Bem-vindo, %1$s! Você tem %2$d novas mensagens.</string>

</resources>

Veja como funciona:

  • %1$s é um espaço reservado para uma string (como um nome).
  • %2$d é um espaço reservado para um número (como a contagem de mensagens).

Quando o aplicativo é executado, esses espaços reservados são substituídos dinamicamente por valores inseridos pelo usuário e seus dados dinâmicos.

  1. Adicione dicas contextuais

Os tradutores nem sempre sabem como uma string é usada em seu aplicativo. Por exemplo, uma palavra como “menu” pode significar uma lista suspensa, uma lista de alimentos de um restaurante ou uma página de configurações. Para evitar confusões, você pode adicionar comentários diretamente em seu strings.xml:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<!-- This string is used as a label for the navigation menu →

<string name="menu_label">Menu</string>


<!-- This string is used for the settings button in the app →

<string name="settings_label">Settings</string>

</resources>

Essas notas informam ao tradutor que a palavra “menu” se refere a um recurso de navegação no aplicativo, não ao menu de um restaurante.

Testando a localização no Android

Testar seu aplicativo Android localizado é crucial para garantir que ele funcione em vários idiomas e regiões. Ao testar em emuladores e dispositivos reais, você pode detectar problemas e oferecer um aplicativo que pareça natural e funcional para usuários em todo o mundo.

Por que testar em dispositivos reais?

Dispositivos reais fornecem a simulação mais próxima de como os usuários interagirão com seu aplicativo. Eles mostram a aparência do texto traduzido na tela real do telefone, seja ele muito longo ou cortado.

Por que testar com emuladores?

Os emuladores são uma forma prática de testar seu aplicativo em várias configurações. Eles permitem que você alterne rapidamente entre idiomas e regiões para verificar traduções, ajustes de layout e comportamento da interface do usuário.

A combinação dos dois métodos permite que você mantenha a funcionalidade e a experiência do usuário ideais em vários idiomas e localidades.

Como usar o Smartling para localização no Android

O Smartling elimina a complexidade da localização do Android. Com ferramentas baseadas em IA, integrações perfeitas de arquivos XML do Android e uma equipe de tradutores especializados, a Smartling oferece vários serviços para agilizar todo o processo de tradução do início ao fim e automatizar fluxos de trabalho manuais.

Sua empresa pode aproveitar os sistemas de automação e os insights baseados em dados da Smartling para localizar mais rapidamente e manter a consistência da marca nos mercados globais, superando seus concorrentes e proporcionando uma experiência de usuário incomparável.

Pronto para localizar de forma mais inteligente, não mais difícil? Baixe nosso eBook gratuito, “10 estratégias para aumentar a eficiência da tradução. ” Você aprenderá como melhorar a velocidade, a qualidade e o custo da tradução com estratégias acionáveis e exemplos do mundo real.

Se você quiser se conectar com usuários do Android em diferentes países e culturas, precisará localizar seu aplicativo para oferecer suporte a vários idiomas. Esse processo começa com a internacionalização do Android (i18n), que estabelece as bases para uma localização perfeita.

Internacionalizar seu aplicativo Android significa projetá-lo para acomodar vários idiomas sem alterações de engenharia. Isso fará com que seu aplicativo pareça familiar para usuários de outra região ou cultura, aumentando a usabilidade e abrindo as portas para novos mercados. O processo só precisa ser feito uma vez, economizando tempo e dinheiro em cada localização subsequente.

Este guia passo a passo guiará você pelo processo de internacionalização e localização do seu aplicativo Android. Você aprenderá a preparar seu aplicativo, lidar com conteúdo dinâmico e testar em vários idiomas e localidades.

Como se preparar para a localização de aplicativos Android

A internacionalização prepara seu aplicativo Android para a localização. Esse processo estabelece uma base sólida no Android Studio para garantir que seu aplicativo seja compatível com vários idiomas e regiões. Veja como começar:

  1. Instale o Android Studio

Comece baixando e instalando o Android Studio. O Android Studio é o ambiente oficial de desenvolvimento para Android, fornecendo tudo o que você precisa para internacionalizar, localizar e testar seu aplicativo.

  1. Crie um novo projeto Android

Abra o Android Studio e crie um novo projeto. O modelo “Atividade vazia” oferece um ponto de partida simples.

Em seguida, defina as configurações do seu projeto da seguinte forma:

  • Nome: insira o nome do seu aplicativo (por exemplo, “LocalizedApp”).
  • Nome do pacote: use um identificador exclusivo como “com.example.localizedappi18n”.
  • Idioma: selecione Kotlin (recomendado) ou Java.
  • SDK mínimo: defina a versão mais baixa do Android que seu aplicativo suportará.

Em seguida, confirme suas escolhas para gerar a estrutura do projeto.

  1. Adicione elementos de interface do usuário com layouts flexíveis

Ao adicionar elementos de interface de usuário, crie com a localização em mente. Idiomas como o alemão geralmente exigem mais espaço do que o inglês, enquanto os caracteres chineses são mais compactos. Evite definir larguras fixas para elementos de texto, pois traduções mais longas em alguns idiomas podem exceder o tamanho do contêiner.

Considere usar ferramentas como o ConstraintLayout para permitir que os elementos da interface do usuário ajustem a posição e o tamanho dinamicamente com base no tamanho do texto traduzido. 

Aqui está um exemplo de XML:

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout

xmlns: android= "http://schemas.android.com/apk/res/android"

xmlns: app = "http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="match_parent">


<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text= " @string /welcome_message "

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Aqui, o TextView é usado para exibir um recurso de string (por exemplo, uma mensagem de boas-vindas). Ao usar wrap_content para a largura, o elemento é redimensionado automaticamente para caber no tamanho do texto traduzido, em vez de ser restringido por uma dimensão fixa. Além disso, o ConstraintLayout mantém o TextView posicionado corretamente na tela, independentemente do tamanho do texto ou da tela.

Criar um layout flexível desde o início faz com que seu aplicativo tenha uma ótima aparência, independentemente do idioma em que esteja localizado.

  1. Prepare-se para a localização com texto externalizado

A etapa final para preparar seu aplicativo Android para localização exige que você armazene todo o texto voltado para o usuário em um arquivo de recurso separado, em vez de codificá-lo. Com um arquivo de recursos centralizado, como strings.xml, você não precisará substituir manualmente o texto espalhado pelo seu código.

Veja como fazer isso:

  • Localize a pasta “res/values/” no diretório do seu projeto.
  • Abra o “strings.xml” arquivo (se não existir, crie um).
  • Adicione seu texto ao arquivo usando um par nome-valor:

<?xml version="1.0" encoding="utf-8"?>

<resources>
< string name= " welcome_message " > Bem-vindo ao meu aplicativo!</string>
</resources>

Volte para o arquivo activity_main.xml e atualize o TextView para referenciar o recurso de string:

<TextView
android:text= " @string /welcome_message "

Organizar seu projeto dessa forma internacionalizará seu aplicativo Android, permitindo que você delineie facilmente o conteúdo que precisa ser localizado em um idioma diferente.

Como localizar um aplicativo Android em 4 etapas

Agora que você preparou seu aplicativo Android, é hora de analisar o processo de localização passo a passo, desde a configuração de recursos específicos do idioma até a alteração dinâmica da localidade do aplicativo Android.

  1. Expanda strings.xml para localização

Na fase de preparação, você criou um arquivo strings.xml para gerenciar todo o texto em seu aplicativo Android. Agora, é hora de expandir isso criando versões específicas do arquivo para cada idioma suportado.

Primeiro, crie novas pastas para cada idioma de destino no diretório res do seu projeto. Use um nome de pasta que inclua o código de idioma apropriado (por exemplo, “res/values-es/” para espanhol e “res/values-fr/” para francês).

Copie seu arquivo strings.xml padrão em cada pasta. Em seguida, traduza manualmente o texto para cada idioma. Por exemplo, o arquivo padrão em inglês pode dizer:

<TextView
<string name="hello_world">Hello, World!string>

A versão em espanhol em “values-es/strings.xml” seria:

<TextView
<string name="hello_world">¡Hola, Mundo!string>

Depois de criar esses arquivos XML específicos do idioma, o Android escolhe automaticamente a versão correta do strings.xml com base nas configurações de idioma do dispositivo do usuário.

  1. Gerencie plurais para traduções precisas

Os plurais são complicados porque cada idioma os trata de forma diferente. Por exemplo, “um item” é singular em inglês, mas todos os outros números são plurais, seja “zero itens” ou “duzentos itens”. No entanto, idiomas como russo, galês e tcheco usam regras mais específicas para plurais com base no número.

Veja como definir cadeias de caracteres pluralizadas em strings.xmlpara inglês:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<plurals name="item_count">

<item quantity="one">%d item</item>

< quantidade de itens = " outros " > %d itens</item>

</plurals>

</resources>


Isso explica os seguintes valores de quantidade:

  • Um: usado para formas singulares (por exemplo, um item).
  • Outros: Usado para formas plurais (por exemplo, zero itens, dois itens, três itens).

O inglês exige apenas “um” e “outro”, mas outros idiomas têm mais classificações. Para gerenciar isso, o Android fornece uma tag em strings.xml. O Android suporta tags para zero, um, dois, poucos, muitos e outros. Aqui estão alguns exemplos de linguagens que usam cada tag:

  • O árabe emprega um acordo gramatical especial para zero.
  • O russo trata qualquer número que termine em “1” de forma diferente, a menos que termine em “11”.
  • O galês usa uma pluralização distinta quando há duas coisas.
  • Idiomas como tcheco e maltês distinguem entre números pequenos e grandes.
  • O chinês não faz distinções.

Veja como recuperar e formatar a string pluralizada em Kotlin:

val ItemCount = 3

val message = resources.getQuantityString (r.plurals.item_count, Contagem de itens, contagem de itens)

Neste código, r.plurals.Contagem de itens é o ID do recurso plural. O primeiro Contagem de itens seleciona a string plural com base nas regras de plural da localidade do dispositivo, e o segundo ItemCount substitui o espaço reservado%d.

Por exemplo, aqui estão as saídas em inglês:

  • Para ItemCount = 1: “1 item”
  • Para ItemCount = 3: “3 itens”
  1. Use espaços reservados para valores dinâmicos

Os aplicativos geralmente exibem conteúdo personalizado ou dinâmico, como o nome de um usuário ou o número de notificações que ele tem. Em vez de codificar esse conteúdo, você pode usar espaços reservados em suas strings, da seguinte forma:

<resources>

< string name= " welcome_message " > Bem-vindo, %1$s! Você tem %2$d novas mensagens.</string>

</resources>

Veja como funciona:

  • %1$s é um espaço reservado para uma string (como um nome).
  • %2$d é um espaço reservado para um número (como a contagem de mensagens).

Quando o aplicativo é executado, esses espaços reservados são substituídos dinamicamente por valores inseridos pelo usuário e seus dados dinâmicos.

  1. Adicione dicas contextuais

Os tradutores nem sempre sabem como uma string é usada em seu aplicativo. Por exemplo, uma palavra como “menu” pode significar uma lista suspensa, uma lista de alimentos de um restaurante ou uma página de configurações. Para evitar confusões, você pode adicionar comentários diretamente em seu strings.xml:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<!-- This string is used as a label for the navigation menu →

<string name="menu_label">Menu</string>


<!-- This string is used for the settings button in the app →

<string name="settings_label">Settings</string>

</resources>

Essas notas informam ao tradutor que a palavra “menu” se refere a um recurso de navegação no aplicativo, não ao menu de um restaurante.

Testando a localização no Android

Testar seu aplicativo Android localizado é crucial para garantir que ele funcione em vários idiomas e regiões. Ao testar em emuladores e dispositivos reais, você pode detectar problemas e oferecer um aplicativo que pareça natural e funcional para usuários em todo o mundo.

Por que testar em dispositivos reais?

Dispositivos reais fornecem a simulação mais próxima de como os usuários interagirão com seu aplicativo. Eles mostram a aparência do texto traduzido na tela real do telefone, seja ele muito longo ou cortado.

Por que testar com emuladores?

Os emuladores são uma forma prática de testar seu aplicativo em várias configurações. Eles permitem que você alterne rapidamente entre idiomas e regiões para verificar traduções, ajustes de layout e comportamento da interface do usuário.

A combinação dos dois métodos permite que você mantenha a funcionalidade e a experiência do usuário ideais em vários idiomas e localidades.

Como usar o Smartling para localização no Android

O Smartling elimina a complexidade da localização do Android. Com ferramentas baseadas em IA, integrações perfeitas de arquivos XML do Android e uma equipe de tradutores especializados, a Smartling oferece vários serviços para agilizar todo o processo de tradução do início ao fim e automatizar fluxos de trabalho manuais.

Sua empresa pode aproveitar os sistemas de automação e os insights baseados em dados da Smartling para localizar mais rapidamente e manter a consistência da marca nos mercados globais, superando seus concorrentes e proporcionando uma experiência de usuário incomparável.

Pronto para localizar de forma mais inteligente, não mais difícil? Baixe nosso eBook gratuito, “10 estratégias para aumentar a eficiência da tradução. ” Você aprenderá como melhorar a velocidade, a qualidade e o custo da tradução com estratégias acionáveis e exemplos do mundo real.

Se você quiser se conectar com usuários do Android em diferentes países e culturas, precisará localizar seu aplicativo para oferecer suporte a vários idiomas. Esse processo começa com a internacionalização do Android (i18n), que estabelece as bases para uma localização perfeita.

Internacionalizar seu aplicativo Android significa projetá-lo para acomodar vários idiomas sem alterações de engenharia. Isso fará com que seu aplicativo pareça familiar para usuários de outra região ou cultura, aumentando a usabilidade e abrindo as portas para novos mercados. O processo só precisa ser feito uma vez, economizando tempo e dinheiro em cada localização subsequente.

Este guia passo a passo guiará você pelo processo de internacionalização e localização do seu aplicativo Android. Você aprenderá a preparar seu aplicativo, lidar com conteúdo dinâmico e testar em vários idiomas e localidades.

Como se preparar para a localização de aplicativos Android

A internacionalização prepara seu aplicativo Android para a localização. Esse processo estabelece uma base sólida no Android Studio para garantir que seu aplicativo seja compatível com vários idiomas e regiões. Veja como começar:

  1. Instale o Android Studio

Comece baixando e instalando o Android Studio. O Android Studio é o ambiente oficial de desenvolvimento para Android, fornecendo tudo o que você precisa para internacionalizar, localizar e testar seu aplicativo.

  1. Crie um novo projeto Android

Abra o Android Studio e crie um novo projeto. O modelo “Atividade vazia” oferece um ponto de partida simples.

Em seguida, defina as configurações do seu projeto da seguinte forma:

  • Nome: insira o nome do seu aplicativo (por exemplo, “LocalizedApp”).
  • Nome do pacote: use um identificador exclusivo como “com.example.localizedappi18n”.
  • Idioma: selecione Kotlin (recomendado) ou Java.
  • SDK mínimo: defina a versão mais baixa do Android que seu aplicativo suportará.

Em seguida, confirme suas escolhas para gerar a estrutura do projeto.

  1. Adicione elementos de interface do usuário com layouts flexíveis

Ao adicionar elementos de interface de usuário, crie com a localização em mente. Idiomas como o alemão geralmente exigem mais espaço do que o inglês, enquanto os caracteres chineses são mais compactos. Evite definir larguras fixas para elementos de texto, pois traduções mais longas em alguns idiomas podem exceder o tamanho do contêiner.

Considere usar ferramentas como o ConstraintLayout para permitir que os elementos da interface do usuário ajustem a posição e o tamanho dinamicamente com base no tamanho do texto traduzido. 

Aqui está um exemplo de XML:

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout

xmlns: android= "http://schemas.android.com/apk/res/android"

xmlns: app = "http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="match_parent">

 

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text= " @string /welcome_message "

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Aqui, o TextView é usado para exibir um recurso de string (por exemplo, uma mensagem de boas-vindas). Ao usar wrap_content para a largura, o elemento é redimensionado automaticamente para caber no tamanho do texto traduzido, em vez de ser restringido por uma dimensão fixa. Além disso, o ConstraintLayout mantém o TextView posicionado corretamente na tela, independentemente do tamanho do texto ou da tela.

Criar um layout flexível desde o início faz com que seu aplicativo tenha uma ótima aparência, independentemente do idioma em que esteja localizado.

  1. Prepare-se para a localização com texto externalizado

A etapa final para preparar seu aplicativo Android para localização exige que você armazene todo o texto voltado para o usuário em um arquivo de recurso separado, em vez de codificá-lo. Com um arquivo de recursos centralizado, como strings.xml, você não precisará substituir manualmente o texto espalhado pelo seu código.

Veja como fazer isso:

  • Localize a pasta “res/values/” no diretório do seu projeto.
  • Abra o “strings.xml” arquivo (se não existir, crie um).
  • Adicione seu texto ao arquivo usando um par nome-valor:

<?xml version="1.0" encoding="utf-8"?>

<resources>
< string name= " welcome_message " > Bem-vindo ao meu aplicativo!</string>
</resources>

Volte para o arquivo activity_main.xml e atualize o TextView para referenciar o recurso de string:

<TextView
android:text= " @string /welcome_message "

Organizar seu projeto dessa forma internacionalizará seu aplicativo Android, permitindo que você delineie facilmente o conteúdo que precisa ser localizado em um idioma diferente.

Como localizar um aplicativo Android em 4 etapas

Agora que você preparou seu aplicativo Android, é hora de analisar o processo de localização passo a passo, desde a configuração de recursos específicos do idioma até a alteração dinâmica da localidade do aplicativo Android.

  1. Expanda strings.xml para localização

Na fase de preparação, você criou um arquivo strings.xml para gerenciar todo o texto em seu aplicativo Android. Agora, é hora de expandir isso criando versões específicas do arquivo para cada idioma suportado.

Primeiro, crie novas pastas para cada idioma de destino no diretório res do seu projeto. Use um nome de pasta que inclua o código de idioma apropriado (por exemplo, “res/values-es/” para espanhol e “res/values-fr/” para francês).

Copie seu arquivo strings.xml padrão em cada pasta. Em seguida, traduza manualmente o texto para cada idioma. Por exemplo, o arquivo padrão em inglês pode dizer:

<TextView
<string name="hello_world">Hello, World!string>

A versão em espanhol em “values-es/strings.xml” seria:

<TextView
<string name="hello_world">¡Hola, Mundo!string>

Depois de criar esses arquivos XML específicos do idioma, o Android escolhe automaticamente a versão correta do strings.xml com base nas configurações de idioma do dispositivo do usuário.

  1. Gerencie plurais para traduções precisas

Os plurais são complicados porque cada idioma os trata de forma diferente. Por exemplo, “um item” é singular em inglês, mas todos os outros números são plurais, seja “zero itens” ou “duzentos itens”. No entanto, idiomas como russo, galês e tcheco usam regras mais específicas para plurais com base no número.

Veja como definir cadeias de caracteres pluralizadas em strings.xmlpara inglês:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<plurals name="item_count">

<item quantity="one">%d item</item>

< quantidade de itens = " outros " > %d itens</item>

</plurals>

</resources>

 

Isso explica os seguintes valores de quantidade:

  • Um: usado para formas singulares (por exemplo, um item).
  • Outros: Usado para formas plurais (por exemplo, zero itens, dois itens, três itens).

O inglês exige apenas “um” e “outro”, mas outros idiomas têm mais classificações. Para gerenciar isso, o Android fornece uma tag em strings.xml. O Android suporta tags para zero, um, dois, poucos, muitos e outros. Aqui estão alguns exemplos de linguagens que usam cada tag:

  • O árabe emprega um acordo gramatical especial para zero.
  • O russo trata qualquer número que termine em “1” de forma diferente, a menos que termine em “11”.
  • O galês usa uma pluralização distinta quando há duas coisas.
  • Idiomas como tcheco e maltês distinguem entre números pequenos e grandes.
  • O chinês não faz distinções.

Veja como recuperar e formatar a string pluralizada em Kotlin:

val ItemCount = 3

val message = resources.getQuantityString (r.plurals.item_count, Contagem de itens, contagem de itens)

Neste código, r.plurals.Contagem de itens é o ID do recurso plural. O primeiro Contagem de itens seleciona a string plural com base nas regras de plural da localidade do dispositivo, e o segundo ItemCount substitui o espaço reservado%d.

Por exemplo, aqui estão as saídas em inglês:

  • Para ItemCount = 1: “1 item”
  • Para ItemCount = 3: “3 itens”
  1. Use espaços reservados para valores dinâmicos

Os aplicativos geralmente exibem conteúdo personalizado ou dinâmico, como o nome de um usuário ou o número de notificações que ele tem. Em vez de codificar esse conteúdo, você pode usar espaços reservados em suas strings, da seguinte forma:

<resources>

< string name= " welcome_message " > Bem-vindo, %1$s! Você tem %2$d novas mensagens.</string>

</resources>

Veja como funciona:

  • %1$s é um espaço reservado para uma string (como um nome).
  • %2$d é um espaço reservado para um número (como a contagem de mensagens).

Quando o aplicativo é executado, esses espaços reservados são substituídos dinamicamente por valores inseridos pelo usuário e seus dados dinâmicos.

  1. Adicione dicas contextuais

Os tradutores nem sempre sabem como uma string é usada em seu aplicativo. Por exemplo, uma palavra como “menu” pode significar uma lista suspensa, uma lista de alimentos de um restaurante ou uma página de configurações. Para evitar confusões, você pode adicionar comentários diretamente em seu strings.xml:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<!-- This string is used as a label for the navigation menu →

<string name="menu_label">Menu</string>

 

<!-- This string is used for the settings button in the app →

<string name="settings_label">Settings</string>

</resources>

Essas notas informam ao tradutor que a palavra “menu” se refere a um recurso de navegação no aplicativo, não ao menu de um restaurante.

Testando a localização no Android

Testar seu aplicativo Android localizado é crucial para garantir que ele funcione em vários idiomas e regiões. Ao testar em emuladores e dispositivos reais, você pode detectar problemas e oferecer um aplicativo que pareça natural e funcional para usuários em todo o mundo.

Por que testar em dispositivos reais?

Dispositivos reais fornecem a simulação mais próxima de como os usuários interagirão com seu aplicativo. Eles mostram a aparência do texto traduzido na tela real do telefone, seja ele muito longo ou cortado.

Por que testar com emuladores?

Os emuladores são uma forma prática de testar seu aplicativo em várias configurações. Eles permitem que você alterne rapidamente entre idiomas e regiões para verificar traduções, ajustes de layout e comportamento da interface do usuário.

A combinação dos dois métodos permite que você mantenha a funcionalidade e a experiência do usuário ideais em vários idiomas e localidades.

Como usar o Smartling para localização no Android

O Smartling elimina a complexidade da localização do Android. Com ferramentas baseadas em IA, integrações perfeitas de arquivos XML do Android e uma equipe de tradutores especializados, a Smartling oferece vários serviços para agilizar todo o processo de tradução do início ao fim e automatizar fluxos de trabalho manuais.

Sua empresa pode aproveitar os sistemas de automação e os insights baseados em dados da Smartling para localizar mais rapidamente e manter a consistência da marca nos mercados globais, superando seus concorrentes e proporcionando uma experiência de usuário incomparável.

Pronto para localizar de forma mais inteligente, não mais difícil? Baixe nosso eBook gratuito, “10 estratégias para aumentar a eficiência da tradução. ” Você aprenderá como melhorar a velocidade, a qualidade e o custo da tradução com estratégias acionáveis e exemplos do mundo real.

Se você quiser se conectar com usuários do Android em diferentes países e culturas, precisará localizar seu aplicativo para oferecer suporte a vários idiomas. Esse processo começa com a internacionalização do Android (i18n), que estabelece as bases para uma localização perfeita.

Internacionalizar seu aplicativo Android significa projetá-lo para acomodar vários idiomas sem alterações de engenharia. Isso fará com que seu aplicativo pareça familiar para usuários de outra região ou cultura, aumentando a usabilidade e abrindo as portas para novos mercados. O processo só precisa ser feito uma vez, economizando tempo e dinheiro em cada localização subsequente.

Este guia passo a passo guiará você pelo processo de internacionalização e localização do seu aplicativo Android. Você aprenderá a preparar seu aplicativo, lidar com conteúdo dinâmico e testar em vários idiomas e localidades.

Como se preparar para a localização de aplicativos Android

A internacionalização prepara seu aplicativo Android para a localização. Esse processo estabelece uma base sólida no Android Studio para garantir que seu aplicativo seja compatível com vários idiomas e regiões. Veja como começar:

  1. Instale o Android Studio

Comece baixando e instalando o Android Studio. O Android Studio é o ambiente oficial de desenvolvimento para Android, fornecendo tudo o que você precisa para internacionalizar, localizar e testar seu aplicativo.

  1. Crie um novo projeto Android

Abra o Android Studio e crie um novo projeto. O modelo “Atividade vazia” oferece um ponto de partida simples.

Em seguida, defina as configurações do seu projeto da seguinte forma:

  • Nome: insira o nome do seu aplicativo (por exemplo, “LocalizedApp”).
  • Nome do pacote: use um identificador exclusivo como “com.example.localizedappi18n”.
  • Idioma: selecione Kotlin (recomendado) ou Java.
  • SDK mínimo: defina a versão mais baixa do Android que seu aplicativo suportará.

Em seguida, confirme suas escolhas para gerar a estrutura do projeto.

  1. Adicione elementos de interface do usuário com layouts flexíveis

Ao adicionar elementos de interface de usuário, crie com a localização em mente. Idiomas como o alemão geralmente exigem mais espaço do que o inglês, enquanto os caracteres chineses são mais compactos. Evite definir larguras fixas para elementos de texto, pois traduções mais longas em alguns idiomas podem exceder o tamanho do contêiner.

Considere usar ferramentas como o ConstraintLayout para permitir que os elementos da interface do usuário ajustem a posição e o tamanho dinamicamente com base no tamanho do texto traduzido. 

Aqui está um exemplo de XML:

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout

xmlns: android= "http://schemas.android.com/apk/res/android"

xmlns: app = "http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="match_parent">

 

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text= " @string /welcome_message "

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Aqui, o TextView é usado para exibir um recurso de string (por exemplo, uma mensagem de boas-vindas). Ao usar wrap_content para a largura, o elemento é redimensionado automaticamente para caber no tamanho do texto traduzido, em vez de ser restringido por uma dimensão fixa. Além disso, o ConstraintLayout mantém o TextView posicionado corretamente na tela, independentemente do tamanho do texto ou da tela.

Criar um layout flexível desde o início faz com que seu aplicativo tenha uma ótima aparência, independentemente do idioma em que esteja localizado.

  1. Prepare-se para a localização com texto externalizado

A etapa final para preparar seu aplicativo Android para localização exige que você armazene todo o texto voltado para o usuário em um arquivo de recurso separado, em vez de codificá-lo. Com um arquivo de recursos centralizado, como strings.xml, você não precisará substituir manualmente o texto espalhado pelo seu código.

Veja como fazer isso:

  • Localize a pasta “res/values/” no diretório do seu projeto.
  • Abra o “strings.xml” arquivo (se não existir, crie um).
  • Adicione seu texto ao arquivo usando um par nome-valor:

<?xml version="1.0" encoding="utf-8"?>

<resources>
< string name= " welcome_message " > Bem-vindo ao meu aplicativo!</string>
</resources>

Volte para o arquivo activity_main.xml e atualize o TextView para referenciar o recurso de string:

<TextView
android:text= " @string /welcome_message "

Organizar seu projeto dessa forma internacionalizará seu aplicativo Android, permitindo que você delineie facilmente o conteúdo que precisa ser localizado em um idioma diferente.

Como localizar um aplicativo Android em 4 etapas

Agora que você preparou seu aplicativo Android, é hora de analisar o processo de localização passo a passo, desde a configuração de recursos específicos do idioma até a alteração dinâmica da localidade do aplicativo Android.

  1. Expanda strings.xml para localização

Na fase de preparação, você criou um arquivo strings.xml para gerenciar todo o texto em seu aplicativo Android. Agora, é hora de expandir isso criando versões específicas do arquivo para cada idioma suportado.

Primeiro, crie novas pastas para cada idioma de destino no diretório res do seu projeto. Use um nome de pasta que inclua o código de idioma apropriado (por exemplo, “res/values-es/” para espanhol e “res/values-fr/” para francês).

Copie seu arquivo strings.xml padrão em cada pasta. Em seguida, traduza manualmente o texto para cada idioma. Por exemplo, o arquivo padrão em inglês pode dizer:

<TextView
<string name="hello_world">Hello, World!string>

A versão em espanhol em “values-es/strings.xml” seria:

<TextView
<string name="hello_world">¡Hola, Mundo!string>

Depois de criar esses arquivos XML específicos do idioma, o Android escolhe automaticamente a versão correta do strings.xml com base nas configurações de idioma do dispositivo do usuário.

  1. Gerencie plurais para traduções precisas

Os plurais são complicados porque cada idioma os trata de forma diferente. Por exemplo, “um item” é singular em inglês, mas todos os outros números são plurais, seja “zero itens” ou “duzentos itens”. No entanto, idiomas como russo, galês e tcheco usam regras mais específicas para plurais com base no número.

Veja como definir cadeias de caracteres pluralizadas em strings.xmlpara inglês:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<plurals name="item_count">

<item quantity="one">%d item</item>

< quantidade de itens = " outros " > %d itens</item>

</plurals>

</resources>

 

Isso explica os seguintes valores de quantidade:

  • Um: usado para formas singulares (por exemplo, um item).
  • Outros: Usado para formas plurais (por exemplo, zero itens, dois itens, três itens).

O inglês exige apenas “um” e “outro”, mas outros idiomas têm mais classificações. Para gerenciar isso, o Android fornece uma tag em strings.xml. O Android suporta tags para zero, um, dois, poucos, muitos e outros. Aqui estão alguns exemplos de linguagens que usam cada tag:

  • O árabe emprega um acordo gramatical especial para zero.
  • O russo trata qualquer número que termine em “1” de forma diferente, a menos que termine em “11”.
  • O galês usa uma pluralização distinta quando há duas coisas.
  • Idiomas como tcheco e maltês distinguem entre números pequenos e grandes.
  • O chinês não faz distinções.

Veja como recuperar e formatar a string pluralizada em Kotlin:

val ItemCount = 3

val message = resources.getQuantityString (r.plurals.item_count, Contagem de itens, contagem de itens)

Neste código, r.plurals.Contagem de itens é o ID do recurso plural. O primeiro Contagem de itens seleciona a string plural com base nas regras de plural da localidade do dispositivo, e o segundo ItemCount substitui o espaço reservado%d.

Por exemplo, aqui estão as saídas em inglês:

  • Para ItemCount = 1: “1 item”
  • Para ItemCount = 3: “3 itens”
  1. Use espaços reservados para valores dinâmicos

Os aplicativos geralmente exibem conteúdo personalizado ou dinâmico, como o nome de um usuário ou o número de notificações que ele tem. Em vez de codificar esse conteúdo, você pode usar espaços reservados em suas strings, da seguinte forma:

<resources>

< string name= " welcome_message " > Bem-vindo, %1$s! Você tem %2$d novas mensagens.</string>

</resources>

Veja como funciona:

  • %1$s é um espaço reservado para uma string (como um nome).
  • %2$d é um espaço reservado para um número (como a contagem de mensagens).

Quando o aplicativo é executado, esses espaços reservados são substituídos dinamicamente por valores inseridos pelo usuário e seus dados dinâmicos.

  1. Adicione dicas contextuais

Os tradutores nem sempre sabem como uma string é usada em seu aplicativo. Por exemplo, uma palavra como “menu” pode significar uma lista suspensa, uma lista de alimentos de um restaurante ou uma página de configurações. Para evitar confusões, você pode adicionar comentários diretamente em seu strings.xml:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<!-- This string is used as a label for the navigation menu →

<string name="menu_label">Menu</string>

 

<!-- This string is used for the settings button in the app →

<string name="settings_label">Settings</string>

</resources>

Essas notas informam ao tradutor que a palavra “menu” se refere a um recurso de navegação no aplicativo, não ao menu de um restaurante.

Testando a localização no Android

Testar seu aplicativo Android localizado é crucial para garantir que ele funcione em vários idiomas e regiões. Ao testar em emuladores e dispositivos reais, você pode detectar problemas e oferecer um aplicativo que pareça natural e funcional para usuários em todo o mundo.

Por que testar em dispositivos reais?

Dispositivos reais fornecem a simulação mais próxima de como os usuários interagirão com seu aplicativo. Eles mostram a aparência do texto traduzido na tela real do telefone, seja ele muito longo ou cortado.

Por que testar com emuladores?

Os emuladores são uma forma prática de testar seu aplicativo em várias configurações. Eles permitem que você alterne rapidamente entre idiomas e regiões para verificar traduções, ajustes de layout e comportamento da interface do usuário.

A combinação dos dois métodos permite que você mantenha a funcionalidade e a experiência do usuário ideais em vários idiomas e localidades.

Como usar o Smartling para localização no Android

O Smartling elimina a complexidade da localização do Android. Com ferramentas baseadas em IA, integrações perfeitas de arquivos XML do Android e uma equipe de tradutores especializados, a Smartling oferece vários serviços para agilizar todo o processo de tradução do início ao fim e automatizar fluxos de trabalho manuais.

Sua empresa pode aproveitar os sistemas de automação e os insights baseados em dados da Smartling para localizar mais rapidamente e manter a consistência da marca nos mercados globais, superando seus concorrentes e proporcionando uma experiência de usuário incomparável.

Pronto para localizar de forma mais inteligente, não mais difícil? Baixe nosso eBook gratuito, “10 estratégias para aumentar a eficiência da tradução. ” Você aprenderá como melhorar a velocidade, a qualidade e o custo da tradução com estratégias acionáveis e exemplos do mundo real.

Se você quiser se conectar com usuários do Android em diferentes países e culturas, precisará localizar seu aplicativo para oferecer suporte a vários idiomas. Esse processo começa com a internacionalização do Android (i18n), que estabelece as bases para uma localização perfeita.

Internacionalizar seu aplicativo Android significa projetá-lo para acomodar vários idiomas sem alterações de engenharia. Isso fará com que seu aplicativo pareça familiar para usuários de outra região ou cultura, aumentando a usabilidade e abrindo as portas para novos mercados. O processo só precisa ser feito uma vez, economizando tempo e dinheiro em cada localização subsequente.

Este guia passo a passo guiará você pelo processo de internacionalização e localização do seu aplicativo Android. Você aprenderá a preparar seu aplicativo, lidar com conteúdo dinâmico e testar em vários idiomas e localidades.

Como se preparar para a localização de aplicativos Android

A internacionalização prepara seu aplicativo Android para a localização. Esse processo estabelece uma base sólida no Android Studio para garantir que seu aplicativo seja compatível com vários idiomas e regiões. Veja como começar:

  1. Instale o Android Studio

Comece baixando e instalando o Android Studio. O Android Studio é o ambiente oficial de desenvolvimento para Android, fornecendo tudo o que você precisa para internacionalizar, localizar e testar seu aplicativo.

  1. Crie um novo projeto Android

Abra o Android Studio e crie um novo projeto. O modelo “Atividade vazia” oferece um ponto de partida simples.

Em seguida, defina as configurações do seu projeto da seguinte forma:

  • Nome: insira o nome do seu aplicativo (por exemplo, “LocalizedApp”).
  • Nome do pacote: use um identificador exclusivo como “com.example.localizedappi18n”.
  • Idioma: selecione Kotlin (recomendado) ou Java.
  • SDK mínimo: defina a versão mais baixa do Android que seu aplicativo suportará.

Em seguida, confirme suas escolhas para gerar a estrutura do projeto.

  1. Adicione elementos de interface do usuário com layouts flexíveis

Ao adicionar elementos de interface de usuário, crie com a localização em mente. Idiomas como o alemão geralmente exigem mais espaço do que o inglês, enquanto os caracteres chineses são mais compactos. Evite definir larguras fixas para elementos de texto, pois traduções mais longas em alguns idiomas podem exceder o tamanho do contêiner.

Considere usar ferramentas como o ConstraintLayout para permitir que os elementos da interface do usuário ajustem a posição e o tamanho dinamicamente com base no tamanho do texto traduzido. 

Aqui está um exemplo de XML:

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout

xmlns: android= "http://schemas.android.com/apk/res/android"

xmlns: app = "http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="match_parent">

 

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text= " @string /welcome_message "

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Aqui, o TextView é usado para exibir um recurso de string (por exemplo, uma mensagem de boas-vindas). Ao usar wrap_content para a largura, o elemento é redimensionado automaticamente para caber no tamanho do texto traduzido, em vez de ser restringido por uma dimensão fixa. Além disso, o ConstraintLayout mantém o TextView posicionado corretamente na tela, independentemente do tamanho do texto ou da tela.

Criar um layout flexível desde o início faz com que seu aplicativo tenha uma ótima aparência, independentemente do idioma em que esteja localizado.

  1. Prepare-se para a localização com texto externalizado

A etapa final para preparar seu aplicativo Android para localização exige que você armazene todo o texto voltado para o usuário em um arquivo de recurso separado, em vez de codificá-lo. Com um arquivo de recursos centralizado, como strings.xml, você não precisará substituir manualmente o texto espalhado pelo seu código.

Veja como fazer isso:

  • Localize a pasta “res/values/” no diretório do seu projeto.
  • Abra o “strings.xml” arquivo (se não existir, crie um).
  • Adicione seu texto ao arquivo usando um par nome-valor:

<?xml version="1.0" encoding="utf-8"?>

<resources>
< string name= " welcome_message " > Bem-vindo ao meu aplicativo!</string>
</resources>

Volte para o arquivo activity_main.xml e atualize o TextView para referenciar o recurso de string:

<TextView
android:text= " @string /welcome_message "

Organizar seu projeto dessa forma internacionalizará seu aplicativo Android, permitindo que você delineie facilmente o conteúdo que precisa ser localizado em um idioma diferente.

Como localizar um aplicativo Android em 4 etapas

Agora que você preparou seu aplicativo Android, é hora de analisar o processo de localização passo a passo, desde a configuração de recursos específicos do idioma até a alteração dinâmica da localidade do aplicativo Android.

  1. Expanda strings.xml para localização

Na fase de preparação, você criou um arquivo strings.xml para gerenciar todo o texto em seu aplicativo Android. Agora, é hora de expandir isso criando versões específicas do arquivo para cada idioma suportado.

Primeiro, crie novas pastas para cada idioma de destino no diretório res do seu projeto. Use um nome de pasta que inclua o código de idioma apropriado (por exemplo, “res/values-es/” para espanhol e “res/values-fr/” para francês).

Copie seu arquivo strings.xml padrão em cada pasta. Em seguida, traduza manualmente o texto para cada idioma. Por exemplo, o arquivo padrão em inglês pode dizer:

<TextView
<string name="hello_world">Hello, World!string>

A versão em espanhol em “values-es/strings.xml” seria:

<TextView
<string name="hello_world">¡Hola, Mundo!string>

Depois de criar esses arquivos XML específicos do idioma, o Android escolhe automaticamente a versão correta do strings.xml com base nas configurações de idioma do dispositivo do usuário.

  1. Gerencie plurais para traduções precisas

Os plurais são complicados porque cada idioma os trata de forma diferente. Por exemplo, “um item” é singular em inglês, mas todos os outros números são plurais, seja “zero itens” ou “duzentos itens”. No entanto, idiomas como russo, galês e tcheco usam regras mais específicas para plurais com base no número.

Veja como definir cadeias de caracteres pluralizadas em strings.xmlpara inglês:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<plurals name="item_count">

<item quantity="one">%d item</item>

< quantidade de itens = " outros " > %d itens</item>

</plurals>

</resources>

 

Isso explica os seguintes valores de quantidade:

  • Um: usado para formas singulares (por exemplo, um item).
  • Outros: Usado para formas plurais (por exemplo, zero itens, dois itens, três itens).

O inglês exige apenas “um” e “outro”, mas outros idiomas têm mais classificações. Para gerenciar isso, o Android fornece uma tag em strings.xml. O Android suporta tags para zero, um, dois, poucos, muitos e outros. Aqui estão alguns exemplos de linguagens que usam cada tag:

  • O árabe emprega um acordo gramatical especial para zero.
  • O russo trata qualquer número que termine em “1” de forma diferente, a menos que termine em “11”.
  • O galês usa uma pluralização distinta quando há duas coisas.
  • Idiomas como tcheco e maltês distinguem entre números pequenos e grandes.
  • O chinês não faz distinções.

Veja como recuperar e formatar a string pluralizada em Kotlin:

val ItemCount = 3

val message = resources.getQuantityString (r.plurals.item_count, Contagem de itens, contagem de itens)

Neste código, r.plurals.Contagem de itens é o ID do recurso plural. O primeiro Contagem de itens seleciona a string plural com base nas regras de plural da localidade do dispositivo, e o segundo ItemCount substitui o espaço reservado%d.

Por exemplo, aqui estão as saídas em inglês:

  • Para ItemCount = 1: “1 item”
  • Para ItemCount = 3: “3 itens”
  1. Use espaços reservados para valores dinâmicos

Os aplicativos geralmente exibem conteúdo personalizado ou dinâmico, como o nome de um usuário ou o número de notificações que ele tem. Em vez de codificar esse conteúdo, você pode usar espaços reservados em suas strings, da seguinte forma:

<resources>

< string name= " welcome_message " > Bem-vindo, %1$s! Você tem %2$d novas mensagens.</string>

</resources>

Veja como funciona:

  • %1$s é um espaço reservado para uma string (como um nome).
  • %2$d é um espaço reservado para um número (como a contagem de mensagens).

Quando o aplicativo é executado, esses espaços reservados são substituídos dinamicamente por valores inseridos pelo usuário e seus dados dinâmicos.

  1. Adicione dicas contextuais

Os tradutores nem sempre sabem como uma string é usada em seu aplicativo. Por exemplo, uma palavra como “menu” pode significar uma lista suspensa, uma lista de alimentos de um restaurante ou uma página de configurações. Para evitar confusões, você pode adicionar comentários diretamente em seu strings.xml:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<!-- This string is used as a label for the navigation menu →

<string name="menu_label">Menu</string>

 

<!-- This string is used for the settings button in the app →

<string name="settings_label">Settings</string>

</resources>

Essas notas informam ao tradutor que a palavra “menu” se refere a um recurso de navegação no aplicativo, não ao menu de um restaurante.

Testando a localização no Android

Testar seu aplicativo Android localizado é crucial para garantir que ele funcione em vários idiomas e regiões. Ao testar em emuladores e dispositivos reais, você pode detectar problemas e oferecer um aplicativo que pareça natural e funcional para usuários em todo o mundo.

Por que testar em dispositivos reais?

Dispositivos reais fornecem a simulação mais próxima de como os usuários interagirão com seu aplicativo. Eles mostram a aparência do texto traduzido na tela real do telefone, seja ele muito longo ou cortado.

Por que testar com emuladores?

Os emuladores são uma forma prática de testar seu aplicativo em várias configurações. Eles permitem que você alterne rapidamente entre idiomas e regiões para verificar traduções, ajustes de layout e comportamento da interface do usuário.

A combinação dos dois métodos permite que você mantenha a funcionalidade e a experiência do usuário ideais em vários idiomas e localidades.

Como usar o Smartling para localização no Android

O Smartling elimina a complexidade da localização do Android. Com ferramentas baseadas em IA, integrações perfeitas de arquivos XML do Android e uma equipe de tradutores especializados, a Smartling oferece vários serviços para agilizar todo o processo de tradução do início ao fim e automatizar fluxos de trabalho manuais.

Sua empresa pode aproveitar os sistemas de automação e os insights baseados em dados da Smartling para localizar mais rapidamente e manter a consistência da marca nos mercados globais, superando seus concorrentes e proporcionando uma experiência de usuário incomparável.

Pronto para localizar de forma mais inteligente, não mais difícil? Baixe nosso eBook gratuito, “10 estratégias para aumentar a eficiência da tradução. ” Você aprenderá como melhorar a velocidade, a qualidade e o custo da tradução com estratégias acionáveis e exemplos do mundo real.

Etiquetas: Sites e aplicativos da Web Blog

Por que esperar para traduzir com mais inteligência?

Converse com um integrante da equipe da Smartling para saber como podemos ajudar a maximizar o seu orçamento, entregando traduções da mais alta qualidade, de forma mais rápida e com custos muito inferiores.
Cta-Card-Side-Image