|
Documentação
Agende uma demoPlataforma
PlataformaMCPCLIAPIWorkflows
Guias
Changelog

Localização

  • Visão geral
  • API de Tradução
  • Localização de apps web
  • Localização de aplicativos mobile
  • iOS com String Catalogs
  • Android com strings.xml
  • Localização de e-mails
  • Conteúdo estático (ex.: .md, .json)
  • Next.js com Markdoc
  • Rails com i18n

Workflows

  • Configuração do engine com MCP
  • Triagem no Jira
  • CI/CD

Localização de aplicativos mobile

A CLI do Lingo.dev traduz arquivos nativos de recursos mobile — Xcode .strings, Android XML, Flutter ARB e React Native JSON — usando um engine de localização configurado. Cada plataforma tem um tipo de bucket específico, que entende o formato do arquivo, preserva a estrutura e lida com plurais de forma nativa.

Visão geral das plataformas#

PlataformaFormato nativoBucket da CLICaminho de arquivo típico
iOS (Xcode).stringsxcode-strings[locale].lproj/Localizable.strings
iOS (Xcode).stringsdictxcode-stringsdict[locale].lproj/Localizable.stringsdict
iOS (Xcode).xcstringsxcode-xcstringsLocalizable.xcstrings
Androidstrings.xmlandroidapp/src/main/res/values-[locale]/strings.xml
Flutter.arbflutterlib/l10n/app_[locale].arb
React Native.jsonjsonsrc/locales/[locale].json

Pré-requisitos#

Cada execução da CLI envia o conteúdo por um engine de localização — a configuração que define qual modelo de LLM, glossário, voz da marca e instruções serão aplicados. Crie um no dashboard do Lingo.dev e gere uma chave de API.

Configure sua plataforma#

O Xcode oferece suporte a três formatos de localização. Use aquele que corresponde à configuração do seu projeto.

String Catalogs (.xcstrings) — o formato moderno do Xcode, introduzido no Xcode 15. Um único arquivo JSON reúne todos os idiomas, e o Xcode o atualiza automaticamente quando você adiciona novas strings. A CLI altera esse arquivo diretamente — nenhum placeholder [locale] é necessário.

json
{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.15",
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja"]
  },
  "buckets": {
    "xcode-xcstrings": {
      "include": ["MyApp/Localizable.xcstrings"]
    }
  }
}

Arquivos legados .strings — um arquivo por idioma em diretórios [locale].lproj/. Se o seu projeto também usa .stringsdict para plurais, adicione os dois buckets.

json
{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.15",
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja"]
  },
  "buckets": {
    "xcode-strings": {
      "include": ["MyApp/[locale].lproj/Localizable.strings"]
    },
    "xcode-stringsdict": {
      "include": ["MyApp/[locale].lproj/Localizable.stringsdict"]
    }
  }
}

Consulte a documentação de localização da Apple para configurar a infraestrutura de i18n do Xcode.

Executando traduções#

Traduza todos os arquivos de recursos com um único comando:

bash
npx lingo.dev@latest run

A CLI lê os arquivos do idioma de origem, calcula o que mudou desde a última execução usando o lockfile, traduz apenas o delta e grava os resultados nos arquivos do idioma de destino.

Direcione a tradução para uma plataforma específica quando seu projeto tiver vários tipos de recurso:

bash
npx lingo.dev@latest run --bucket android
npx lingo.dev@latest run --bucket xcode-xcstrings

Plurais e convenções de cada plataforma#

Cada plataforma mobile lida com formas plurais de um jeito diferente — iOS usa .stringsdict ou regras de String Catalog, Android usa elementos XML <plurals> e Flutter usa ICU MessageFormat em arquivos ARB. A CLI preserva a estrutura plural nativa de cada plataforma durante a tradução e gera as categorias de plural corretas para cada idioma de destino.

Notas para tradutores

Strings mobile costumam ser curtas e depender bastante de contexto. Use notas para tradutores em arquivos .xcstrings do Xcode para dar ao engine de localização mais contexto sobre onde uma string aparece — "rótulo de botão no fluxo de checkout" é traduzido de forma diferente de "item de menu de navegação".

Guias detalhados por plataforma#

iOS com String Catalogs
Guia completo de .xcstrings do Xcode com CLI e GitHub Actions
Android com strings.xml
Guia completo de recursos XML do Android com CLI e GitHub Actions

Próximos passos#

Formatos compatíveis
Referência completa de todos os formatos de arquivo mobile e tipos de bucket
Glossários
Proteja nomes de marca e termos técnicos contra tradução
Workflows de CI/CD
Automatize traduções mobile a cada push
Bloqueio de chaves
Copie valores específicos sem traduzi-los

Esta página foi útil?

Max PrilutskiyMax Prilutskiy·Atualizado há 4 meses·4 min de leitura