Traduções

Uma grande parte deste projeto é o suporte para traduções. Está incorporado em muitas partes do processo. A maneira padrão de especificar uma string em html é assim: ${i18Next.t("Text to translate")}.

Uma vez que uma tradução é definida usando i18Next, existem 3 maneiras potenciais de como a tradução pode ser tratada.

  1. Manual - Os arquivos de localidade (*.json) foram atualizados com as chaves para tradução e [[ e ]] ao redor delas. Isso é destinado a permitir a tradução manual como você preferir. Você também pode usar o prompt "translateManualFile.md" para ajudar.
  2. GoogleTranslate - Isso usa a API do Google Translate para traduzir itens. Este é um dos opções mais baratas e confiáveis que já vi. A única limitação com a qual me deparei é que ela não lida bem com diferentes formas plurais. Portanto, pode ser necessário usar OpenAI ou Manual para qualquer coisa que utilize o recurso de pluralização do i18Next.
  3. OpenAI - Isso usa a API da OpenAI para traduzir itens. Esta é a opção mais cara que já vi. Também é a mais flexível. Ela pode lidar bem com diferentes formas plurais. Também pode lidar com frases mais complexas. Além disso, é a mais provável de conseguir lidar com novas línguas.

A configuração sobre qual tradução usar é definida em seu build.ts e na propriedade translationSource para a chamada staticSiteBuild.