Documentação

Internacionalizar um projeto

Execute o assistente de Internacionalização para tornar um projeto multilíngue. O Coroid lê o repositório, sugere idiomas e configurações e prepara uma pull request.

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.

Localização
Assistente de internacionalização

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.

Passo 3 de 7
Idiomas para adicionar

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.

5 idiomas
  • 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
Adicionar um mercado
Mais faladoEuropaNórdicosLeste AsiáticoAs AméricasDa direita para a esquerda
VoltarContinuar

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:

FormatoUse para
ICU JSONArquivos de mensagens com pluralização e seleção ICU
i18next JSONCatálogos i18next e react-i18next, incluindo sufixos de plural
Vue i18n JSONMensagens vue-i18n, incluindo mensagens vinculadas e pluralização por pipe
Rails YAMLconfig/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 MDXPá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.
PersonalizadoQualquer 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)."
  }
}
  • cli Fixa 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.
  • derivedLocales Lista as variantes regionais produzidas pelas regras.
  • protectedTerms e localeInstructions contê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.