O assistente de Internacionalização torna um projeto multilíngue. Ele lê seu repositório, inicia todas as etapas com base no que encontrou e finaliza com uma tarefa que abre um pull request. Você nunca precisa digitar um código de idioma ou editar o JSON; altere apenas o que desejar, e nada será alterado no seu repositório até o merge.
Proprietários e administradores executam o assistente. Inicie-o a partir de Localização: escolha Internacionalizar um projeto, ou Iniciar o assistente na linha de um projeto. Para um projeto já multilíngue, Configurações → Alterar idiomas abre o mesmo assistente para propor alterações.
As etapas
1. Escaneamento
O Coroid lê o branch padrão sem executar nenhum de seus códigos. Ele procura por catálogos e seus idiomas, pelas estruturas utilizadas e pelo texto ainda escrito diretamente no código, contando por arquivo.
- Catálogos encontrados. O assistente os mantém: o Coroid adiciona suas verificações e traduz o que está faltando. Isso é chamado de adotar.
- Nenhum catálogo ainda. O Coroid move o texto do seu código para dentro dos catálogos e o substitui por consultas. Isso é chamado de introduzir.
- Já configurado. O projeto já possui uma configuração do Coroid, e o assistente propõe alterações nela.
2. Idioma de origem
O idioma em que o produto foi escrito; todos os outros idiomas são traduzidos a partir dele. O assistente detecta esse idioma nos seus catálogos ou o adivinha a partir do texto no código. Qualquer idioma pode ser a origem: um produto sueco traduzido para inglês e alemão funciona da mesma maneira.
3. Idiomas
Selecione os idiomas um por um ou adicione todo um mercado de uma vez: Mais falados, Europa, Nórdicos, Leste Asiático, As Américas ou Da direita para a esquerda. Cada idioma exibe seu próprio nome, se é escrito da direita para a esquerda e quantas formas plurais necessita.
As variantes regionais podem ser derivadas em vez de traduzidas. O inglês britânico é derivado do inglês americano com ortografia britânica, e o alemão suíço do alemão com ortografia suíça, portanto não custam nada e permanecem sincronizados com o idioma pai.
Cada etapa começa com o que já existe no repositório. Altere apenas o que desejar; nada será alterado até que o pull request seja mesclado.
- Digitalizar
- Idioma-fonte
- Idiomas
- Strings
- Estilo e termos
- Qualidade e automação
- Revisão
Selecione os idiomas um por um ou inclua todo um mercado de uma só vez. Variantes regionais, como o inglês britânico, podem ser geradas automaticamente com base em regras, em vez de exigir tradução manual.
- Deutschalemão · de · 2 formas plurais
- Françaisfrancês · fr · 3 formas plurais
- 日本語japonês · ja · 1 forma plural
- العربيةárabe · ar · da direita para a esquerda · 6 formas plurais
- British Englishinglês (Reino Unido) · en-GB · 2 formas pluraisDerivado com ortografia britânica
O assistente de Internacionalização na etapa de Idiomas: cada idioma com sua direção de escrita e formas plurais, o inglês britânico gerado por regras e os mercados para adicionar de uma só vez. Dados ilustrativos.
4. Strings
Ao adotar, escolha os catálogos que o Coroid manterá traduzidos; suas chaves e estrutura permanecerão como estão. Ao introduzir, escolha os arquivos cujo texto o Coroid moverá para os catálogos; os arquivos que você deixar de fora permanecerão como estão.
5. Estilo e termos
Tudo opcional e aplicado em todos os idiomas:
- Formal ou informal. Para idiomas que tratam o leitor de forma formal ou informal, como o alemão Sie e du. Por padrão, cada um segue o tom do texto de origem.
- Termos mantidos como escritos. Nomes de produtos, marcas e recursos que permanecem iguais em todos os idiomas.
- Sobre o produto. Algumas frases sobre o produto e seus leitores, que ajudam cada tradução a escolher as palavras certas.
6. Qualidade e automação
Ativado por padrão, e cada um pode ser alterado posteriormente:
- Verificar traduções em cada alteração. A verificação de Traduções no Controle de Qualidade envia uma alteração de volta quando houver strings ausentes ou corrompidas.
- Traduzir strings mescladas fora do Coroid. Quando alguém mescla novo texto sem o Coroid, uma tarefa o traduz.
- Aplicar correções todas as noites. As sugestões aprovadas de colaboradores chegam como uma pull request todas as noites.
- Permitir que pessoas convidadas sugiram redação. Os leitores nativos que você convidar podem corrigir traduções no seu site. Veja Manter traduções com sugestões.
O arquivo de configuração carrega a última versão. O Coroid ativa as demais na próxima vez que um proprietário ou administrador abrir a Localização após o merge do pull request, e apenas uma vez: se você desativar alguma delas depois, ela permanecerá desativada.
7. Revisão
Um resumo do projeto, o que a tarefa fará, o idioma de origem, os idiomas e quais deles são derivados, o volume de tradução, os termos mantidos como escritos e o que será ativado após o merge. A tradução é cobrada como uso de modelo, assim como outro trabalho de agente, e tem limite por tarefa.
Escolha Internacionalizar. O Coroid cria uma tarefa com uma Especificação e critérios de aceitação e a inicia imediatamente.
O que a tarefa faz
- Adotar Escreve o arquivo de configuração exatamente como o assistente o montou e depois traduz todas as strings ausentes.
- Apresentando Conecta sua estrutura, move o texto dos arquivos selecionados para catálogos, adiciona roteamento de idiomas, recursos de fallback e suporte a direita para esquerda e, em seguida, traduz.
- Alterando Escreve a nova configuração e corrige as traduções afetadas pela alteração.
A tarefa termina em um pull request. Depois que ele for mesclado ao branch padrão, todos os idiomas aparecerão na Localização.
Formatos
Coroid lê catálogos nesses formatos:
| Formato | Use para |
|---|---|
| ICU JSON | Arquivos de mensagens com pluralização e seleção ICU |
| i18next JSON | Catálogos i18next e react-i18next, incluindo sufixos de plural |
| Vue i18n JSON | Mensagens vue-i18n, incluindo mensagens vinculadas e pluralização por pipe |
| Rails YAML | config/locales/*.yml, com %{name} interpolação e chaves de plural |
| gettext PO | .po arquivos e um .pot modelo, com Plural-Forms por idioma |
| Markdown e MDX | Páginas de documentação dentro de uma pasta de idioma (docs/en/…): texto, descrições de imagens e campos de frontmatter escolhidos; código e marcação permanecem como estão. |
| Personalizado | Qualquer outro formato, por meio de um pequeno comando adaptador no seu repositório. |
O arquivo de configuração
O assistente escreve .coroid/i18n.json. Ele descreve seu repositório, portanto fica no seu repositório e muda por meio de pull requests:
{
"version": 1,
"cli": { "version": "1.9.0", "sha256": "…" },
"sourceLocale": "en",
"targetLocales": ["de", "fr", "ja", "ar"],
"derivedLocales": [
{ "locale": "en-GB", "from": "en", "rules": "en-gb-spelling" }
],
"catalogs": [
{
"id": "ui",
"format": "i18next-json",
"source": "messages/{locale}.json"
}
],
"protectedTerms": ["Storefront"],
"localeInstructions": {
"de": "Address the reader informally (du)."
}
}cliFixa a versão exata do motor e seu checksum. Coroid baixa e verifica essa versão antes de cada execução, para que uma atualização nunca altere seu resultado de forma inesperada.derivedLocalesLista as variantes regionais produzidas pelas regras.protectedTermselocaleInstructionscontêm o que você selecionou sob Estilo e termos.
O arquivo também pode conter um glossário, contexto do produto, rotas de tradução por idioma e a vinculação de sugestões para colaboradores.
Configurações → Arquivo de configuração na área de trabalho mostra o arquivo exato no branch padrão. Para alterá-lo ali, edite a proposta e escolha Propor alteração: Coroid abre uma tarefa que aplica exatamente esse arquivo e corrige quaisquer traduções afetadas pela alteração. Para idiomas e estilo, o assistente é a maneira mais fácil.