Ir para o conteúdo
Todas as ferramentas Preços Blog

Conversas e mensagens de voz

Documentos

Áudio e vídeo

Entrar

Idioma

Tradutor de arquivos de localização

Traduza arquivos de localização de apps com todas as chaves e placeholders intactos

Envie seus arquivos JSON, PO, strings.xml, .strings, .xcstrings ou XLIFF, escolha um idioma e receba os mesmos arquivos traduzidos, prontos para colocar no seu projeto. Chaves, comentários, ordem e formatação continuam exatamente como estavam, e todo placeholder, como {name}, {{count}} ou %1$s, é verificado em cada string. As primeiras strings são grátis e sem cadastro; a tarefa inteira, com até 20 arquivos e 5,000 strings, custa $5 em pagamento único, sem assinatura. Um chatbot dá conta de uma dúzia de strings, mas um arquivo com milhares de chaves costuma voltar cortado, com chaves renomeadas ou placeholders alterados.

Traduzir arquivos de strings

Tom
Glossário e nomes a manter (opcional)

Nomes de marcas e produtos, separados por vírgulas. Cada um é verificado em todas as traduções.

Um termo por linha: termo = tradução.

Sem cadastro. Até 300 strings grátis por inteiro. Acima disso: as primeiras strings grátis, todos os arquivos da tarefa por $5, pagamento único.

Ao continuar, você concorda com Termos de Serviço e Política de Privacidade.

  • Até 300 strings grátis por inteiro, primeiras strings de tarefas maiores grátis, sem cadastro
  • Tarefa inteira por $5, pagamento único: até 20 arquivos e 5,000 strings
  • Chaves, aninhamento, comentários e ordem mantidos; só os valores são traduzidos
  • Placeholders, plurais ICU e tags inline verificados em cada string
  • Formas de plural escritas para o idioma de destino (PO, Android, Xcode)
  • 41 idiomas, tom formal ou informal, glossário e nomes a manter
Abrir a demonstração

Ver um PDF de exemplo Exemplo de resultado

85 textos · chaves inalteradas

{

"home.greeting": "Good morning, {name}Buenos días, {name}",

"home.nearby": "{count, plural, =0 {No trails near you yet} one {# trail near you} other {# trails near you}}{count, plural, =0 {Aún no hay rutas cerca de ti} one {# ruta cerca de ti} other {# rutas cerca de ti}}",

"trail.offline_done": "<b>{name}</b> is saved on this phone. You can use the map without a signal.<b>{name}</b> está guardado en este teléfono. Puedes usar el mapa sin señal.",

"trail.share_text": "I just finished {trail} with Trailbook! {km} km and {meters} m up. 🥾¡Acabo de terminar {trail} con Trailbook! {km} km y {meters} m de subida. 🥾",

"saved.empty": "You have not saved any trails yet.\nTap the heart on a trail to keep it here.Aún no has guardado ninguna ruta.\nToca el corazón en una ruta para guardarla aquí."

}

Amarelo: placeholders e sintaxe de plural ICU, verificados em cada texto. Verde-azulado: tags, escapes e emojis, mantidos como estão.

Mesmas chaves. Mesmos placeholders. Novo idioma.

Só os valores mudam. O arquivo volta com o mesmo aninhamento e a mesma ordem, com o nome es.json, e qualquer texto que perca um placeholder é refeito antes de chegar ao seu build.

App de demonstração criado para esta página; os textos em espanhol são resultado real da ferramenta, a partir de um arquivo de 85 textos.

O que você recebe

Você recebe seus arquivos no mesmo formato, com o nome e o local que cada plataforma espera: en.json vira es.json, strings.xml vai para uma pasta values-es, Localizable.strings para es.lproj. Vários arquivos são baixados juntos em um único ZIP. Antes de baixar, cada string traduzida aparece na tela ao lado do original, e você pode editar qualquer uma delas.

  • JSON e ARB: chaves aninhadas, arrays, ordem das chaves, indentação e espaçamento como no seu arquivo. Mensagens ICU como {count, plural, one {# item} other {# items}} mantêm a estrutura. No ARB, os metadados "@" permanecem e @@locale é definido.
  • PO e POT: msgid e msgctxt nunca mudam; entradas vazias e fuzzy são traduzidas, e as que já têm tradução ficam como estão. As entradas de plural recebem quantos msgstr[n] o idioma de destino precisar, e o cabeçalho recebe Language e Plural-Forms.
  • strings.xml do Android: <string>, <string-array> e <plurals>; translatable="false" é ignorado; apóstrofos e aspas são escapados como o Android exige; o conteúdo de <xliff:g> nunca é traduzido.
  • iOS e macOS: arquivos .strings mantêm os comentários e a codificação (muitas vezes UTF-16); String Catalogs .xcstrings ganham uma nova localização para o seu idioma, com variações de plural, e as strings já traduzidas são mantidas.
  • XLIFF 1.2 e 2.0: um <target> depois de cada <source> não traduzido, códigos inline como <g>, <x/>, <ph> e <pc> mantidos, e o idioma de destino definido no arquivo.

Traduzir arquivos de strings com um chatbot e com esta ferramenta

Assistentes de chat traduzem bem textos curtos de interface, e uma dúzia de strings coladas no chat geralmente volta certa. O problema de um arquivo de localização de verdade é o tamanho e a sintaxe: milhares de chaves, placeholders, regras de plural e escapes que um compilador ou uma biblioteca rejeita se um único caractere estiver errado.

Sua situação Um chatbot Esta ferramenta
Dez rótulos de botão Geralmente traduz bem Traduz e devolve o arquivo pronto
Um arquivo com 3.000 chaves A resposta precisa ter o tamanho do arquivo, então costuma parar no meio Traduz todas as strings em blocos de até 60, com até 5,000 strings por tarefa
Chaves e aninhamento Reescreve o arquivo inteiro, então chaves podem ser traduzidas, renomeadas ou perdidas As chaves nunca são enviadas para tradução; o arquivo é reconstruído a partir do seu
Placeholders como {name}, %1$s ou :attribute Geralmente os mantém, mas nada verifica Verifica cada string; a que perde um placeholder é traduzida de novo e, se falhar, fica no idioma original e entra numa lista
Plurais em russo, polonês ou árabe Muitas vezes copia as duas formas do inglês Escreve todas as formas de plural de que o idioma de destino precisa, com números de exemplo para cada uma
Apóstrofos em strings do Android Pode deixar um apóstrofo sem escape que quebra o build Escapa apóstrofos e aspas como o Android exige

Como traduzir um arquivo de localização

  1. 1

    Envie seus arquivos e escolha um idioma

    Solte um ou mais arquivos do mesmo projeto: JSON, ARB, PO ou POT, strings.xml, .strings, .xcstrings ou XLIFF. Escolha o idioma de destino e o tom, e liste os nomes de produtos que devem ser mantidos.

  2. 2

    Confira as primeiras strings grátis

    As primeiras strings aparecem na tela com as chaves ao lado do texto original. Edite qualquer uma diretamente. Esta etapa não exige conta.

  3. 3

    Desbloqueie e baixe

    Gostou das primeiras strings? Desbloqueie a tarefa inteira por $5 e baixe os arquivos traduzidos, além de uma lista de avisos se algo precisar de atenção.

Por que arquivos de strings longos atrapalham assistentes de IA genéricos

Um arquivo de localização é tanto código quanto texto. Para traduzi-lo num chat, o assistente precisa reescrever o arquivo inteiro, com chaves, colchetes, escapes e tudo, e um arquivo com alguns milhares de strings é mais longo do que cabe numa resposta. Ele para no meio ou pede que você continue, e você acaba tendo que juntar os pedaços.

A sintaxe é o segundo problema. Uma chave traduzida por engano, um {count} que vira {cuenta}, um %1$s que perdeu o cifrão, um apóstrofo sem escape no strings.xml: cada um é uma pequena mudança numa resposta longa, e cada um pode quebrar um build ou mostrar um placeholder cru para os seus usuários.

Esta ferramenta nunca pede a um modelo que reescreva o seu arquivo. Ela lê o arquivo em strings, envia apenas o texto, com a chave e qualquer comentário do desenvolvedor como contexto, em blocos de até 60 strings, e exige uma resposta para cada string. As tags inline são trocadas antes por marcadores curtos. Cada resposta é verificada: mesmos placeholders, mesmos escapes como \n, mesmos marcadores, os nomes que você listou e todas as formas de plural. Uma string que falha é pedida de novo; se falhar duas vezes, o texto original permanece e a string entra numa lista para você. Depois o arquivo é reconstruído a partir do seu original.

O que as pessoas traduzem

  • Apps em React, Vue, Angular e Next.js: arquivos JSON do i18next, vue-i18n, react-intl e ngx-translate
  • Apps em Flutter: arquivos .arb, com as descrições de @metadata usadas como contexto
  • Plugins e temas do WordPress, Django e outros projetos gettext: modelos .pot e arquivos .po
  • Apps Android: res/values/strings.xml com arrays de strings e plurais
  • Apps para iOS e macOS: Localizable.strings e String Catalogs (.xcstrings)
  • Arquivos exportados de uma plataforma de tradução ou do Xcode como XLIFF

O que a ferramenta não faz

Ainda não lê arquivos YAML, .properties, .resx ou .stringsdict, e não adiciona chaves de plural do i18next (key_one, key_few) que estejam faltando no seu arquivo de origem: ela traduz as chaves que você tem. Em arquivos .xcstrings, strings que usam substituições ou variações por dispositivo são mantidas como estão.

Ela não sobrescreve traduções que você já tem: entradas PO preenchidas, destinos XLIFF marcados como traduzidos e entradas do String Catalog no seu idioma permanecem como estão. Um pagamento cobre até 20 arquivos e 5,000 strings; o Ilimitado cobre até 15,000 strings por tarefa.

É tradução automática com verificações estruturais. Serve muito bem para lançar rapidamente uma primeira versão de um idioma e manter um projeto sincronizado. Para fichas de loja, textos jurídicos ou qualquer coisa com a voz da marca, peça a revisão de um falante nativo.

Como obter um bom resultado

O contexto faz a diferença entre "Save" no sentido de salvar e "Save" no sentido de desconto. Chaves como settings.save_button e comentários no seu arquivo (#. em PO, descrições @key em ARB, /* comentários */ em .strings) são enviados junto com cada string, então um arquivo com chaves significativas e alguns comentários é traduzido melhor.

Liste os nomes dos seus apps e produtos em "Nunca traduzir" e escolha o tratamento formal ou informal nos idiomas que têm os dois. Use as strings grátis como teste e, depois de desbloquear, confira a lista de avisos: cada item mostra a chave, o problema e o que o modelo retornou.

Por idioma e situação

Quanto custa

Tarefas pequenas, primeiras strings

Grátis

Uma tarefa de até 300 strings é grátis por inteiro, com downloads incluídos. Exibida na tela, sem cadastro. 1 tarefa por dia, ou 3 por dia com uma conta grátis.

Tarefa inteira

$5

Um pagamento para até 20 arquivos e 5,000 strings. Sem assinatura, nunca expira.

Ilimitado

$19 / semana

Todas as ferramentas do site, com tarefas de até 15,000 strings.

Perguntas e respostas

O ChatGPT consegue traduzir um arquivo de localização JSON?

Um arquivo pequeno, geralmente sim. Já um arquivo com milhares de chaves precisa voltar em uma única resposta, então o chatbot tende a parar no meio, e nada garante que todas as chaves e placeholders sobreviveram. Esta ferramenta traduz os valores em blocos, verifica cada placeholder e reconstrói o arquivo a partir do seu.

Quais formatos são compatíveis?

JSON (i18next, vue-i18n, react-intl, ngx-translate e similares), Flutter ARB, gettext PO e POT, Android strings.xml, .strings e .xcstrings do iOS e macOS, e XLIFF 1.2 e 2.0. Os arquivos podem ter até 10 MB cada, com até 20 arquivos em uma tarefa.

As chaves e os placeholders são mantidos?

As chaves nunca são enviadas para tradução. Placeholders como {name}, {{count}}, %s, %1$d, %@, :attribute e %{name}, caracteres de escape como \n, tags inline e emojis são verificados em todas as strings. Se uma string perder algum deles, ela é traduzida de novo; se ainda assim falhar, o texto de origem é mantido e a string aparece na lista de avisos.

Como os plurais são tratados?

As mensagens ICU mantêm a estrutura e recebem as categorias de plural usadas pelo idioma de destino. Entradas PO com msgid_plural recebem quantas formas msgstr[n] o idioma de destino precisar, e o cabeçalho recebe o Plural-Forms correspondente. Os <plurals> do Android e as variações de plural do Xcode são escritos com as categorias do idioma de destino, como one, few, many e other no russo.

O que acontece com as strings que já estão traduzidas?

Elas são mantidas. Somente entradas PO vazias ou fuzzy, unidades XLIFF sem um destino finalizado e entradas do String Catalog sem o seu idioma são traduzidas. Em JSON, .strings e strings.xml, todo valor é tratado como texto de origem.

Para quais idiomas ela pode traduzir?

41 idiomas, incluindo espanhol, francês, alemão, italiano, português (Brasil e Portugal), holandês, polonês, russo, ucraniano, turco, árabe, hebraico, hindi, indonésio, vietnamita, tailandês, japonês, coreano e chinês (simplificado e tradicional).

É grátis?

As primeiras strings de cada tarefa são traduzidas de graça e exibidas na tela, sem cadastro. A tarefa inteira, com os downloads, custa $5 em pagamento único. O Ilimitado, por $19 por semana, vale para todas as ferramentas do site. Tarefas pequenas são exceção: uma tarefa de até 300 strings é grátis por inteiro, downloads incluídos.

Meus arquivos são privados?

Só você pode abrir a sua tarefa. As strings são enviadas a um provedor de modelo de IA apenas para serem traduzidas, por rotas que não usam seus dados para treinamento. As tarefas enviadas sem conta são excluídas após 7 dias, e você pode excluir qualquer tarefa quando quiser.

Atualizado em 23 de outubro de 2026 · APPFACT STUDIO LTD

Outras tarefas que fazemos

Usamos cookies de análise para saber quais páginas ajudam as pessoas. Tudo bem?