Pular para o conteúdo principal

Android (Kotlin)

O plugin do Gradle translate-projects-android adiciona a tarefa ./gradlew translateProjects: ele lê res/values/strings.xml, traduz os textos para cada idioma que você configurar e grava values-<idioma>/strings.xml.

Em desenvolvimento

O plugin ainda não foi publicado. A versão e a instalação final serão concluídas quando ele for lançado no Gradle Plugin Portal.

Requisitos​

  • Um projeto Android com Gradle e o DSL do Kotlin (build.gradle.kts).
  • JDK 17 ou superior para executar o Gradle.
  • Um projeto e um API token do Translate Projects. Veja Primeiros passos.

1. Instale o plugin​

Adicione o plugin no build.gradle.kts do módulo do app:

app/build.gradle.kts
plugins {
id("com.android.application")
id("dev.translateprojects.android") version "VERSION"
}

O plugin é baixado do Gradle Plugin Portal, que já está nos repositórios padrão (gradlePluginPortal() em settings.gradle.kts).

2. Configure o plugin​

app/build.gradle.kts
translateProjects {
sourceLang = "es"
targetLangs = listOf("en", "pt-BR", "fr")
apiKey = providers.environmentVariable("TRANSLATE_PROJECTS_API_KEY")
}
OpçãoObrigatórioDescrição
sourceLangSimIdioma de res/values/strings.xml. Deve ser o idioma padrão do projeto.
targetLangsSimIdiomas de destino, com os códigos da API (en, pt-BR, zh-Hans).
apiKeySimToken de API do projeto. Leia-o de uma variável de ambiente, nunca o escreva no arquivo.

3. Escreva seus textos​

Escreva os textos no idioma base em res/values/strings.xml, como em qualquer app Android:

app/src/main/res/values/strings.xml
<resources>
<string name="app_name" translatable="false">Ruteo</string>
<string name="welcome">Hola, %1$s</string>
<string name="login_button">Iniciar sesión</string>
<plurals name="routes_count">
<item quantity="one">%d ruta</item>
<item quantity="other">%d rutas</item>
</plurals>
<string-array name="days">
<item>Lunes</item>
<item>Martes</item>
</string-array>
</resources>

4. Traduza​

Terminal
export TRANSLATE_PROJECTS_API_KEY=tu_token
./gradlew translateProjects

Arquivos que são gerados​

app/src/main/res/
├── values/strings.xml ← idioma base, não é modificado
├── values-en/strings.xml
├── values-pt-rBR/strings.xml ← pt-BR usa o formato do Android
└── values-fr/strings.xml

O name de cada texto é a sua chave no Translate Projects, então você pode revisar e editar as traduções no painel.

O que é respeitado​

  • Os placeholders (%1$s, %d, %2$.2f) são mantidos intactos.
  • plurals e string-array são traduzidos item por item e mantêm a sua estrutura.
  • Os textos com translatable="false" não são enviados nem copiados para os outros idiomas.
  • Apóstrofos e aspas são escapados como o Android exige (\', \"), e o CDATA e o HTML básico (<b>, <i>, <u>) são preservados.

Cache​

Uma segunda execução sem textos novos faz duas requisições e não traduz nada. Se alguém corrigir uma tradução no painel do Translate Projects, a próxima execução a baixa sem --force; suas edições manuais no arquivo continuam tendo prioridade. Mais detalhes em Cache e erros.

Erros comuns​

  • Falta o token: exporte TRANSLATE_PROJECTS_API_KEY no mesmo terminal (ou como segredo no CI) antes de executar o Gradle.
  • Token inválido (Token no válido): copie novamente o token do projeto. Os strings.xml existentes não são alterados.
  • O idioma de origem não é o padrão: sourceLang deve ser o idioma padrão do projeto.
  • Falta a key de IA (MISSING_API_KEY): configure o provedor, o modelo e a chave no projeto; os textos que faltam são tentados novamente na próxima execução.
  • Tradução parcial, erros 5xx ou de rede: os idiomas incompletos são solicitados novamente na próxima execução.
Grátis

🚀 Automatize suas traduções de graça​

Translate Projects é gratuito. Você cria seu projeto, conecta a chave do seu provedor de IA e paga apenas a ele pelo que gastar.

  • Sem planos nem cartão de crédito: Todos os recursos estão disponíveis desde o primeiro dia.
  • Use sua própria IA: Claude, OpenAI, DeepSeek ou Gemini. Sua chave é armazenada criptografada.
  • Rede de traduções compartilhada: Se um texto já foi traduzido, você o recebe instantaneamente sem gastar sua chave.
  • Painel de administração: Revise e edite todas as suas traduções em um único lugar.

Criar conta grátis →

Suporte

Estamos aqui para ajudar você​

Se você tiver alguma dúvida, precisar de ajuda ou quiser contribuir, não hesite em entrar em contato comigo. Estou à sua disposição para apoiá-lo no que precisar.

Apoie o Projeto​

Se este projeto foi útil para você, convido você a me pagar um café. Seu apoio me ajuda a continuar melhorando e criando conteúdo de valor. Obrigado por estar aqui! ☕

Buy me a coffee