O ronutz.com foi feito para que acrescentar ou melhorar um idioma dê pouco trabalho, e contribuições são bem-vindas. Um idioma é duas coisas: uma entrada no registro de locales e um pacote de mensagens em JSON. Nenhum código da aplicação precisa mudar.
Como o sistema funciona
- Os pacotes. O texto de cada idioma fica num único arquivo JSON de frases rotuladas,
src/i18n/messages/<código>.json. A página de contribuição oferece todos os pacotes ativos para download, e os downloads são copiados dos pacotes de origem a cada build, então estão sempre atualizados. Oen.jsoné a referência completa; os outros pacotes só precisam das frases que traduzem. - Fallback para o inglês. Toda frase que um pacote não tem aparece em inglês. Por isso uma tradução parcial já é útil: ela entra no ar, e as frases que faltam continuam legíveis em inglês até alguém completá-las.
- O registro.
src/i18n/locales.tslista cada idioma com o nome nativo, a direção do texto e o status da tradução. O seletor de idioma, os endereços e os metadados de busca seguem esse registro.
Status da tradução
Cada idioma tem um status:
| Status | Significado |
|---|---|
reviewed |
Um falante nativo leu e aprovou o pacote. |
machine-draft |
Um primeiro rascunho feito com IA ou tradução automática, ainda não revisado por um falante nativo. |
stub |
Ainda não há pacote; o idioma aparece em inglês. |
Texto rascunhado por máquina nunca é apresentado como texto nativo pronto. Um machine-draft é um ponto de partida que um falante nativo promove a reviewed. O português do Brasil é escrito com IA e revisado aos poucos, por isso mantém o status machine-draft e o aviso até que uma revisão humana ateste o contrário.
Melhore um idioma em quatro passos
- Baixe o pacote que quer melhorar na página de contribuição (para um idioma novo, baixe o
en.json, a referência). - Traduza o texto depois de cada rótulo. Mude só os valores. Nunca altere um rótulo (a chave à esquerda) e deixe tudo o que está entre chaves exatamente como está:
{count},{name}e afins são preenchidos pelo site, e uma chave alterada quebra a página. Mantenha nomes de produtos e termos técnicos como são (BIG-IP, CIDR, F5, Fortinet e assim por diante), e mantenha o jargão técnico do jeito que os profissionais do seu idioma realmente falam. - Defina o status em
_meta.statusdo pacote:machine-draftpara um rascunho de IA ou de máquina,reviewedse você é falante nativo e conferiu o texto. - Envie de volta. Mande o arquivo editado por e-mail pela página de contribuição, dizendo qual é o idioma, ou abra um pull request no repositório público. Toda contribuição é revisada à mão.
Pontuação
- O inglês é escrito sem travessão (em dash). No lugar dele vão vírgula, dois-pontos, parênteses ou uma frase nova; a meia-risca (en dash) aparece só entre números de um intervalo (10–20).
- Todos os outros idiomas mantêm a própria pontuação natural. Não importe a regra do inglês: as línguas românicas e eslavas usam o travessão delas (o travessão do português, a raya do espanhol, o тире do russo) onde a própria tipografia pede; o alemão e as línguas escandinavas usam a meia-risca com espaços; o chinês usa os sinais nativos de largura total (,。:;) e o próprio travessão de largura dupla. O francês mantém o espaço antes de ; : ! e ?.
Observações
- Idiomas da direita para a esquerda (árabe, por exemplo) são tratados pelo layout; a direção vem do registro, então você só traduz o texto.
- Pacotes parciais são bem-vindos. Traduzir só a navegação e a página inicial já é uma primeira contribuição valiosa.
- Um idioma que ainda não está no registro? Acrescente uma linha a
LOCALESemsrc/i18n/locales.tscom o código, o nome nativo, o nome em inglês, a direção estatus: "stub", depois acrescente o seu pacote, ou peça por e-mail e ele será acrescentado para você.