Pular para o conteúdo principal

Idiomas Suportados

O rosetta vem com Language Cards — arquivos de configuração estruturados para 50 idiomas. Cada cartão contém predefinições de registro, metadados do sistema de formalidade, flags de suporte a métodos, regras de tipografia e informações de script. Qualquer idioma que o seu LLM conheça pode ser adicionado com uma única linha de configuração — estes são os que possuem registros curados e prontos para produção.


Métodos de Tradução

Cada idioma pode usar um ou mais destes métodos de tradução:

ÍconeMétodoComo FuncionaCusto
🟢Google TranslateLinha de base de MT neural. Mais de 130 idiomas. Apenas strings de chave-valor — não pode traduzir conteúdo Markdown com segurança.~$20/1M de caracteres
🔵LLM (OpenRouter)Qualquer idioma que o modelo conheça. Prompts direcionados por registro. Lida com chave-valor + conteúdo Markdown.Varia de acordo com o modelo
🟣LLM-CoachedLLM + dicionários gramaticais + dados de treinamento (coaching) injetados nos prompts. Melhor para idiomas morfologicamente complexos.Varia de acordo com o modelo
🟠API (Plugin)Pipelines de tradução hospedados pela comunidade e servidos via HTTP. Compatível com OCAP.Varia de acordo com o provedor

Defina GOOGLE_TRANSLATE_API_KEY para o Google Translate, ou OPENROUTER_API_KEY para métodos LLM. Consulte Métodos de Tradução para obter todos os detalhes.


Idiomas Prioritários

Estas são as localidades mais solicitadas para aplicativos web e móveis, listadas na ordem recomendada pelo rosetta, priorizando a acessibilidade.

BandeiraIdiomaCódigoGoogleLLMCoachedScriptNotas
🇸🇦ÁrabearRTL. Árabe Padrão Moderno (فصحى).
🇵🇭Filipino (Taglish)tl / filUse fil nas configurações do Docusaurus. O rosetta resolve ambos.
🇫🇷FrancêsfrForma "vous". Inclusivo de gênero (Connecté·e).
🇪🇸EspanholesLatino-americano neutro.
🇩🇪AlemãodeForma "Sie". Inclusivo de gênero (Benutzer:innen).
🇯🇵Japonêsjaです/ます para o corpo do texto, する para rótulos de UI.
🇨🇳Chinês (Simplificado)zh简体中文.
🇮🇹ItalianoitForma "Lei".
🇧🇷Português (BR)ptPortuguês do Brasil.
🇰🇷CoreanokoRegistro educado 해요체.

Principais Idiomas do Mundo

BandeiraIdiomaCódigoGoogleLLMCoachedScriptNotas
🇧🇩BengalibnPreferência por শুদ্ধ ভাষা.
🇧🇬Búlgarobg
🇨🇿TchecocsVykání (forma "vy").
🇩🇰Dinamarquêsda
🇬🇷GregoelΔημοτική moderno.
🇮🇷PersafaRTL.
🇫🇮FinlandêsfiSem gênero gramatical.
🇮🇱HebraicoheRTL.
🇮🇳Hindihiशुद्ध हिन्दी. Mínimo de estrangeirismos do inglês.
🇭🇺HúngarohuForma "Ön".
🇮🇩Indonésioid
🇲🇾Malaioms
🇳🇱HolandêsnlForma "U".
🇳🇴NorueguêsnbBokmål.
🇵🇱PolonêsplForma "Pan/Pani".
🇵🇹Português (EU)pt-PTPortuguês Europeu.
🇷🇴Romenoro
🇷🇺RussoruForma "Вы".
🇸🇰EslovacoskVykanie (forma "vy").
🇷🇸Sérviosr🔤 Latin→CyrillicConversor determinístico de script.
🇸🇪Suecosv
🇰🇪Suaílisw
🇹🇭TailandêsthPartículas de polidez ครับ/ค่ะ.
🇹🇷TurcotrForma "Siz".
🇺🇦UcranianoukForma "Ви".
🇵🇰UrduurRTL. Forma آپ.
🇻🇳Vietnamitavi
🇹🇼Chinês (Tradicional)zh-TW繁體中文.
🇬🇪Georgianokaქართული. Família cartvélica.
🇳🇬IorubáyoÈdè Yorùbá. Tonal (3 tons).

Variantes Regionais

BandeiraIdiomaCódigoGoogleLLMCoachedScriptNotas
🇲🇽Espanhol Mexicanoes-MXForma "tú". Registro caloroso.
🇨🇦Francês Canadensefr-CAExpressões idiomáticas do Québécois.

Idiomas Indígenas e de Baixos Recursos

Esses idiomas não são suportados por serviços comerciais de MT. O rosetta fornece as ferramentas para que as comunidades linguísticas criem seus próprios métodos sob os princípios OCAP.

IdiomaCódigoGoogleLLMCoachedScriptStatus
🪶Cree das Planíciescrk🔤 SRO→Syllabics🚧 Em desenvolvimento
🌄QuéchuaquRunasimi. Sufixos evidenciais.

:::info O Cree das Planícies está em desenvolvimento ativo O registro, a infraestrutura de coaching, o conversor de script e o ambiente de avaliação para o Cree das Planícies estão todos funcionais, mas o pipeline de tradução ainda não foi lançado. Estamos trabalhando com as comunidades linguísticas sob os princípios OCAP para garantir a qualidade antes do lançamento. Consulte Apoie um Idioma de Baixos Recursos para ver a história completa — e como você pode contribuir. :::

:::tip Adicionando mais idiomas de baixos recursos O sistema de plugins de métodos do rosetta foi projetado para isso. Uma comunidade linguística pode criar um método de tradução personalizado, hospedá-lo sob seu próprio controle e servi-lo por meio do método API. O Method Leaderboard rastreia as pontuações para qualquer par de idiomas — crie um método, execute o ambiente de testes e conquiste a pontuação mais alta. :::


Idiomas Construídos (Conlangs)

Conlangs são suportados por meio de registros LLM e conversores de script opcionais. Eles usam a mesma infraestrutura dos idiomas reais — o portão de qualidade, o sistema de coaching e o pipeline de conversão de script funcionam de forma idêntica.

IdiomaCódigoGoogleLLMScriptNotas
🖖Klingontlh🔤 Romanization→pIqaDFonte PUA necessária. Vocabulário de Marc Okrand.
🧝Sindarin (Élfico de Tolkien)x-elvish-s🔤 Latin→TengwarFonte CSUR PUA necessária.
🏴‍☠️Inglês Piratax-pirateApenas registro. Metáforas náuticas.
🦸Kryptonianox-kryptonian🔤 Latin→KryptonianFonte PUA necessária.
🎭Inglês Shakespearianox-shakespeareApenas registro. Formas thee/thou, -eth/-est.
🐸Idioma do Yodax-yodaApenas registro. Ordem de palavras OSV.

Consulte Conlangs, Scripts e Ortografia para requisitos de fonte PUA, limitações do Unicode e como adicionar o seu próprio.


Predefinições de Idioma

O assistente init suporta nomes predefinidos para configuração rápida. Você pode misturar predefinições com códigos individuais.

PredefiniçãoExpande Para
europeanfr, de, es, it, pt, nl
asianja, zh, ko
globalfr, es, de, ja, zh, ko, pt, ar
nordicda, fi, nb, sv
# Mix presets with individual codes
i18n-rosetta init
# → Target languages: european, ja
# → Resolves to: fr, de, es, it, pt, nl, ja

Adicionando Qualquer Idioma

O rosetta pode traduzir para qualquer idioma que o seu LLM conheça — a tabela acima apenas lista os idiomas com predefinições de registro integradas. Para adicionar um idioma não listado, inclua seu código BCP-47 na sua configuração:

{
"languages": {
"sw": {},
"am": {
"register": "Formal Amharic. Professional register with Geʽez script."
}
}
}

O LLM fará a tradução usando seu conhecimento de treinamento do idioma. Definir um register oferece controle sobre o tom, a formalidade e as convenções ortográficas. Consulte Configuração para obter detalhes.


Language Cards

Cada idioma integrado possui um Language Card — uma configuração JSON estruturada dividida em duas camadas para desempenho:

Arquitetura de Duas Camadas

CamadaDiretórioCarregadoPropósito
Runtimelib/data/language-cards/Antecipadamente em importMecanismo de tradução: registros, formalidade, regras, suporte a métodos
Referencelib/data/language-reference/Sob demanda (lazy)Documentação do desenvolvedor: desafios linguísticos, dados enciclopédicos, recursos de PNL

A camada de runtime permanece pequena (~2 KB/cartão) para que a importação do rosetta não carregue megabytes de dados de documentação. A camada de referência está disponível via getLanguageReference(code) para ferramentas, o site e o ambiente de avaliação.

Campos do Cartão de Runtime

CampoO Que Contém
nativeNameEndônimo — o nome do idioma para si mesmo, em seu próprio script (ex: ქართული, Runasimi)
Sistema de formalidadeDistinção T-V, níveis de fala, keigo, partículas, etc.
Predefinições de registroPredefinições nomeadas de prompt de LLM específicas para o caráter do idioma
Suporte a métodosQuais APIs de tradução suportam este idioma
Orientação de gêneroRegras de gênero gramatical e dicas de escrita inclusiva
Script/direçãoCódigo de script ISO 15924 e RTL/LTR
RegrasTipografia (aspas, espaçamento), capitalização, categorias de plural
Conjuntos de dados de avaliaçãoQuais benchmarks cobrem este idioma
glottocodeIdentificador canônico do Glottolog para referência cruzada
humanReviewedSe o cartão foi revisado por um falante nativo

Campos do Cartão de Referência

CampoO Que Contém
Desafios linguísticosArmadilhas específicas de MT (ex: evidencialidade, diacríticos tonais, aglutinação)
EnciclopédicoFamília linguística, classificação, número de falantes, regiões
RecursosFerramentas de PNL, corpora paralelos, modelos pré-treinados

Estruturando um Novo Language Card

Use o gerador para estruturar ambas as camadas a partir de fontes de dados autorizadas (IANA, CLDR, Glottolog):

# Preview what would be generated
node scripts/generate-language-card.mjs sw --dry-run

# Generate both runtime + reference cards
node scripts/generate-language-card.mjs sw

O gerador preenche automaticamente os metadados (códigos, script, direção, plurais, aspas, suporte a métodos, família linguística) e marca os campos de julgamento linguístico como TODO (a fazer) para curadoria humana.

Usando Chaves Predefinidas

Em vez de escrever o texto completo do registro, você pode usar um nome de chave predefinido:

{
"languages": {
"fr": "casual-tu",
"ko": "formal-hapsyo",
"ja": "polite"
}
}

O Rosetta resolve a chave para o prompt de registro completo. Execute npx i18n-rosetta init para ver as predefinições disponíveis para cada idioma.

Exemplos de Predefinições

IdiomaPredefiniçõesPadrão
Francêsformal-vous, casual-tuformal-vous
Coreanopolite-haeyo, formal-hapsyo, casual-haepolite-haeyo
Japonêspolite, formal-keigo, casualpolite
Alemãoformal-Sie, casual-duformal-Sie
Tailandêsneutral-professional, polite-male, polite-femaleneutral-professional
Espanholneutral-professional, formal-usted, casual-tuteoneutral-professional

Consulte Contribuindo com um Language Card para ver a especificação completa, incluindo validação de campos e checklist de PR.


Veja Também