---
title: "Como traduzir os arquivos de idioma do seu app com IA"
description: "JSON, YAML, XLIFF, PO, Android, iOS, Flutter e muito mais. Como traduzir os arquivos de idioma do seu app com IA, pela linha de comando, com seu agente ou pelo app."
date: 2026-10-04
language: pt
canonical: https://ai-glot.com/pt/blog/how-to-translate-app-language-files-with-ai
source: AI Glot blog
---
**Os arquivos de idioma de um app são uma única tarefa em treze extensões de arquivo.** Você está com um arquivo JSON, um `strings.xml`, um arquivo PO ou um String Catalog e quer as mesmas strings em mais cinco idiomas sem comprometer a compilação.

O formato muda. A tarefa, não: mantenha as chaves, preserve os placeholders, traduza os valores e repita tudo no próximo lançamento.

## Qual opção você deve usar?

| | Ideal para | Limitações |
|---|---|---|
| **AI Glot** | Qualquer um dos formatos abaixo, vários idiomas em uma única tarefa, um glossário que precisa ser seguido e cada lançamento | Desnecessário para dez strings |
| **Uma plataforma de gerenciamento de tradução** (Crowdin, Lokalise, Phrase) | Uma equipe com fluxo de trabalho contínuo, revisores e integração com um repositório | Você precisa configurar um projeto e conectar seu repositório antes de traduzir a primeira string |
| **DeepL** | [Arquivos XLIFF de até 10 MB](https://developers.deepl.com/docs/best-practices/document-translations) | Aceita XLIFF, mas não os outros formatos desta lista. Além disso, substitui termos do glossário sem entender por que eles são fixos |
| **ChatGPT, Claude ou outro assistente** | Algumas strings | Você precisa escrever o prompt e incluir o glossário em cada conversa. Um arquivo longo é gerado token por token, lentamente, e consome seu limite de uso. A cada execução, há o risco de uma chave mudar ou um placeholder ficar corrompido |
| **Um freelancer ou uma agência** | A página da App Store e a integração inicial do app | É lento, cobrado por palavra, e você ainda precisa preparar os arquivos |

**Pague uma pessoa para traduzir as cinco strings que vendem seu app**: a descrição na loja e a primeira tela. Deixe as milhares de strings que vêm depois por conta de um mecanismo.

## Escolha seu arquivo

Cada formato tem uma página própria, com uma ferramenta gratuita e todos os detalhes. Veja o principal sobre cada um.

| Arquivo | Onde fica | O que você precisa saber |
|---|---|---|
| [**JSON**](/pt/file-formats/json-translation) | `locales/en.json` | As chaves são devolvidas na mesma ordem. Placeholders como `{count}` são preservados conforme suas instruções |
| [**ARB** (Flutter)](/pt/file-formats/arb-translation) | `lib/l10n/app_en.arb` | As entradas de metadados `@` são copiadas. Defina `@@locale` para o idioma de destino |
| [**YAML**](/pt/file-formats/yaml-translation) | `config/locales/en.yml` | Placeholders no estilo Rails, como `%{name}`, são identificados. Os comentários são removidos quando o arquivo é salvo novamente |
| [**TOML**](/pt/file-formats/toml-translation) | `i18n/en.toml` (Hugo) | Apenas os valores de texto mudam. Em geral, os comentários são mantidos |
| [**XLIFF**](/pt/file-formats/xliff-translation) | exportações das suas ferramentas | Versões 1.2 e 2.0. As tags inline são reconstruídas a partir do original |
| [**PO e POT**](/pt/file-formats/po-translation) | `locale/fr/LC_MESSAGES/app.po` | As entradas no plural recebem as formas do idioma de destino, e o cabeçalho `Plural-Forms` é reescrito |
| [**Qt Linguist**](/pt/file-formats/qt-translation) | `app_fr.ts` | Mensagens no plural (numerus) ainda não são traduzidas. Execute `lrelease` depois |
| [**String Catalog**](/pt/file-formats/xcstrings-translation) | `Localizable.xcstrings` | Todos os idiomas ficam em um único arquivo. Substituições e variações por dispositivo são mantidas como estão |
| [**iOS .strings**](/pt/file-formats/ios-strings-translation) | `fr.lproj/Localizable.strings` | O arquivo é devolvido em UTF-8, com os blocos de comentários preservados. Os plurais de `.stringsdict` também são tratados |
| [**Android XML**](/pt/file-formats/android-xml-translation) | `res/values-fr/strings.xml` | Plurais e listas de strings são tratados. O atributo `translatable="false"` é respeitado |
| [**RESX e RESW**](/pt/file-formats/resx-translation) | `Resources.fr.resx` | Você recebe um arquivo por idioma. Os comentários do desenvolvedor permanecem em inglês |
| [**Java .properties**](/pt/file-formats/properties-translation) | `messages_fr.properties` | Apenas UTF-8. Antes, coloque em uma única linha qualquer valor que continue na linha seguinte |

Os formatos não organizam os idiomas da mesma forma. Um **String Catalog** mantém todos os idiomas em um único arquivo. A maioria dos outros formatos, incluindo JSON, Android e iOS, mantém **um idioma por arquivo**, então cada idioma de destino fica em seu próprio arquivo.

## Como fica um arquivo traduzido

Só os valores mudam.

*Illustration: Um arquivo de localidade antes e depois. As chaves e os placeholders permanecem como estão; somente os valores são traduzidos.*

## O fluxo de um arquivo

*Illustration: As cinco etapas de um trabalho com arquivo de idioma. Tudo antes da aprovação é grátis, então não custa nada corrigir um plano errado.*

Nada é cobrado antes da etapa quatro, e corrigir um plano inadequado não custa nada.

## Como fazer, passo a passo

**1. Teste um arquivo grátis.** Cada [página de formato](/pt/file-formats) tem uma ferramenta gratuita que não exige cadastro.

**2. Envie o arquivo** pelo [app](https://app.ai-glot.com/signup) ou pela linha de comando, explicada mais adiante.

**3. Diga em uma frase o que você precisa.**

```
Translate this file into French.
Skip every key that starts with "internal.".
```

*Illustration: Você descreve o trabalho em inglês simples. O AI Glot o transforma em um plano que você pode ler e corrigir antes de qualquer execução.*

A frase define o que será traduzido em todo o arquivo. Regras sobre a redação em si, como "mantenha cada `{placeholder}` exatamente como está" ou "use linguagem informal", devem ser inseridas no segundo campo durante a aprovação, pois são aplicadas a cada string conforme ela é escrita.

**4. Adicione um glossário** com o nome do produto, os nomes dos recursos e as palavras que seu app sempre usa da mesma forma. [Veja como criar um](/pt/blog/build-translation-glossary-brand).

*Illustration: Um glossário define os termos que não podem variar e aplica a mesma decisão a todos os arquivos.*

**5. Escolha um nível de qualidade.**

*Illustration: Dois níveis de qualidade, escolhidos por arquivo. O Lite cobre cerca de três vezes mais palavras com os mesmos créditos.*

**Lite** rende cerca de três vezes mais palavras por crédito e é mais rápido. É ideal para o conjunto extenso de configurações e textos de ajuda. **Standard** é para as strings que a pessoa usuária lê primeiro. Um crédito equivale a uma palavra no Standard.

**6. Aprove e baixe.**

*Illustration: Um único arquivo retorna, no mesmo formato em que foi enviado.*

## Um arquivo, vários idiomas

*Illustration: Um arquivo de origem gera um arquivo traduzido por idioma, todos com as mesmas chaves e o mesmo glossário.*

Os nomes dos arquivos são apenas um exemplo. Para processar uma pasta inteira de arquivos de localização, coloque-os em um ZIP: até 200 arquivos e 20 MB são processados em uma única tarefa.

## Três maneiras de usar

*Illustration: Três formas de traduzir seus arquivos de idioma. Todas geram os mesmos arquivos traduzidos.*

**A linha de comando** é a opção que os desenvolvedores mantêm. São as mesmas quatro etapas, em um script:

```bash
# 1. Create the job. Free. Returns a plan and an id.
id=$(aiglot batches create locales/en.json \
      --instruction "Translate into French. Skip every key that starts with internal." \
      --json | jq -r '.data.id')

# 2. Read the plan for free, then commit.
aiglot batches get "$id" --json | jq '.data.plan'
aiglot batches approve "$id" --quality lite \
  --instructions "Keep every {placeholder} exactly as written."

# 3. When the status is completed, bring the file back.
aiglot batches download "$id" --output locales/fr.json
```

**Com seu agente de IA:** conecte o AI Glot como [servidor MCP](https://ai-glot.com/docs/mcp/overview). O agente pode ler seu repositório, sugerir os termos de glossário que encontrar, adicioná-los ao seu espaço de trabalho, executar a tarefa e devolver os arquivos aos locais corretos.

**No app:** envie, clique e baixe. Ideal para uma tarefa pontual.

Para integrar via API, consulte a [documentação da API](https://ai-glot.com/docs/api/overview).

## Confira o resultado

Compile o app em um idioma traduzido e abra as três telas com as strings mais longas. Depois, execute o lint de sempre ou verifique se há chaves ausentes, porque uma chave alterada aparece como uma string faltando. O texto traduzido costuma ser mais longo que o original em inglês, então confira se algum botão ou rótulo está transbordando.

Em [Preços](/pt/pricing), você encontra os valores para volumes maiores. Uma [conta gratuita](https://app.ai-glot.com/signup) inclui créditos para processar um arquivo real.

---

*Os limites informados aqui eram os vigentes quando este texto foi escrito: 200 arquivos e 20 MB por ZIP. O limite do DeepL vem da documentação do próprio serviço. Os nomes de arquivo e a quantidade de strings nos diagramas são exemplos. Seu plano mostra os números reais dos seus arquivos, e você pode consultá-lo gratuitamente.*