Traductions

Une grande partie de ce projet consiste à prendre en charge les traductions. C'est intégré dans de nombreuses parties du processus. La manière standard de spécifier une chaîne en HTML est la suivante : ${i18Next.t("Text to translate")}.

Une fois qu'une traduction est définie à l'aide d'i18Next, il existe 3 façons potentielles de gérer la traduction.

  1. Manual - Les fichiers de localisation (*.json) sont mis à jour avec les clés à traduire et [[ et ]] les entourant. Cela permet une traduction manuelle comme vous le souhaitez. Vous pouvez également utiliser l'invite "translateManualFile.md" pour vous aider.
  2. GoogleTranslate - Cela utilise l'API Google Translate pour traduire des éléments. C'est généralement l'une des options les moins chères et les plus fiables que j'ai rencontrées. La seule limite à laquelle j'ai été confronté est qu'elle ne gère pas bien les différentes formes plurielles. Vous devrez donc peut être utiliser OpenAI ou une méthode manuelle pour tout ce qui utilise la fonction de pluralisation d'i18Next.
  3. OpenAI - Cela utilise l'API OpenAI pour traduire des éléments. C'est l'option la plus coûteuse que j'ai vue. C'est aussi la plus flexible. Elle gère bien les différentes formes plurielles. Elle peut également traiter des phrases plus complexes. C'est également la plus susceptible de pouvoir gérer de nouvelles langues.

Le paramètre pour choisir quelle traduction utiliser est défini dans votre build.ts et la propriété translationSource pour l'appel staticSiteBuild.