Fluxo de Trabalho da Aplicação
Esta página foi traduzida por PageTurner AI (beta). Não é oficialmente endossada pelo projeto. Encontrou um erro? Reportar problema →
Embora nosso guia de Instalação ajude você a começar, este documento oferece uma visão geral de como seu fluxo diário de tradução pode funcionar.
Existem dois tipos de ferramentas e serviços de tradução:
-
Ferramentas que funcionam localmente no seu computador - como sua IDE.
-
Serviços de tradução em nuvem que exigem upload dos seus arquivos de tradução. Eles requerem um pipeline de tradução com fluxo complexo.
Este guia mostrará como trabalhar com ambos os tipos de ferramentas.
Fluxo de trabalho simples com ferramenta de tradução local
projectRoot
|-- src
| |-- App.js
|-- extracted
| |-- en.json
|-- lang
| |-- fr.json
| |-- de.json
|-- package.json
|-- .eslintrc.js
Os arquivos de tradução extraídos ficam na pasta extracted pois possuem estrutura interna diferente (ex: contêm informações adicionais como comentários). Os arquivos gerados durante a tradução são armazenados na pasta lang.
O fluxo operacional
O processo segue esta sequência:
-
Extração: Esta etapa agrega todas as
defaultMessages da aplicação em um único arquivo JSON comdescription, pronto para tradução. -
Edição: Edite as traduções e salve ao concluir.
-
As alterações aparecem imediatamente na sua build
Fluxo de trabalho complexo com serviço de tradução em nuvem
Estrutura do Projeto
Um projeto minimalista compatível com i18n pode ter esta estrutura:
projectRoot
|-- src
| |-- App.js
|-- lang
| |-- en-US.json
| |-- fr.json
|-- package.json
|-- .eslintrc.js
onde a pasta lang armazena o arquivo consolidado de strings da aplicação. Integrações com fornecedores de tradução externos podem consumir en-US.json e produzir fr.json ou outros arquivos de localidade conforme configurado.
Pipeline
Um pipeline de tradução genérico segue este modelo:
-
Extração: Esta etapa agrega todas as
defaultMessages da aplicação em um único arquivo JSON comdescription, pronto para tradução. -
Upload de mensagens: Envia o arquivo JSON para o fornecedor de tradução.
-
Download de traduções: Consulta periodicamente o fornecedor ou integra-se a ele para baixar mensagens traduzidas nos idiomas configurados.
-
Commit: Registra as traduções no código fonte.
Papel do FormatJS neste contexto
O objetivo deste projeto não é fornecer uma solução completa para o pipeline, mas focar na Experiência do Desenvolvedor através de ferramentas e melhores práticas para conscientização sobre i18n. Isso inclui:
-
Declaração de mensagens compatíveis com i18n
-
Linter que impõe tais mensagens
-
CLI para extração e compilação
-
Polyfills para ambientes de runtime i18n estáveis
-
Plugin de bundler para compilar TypeScript/JavaScript