Tradução I18n com CLI
O Logto translate CLI é uma ferramenta poderosa projetada para desenvolvedores que contribuem para os esforços de i18n do Logto. Com este CLI, você pode se concentrar em escrever conteúdo em inglês e, em seguida, traduzi-lo facilmente para todos os idiomas suportados.
Para usuários regulares do Logto que buscam traduções personalizadas sem contribuir para o projeto, consulte nosso guia de localização.
A partir da versão v1.20.0, o comando de tradução foi removido do @logto/cli
e mantido como um pacote independente @logto/translation
no monorepo do Logto. Consequentemente, a forma de execução é ligeiramente diferente.
Migrar do @logto/cli
Aqui está uma comparação dos métodos de execução antigos e novos do CLI:
Método antigo (antes da v1.20.0):
pnpm cli translate <command> [options]
Novo método:
pnpm translate <command> [options]
Sincronizar chaves
Digamos que fizemos algumas alterações nas chaves de tradução na pasta en
do pacote phrases
. Queremos sincronizar essas alterações com a pasta pt-BR
. Execute o comando abaixo para sincronizar as chaves de tradução e a estrutura de arquivos:
pnpm translate sync-keys --target pt-BR
Este comando lerá todas as chaves de tradução da pasta do idioma de origem (en
por padrão) e as sincronizará com a pasta do idioma de destino (pt-BR
neste exemplo).
- Se a pasta do idioma de destino não existir, ela será criada automaticamente;
- Se a pasta do idioma de destino já existir, ela será atualizada com novas chaves e removida com chaves obsoletas.
Para cada chave de tradução:
- Se uma chave estiver faltando no destino, ela será adicionada com um comentário para indicar que a frase não está traduzida (marcada com
/** UNTRANSLATED */
); - Se uma chave estiver faltando na linha de base, ela será removida do destino;
- Se uma chave existir tanto na linha de base quanto no destino, o valor do destino será usado.
Para sincronizar chaves para todos os idiomas no pacote phrases
, execute o comando abaixo:
pnpm translate sync-keys --target all
Assim, podemos nos concentrar em atualizar as chaves de tradução na pasta do idioma de origem, e as chaves de tradução em outros idiomas serão atualizadas automaticamente.
Este comando é executado para o pacote phrases
por padrão. Você pode especificar o nome do pacote usando a opção --package
. Por exemplo, use --package phrases-experience
para sincronizar chaves para o pacote phrases-experience
.
Após sincronizar as chaves, podemos traduzi-las usando a API do ChatGPT.
Traduzir chaves usando ChatGPT
Execute o comando abaixo para traduzir chaves usando o ChatGPT:
pnpm translate sync
Este comando traduzirá todas as chaves não traduzidas (marcadas com /** UNTRANSLATED */
) em todos os idiomas nos pacotes phrases
e phrases-experience
. Observe que uma variável de ambiente OPENAI_API_KEY
é necessária para executar este comando.