Crie uma conta gratuita e receba 10,000 caracteres mensalmente de graça para traduzir seu conteúdo com nosso Agente de Localização por IA.
Não é necessário cartão de crédito para começar!
Deixe seu assistente de codificação focar no código. Configure nosso Agente de Localização por IA para lidar com traduções de forma eficiente.
Descubra por que a tradução com IA é melhor para arquivos i18n do que os métodos tradicionais
Leve a localização por IA para o seu fluxo de trabalho com nossas extensões e plugins
Nosso serviço de tradução de arquivos i18n suporta uma ampla gama de formatos de arquivo usados em diferentes plataformas e frameworks.
| Formato | Usado por | Suporta traduzir apenas strings novas | Suporta comentários | Suporta controle de tradução de metadados |
|---|---|---|---|---|
JSON / JSONC | JavaScript, TypeScript · i18next, React, Vue, Angular | |||
XML | Android strings.xml · iOS plist · XML genérico · .NET ResX | |||
YAML / YML | Ruby on Rails · Node.js · Arquivos de configuração | |||
ARB | Flutter · Dart | |||
PO / POT | GNU Gettext · PHP, Python, WordPress, Ruby | |||
XLIFF | Ferramentas CAT profissionais · Plataformas de localização · Angular | |||
.properties | Java · Spring Boot · Android | |||
CSV / TSV | Planilhas · Fluxos de trabalho de localização personalizados | |||
MD | Documentação · Arquivos README · Jekyll, Hugo, Docusaurus | |||
TXT | Arquivos de texto simples usados para localização de aplicativos |
Traduzir arquivos i18n é um processo direto fornecido pelo nosso serviço. Siga estas etapas para traduzir seus arquivos de internacionalização e garantir a consistência em seus projetos.
Definir idiomas de origem e destino:
Escolha seu idioma de origem (por exemplo, en-US). Adicione um ou mais idiomas de destino (por exemplo, fr-FR, de-DE) e configure as opções de tradução.
Tradução incremental: Este recurso é ideal para projetos em andamento. Ao fazer o upload dos arquivos de destino existentes, você pode garantir que apenas strings novas e alteradas sejam traduzidas, enquanto o conteúdo traduzido anteriormente permanece inalterado. Isso não apenas economiza custos, mas também preserva quaisquer ajustes manuais feitos em traduções existentes. Armazenamos hashes das strings de origem, para que o sistema possa detectar quais strings são novas ou antigas com base na presença de seus hashes.
Importante: Se você ativar "Traduzir apenas novas strings", os arquivos de destino que você enviar já devem conter as strings traduzidas anteriormente para esse idioma (por exemplo, seu arquivo em francês já deve incluir todas as traduções antigas em francês).
Se você simplesmente fizer o upload do mesmo arquivo de origem como arquivo de destino (que não possui conteúdo em francês), nada será traduzido, pois não há como detectar quais strings são novas ou antigas.
Nota: O upload de arquivos de destino é opcional. Se você não fizer o upload de nenhum arquivo de destino, na primeira vez todas as strings serão traduzidas, independentemente de "Traduzir apenas novas strings" estar ativado ou não.
Regras de nomenclatura de arquivos:
Se os arquivos enviados não estiverem nomeados exatamente como códigos de idioma (por exemplo, fr.json, de.json), seus nomes devem corresponder aos nomes dos arquivos de origem para que o sistema saiba que eles contêm as mesmas strings em idiomas diferentes. Por exemplo:
/en/common.json
/fr/common.json
/de/common.json
Isso garante que as traduções fiquem alinhadas corretamente. Se os nomes dos arquivos forem diferentes do nome do arquivo de origem, o sistema os tratará como pertencentes a namespaces diferentes. Em i18n, um namespace é simplesmente um arquivo separado usado para organizar strings por partes do seu aplicativo (por exemplo: common.json para strings gerais, auth.json para login, dashboard.json para dashboard).
Cada namespace deve ter um arquivo correspondente em cada pasta de idioma:
/en/common.json
/en/auth.json
/fr/common.json
/fr/auth.json
Usar os mesmos nomes de arquivo para cada idioma garante que o sistema possa corresponder corretamente às strings.
0196e881-fb54-7150-a292-5b1e8f70a8ae.zip). O arquivo contém arquivos traduzidos para cada idioma de destino, organizados em pastas separadas por código de idioma.Nossa plataforma simplifica a localização de seus arquivos i18n com tradução avançada por IA, entregando resultados precisos e eficientes enquanto preserva a estrutura e o contexto do seu arquivo.
Internacionalização (i18n) é o processo de projetar software para que ele possa ser adaptado a diferentes idiomas e regiões sem alterações no código. Localização (l10n) é o processo de adaptar o software para uma localidade específica — traduzindo strings, ajustando formatos de data, moedas e referências culturais. O "18" em i18n representa as 18 letras entre o "i" e o "n" em "internationalization".
A tradução de arquivos i18n está no centro do fluxo de trabalho de localização. Em vez de codificar texto diretamente no código-fonte, os desenvolvedores externalizam todas as strings voltadas para o usuário em arquivos de recursos — JSON, YAML, PO, XLIFF, ARB ou arquivos Properties. Esses arquivos tornam-se a única fonte da verdade para todas as traduções e são gerenciados, versionados e implantados junto com o aplicativo.
Para produtos globais, os arquivos i18n podem precisar ser traduzidos para dezenas de idiomas. Gerenciar isso em escala requer automação, consistência e ferramentas que entendam o formato — que é exatamente o que nosso serviço de tradução de arquivos i18n com tecnologia de IA oferece.
A escolha do formato de arquivo i18n geralmente depende da sua pilha de tecnologia. Cada formato tem pontos fortes diferentes para estrutura, ferramentas e suporte à plataforma:
flutter gen-l10n.ResourceBundle.Um dos recursos mais poderosos do nosso serviço de tradução de arquivos i18n é a tradução incremental — a capacidade de traduzir apenas strings novas ou alteradas sem retraduzir o conteúdo que já está localizado. Isso reduz significativamente os custos de tradução e o tempo de processamento para projetos em desenvolvimento ativo.
Para usar a tradução incremental, carregue seu arquivo de origem e o arquivo de destino existente para cada idioma. Nosso sistema compara as chaves presentes em ambos os arquivos e traduz apenas as strings ausentes no destino. Isso é especialmente valioso durante ciclos de desenvolvimento contínuos, onde novas strings são adicionadas a cada sprint ou lançamento.
Os formatos suportados para tradução incremental estão listados na tabela acima. Para outros formatos, o envio de um arquivo de destino ainda é útil para o contexto do glossário, garantindo terminologia consistente em todas as execuções de tradução.
Nosso serviço de tradução de arquivos i18n lida com toda a gama de cenários modernos de localização:
ng extract-i18n para o sistema de internacionalização nativo do Angular.Suportamos JSON / JSONC, XML (Android strings.xml, .NET ResX, genérico), YAML / YML, ARB (Flutter), PO / POT (GNU Gettext), XLIFF 1.2 e 2.0, .properties (Java), CSV / TSV, Markdown (.md) e texto simples (.txt). Os arquivos podem ser enviados individualmente ou como um arquivo ZIP de até 5 MB.
Sim. Você pode adicionar vários idiomas de destino em um único trabalho. Nosso serviço processa todos os pares de idiomas e empacota os resultados em um arquivo ZIP organizado por código de idioma (por exemplo, fr/, de/, ja/).
Envie seu arquivo de origem e o arquivo de destino existente (que já contém suas traduções anteriores) para cada idioma. Nosso sistema identifica as strings presentes na origem, mas ausentes no destino, e traduz apenas essas — evitando retraduzir conteúdo pelo qual você já pagou e impedindo substituições de edições manuais.
O tamanho máximo de upload é de 5 MB por arquivo ou arquivo ZIP. Para projetos muito grandes, considere dividir os arquivos por namespace ou enviar vários trabalhos. Você pode monitorar o progresso do trabalho em tempo real nesta página e acessar todos os trabalhos concluídos na página Arquivos.
Arquivos com o mesmo nome em pastas de idiomas diferentes são tratados como o mesmo namespace (por exemplo, /en/common.json e /fr/common.json). Arquivos com nomes diferentes são tratados como namespaces separados. Use nomes de arquivo consistentes em todas as pastas de idioma para garantir a correspondência correta das strings.