Переводы

Огромная часть этого проекта — поддержка переводов. Это встроено во многие части процесса. Стандартный способ указать строку в HTML выглядит так: ${i18Next.t("Text to translate")}.

После того как перевод определён с помощью i18Next, существует 3 потенциальных способа обработки перевода.

  1. Manual - Файлы локализации (*.json файлы) обновлены с ключами для перевода и [[ и ]] вокруг них. Это сделано для того, чтобы вы могли вручную переводить так, как вам нравится. Вы также можете использовать подсказку "translateManualFile.md" для помощи.
  2. GoogleTranslate - Это использует API Google Translate для перевода элементов. Это, как правило, один из более дешевых и надежных вариантов, которые я видел. Единственное ограничение, с которым я столкнулся, заключается в том, что он плохо обрабатывает различные формы множественного числа. Поэтому вам, возможно, придется использовать OpenAI или ручной перевод для всего, что использует функцию множественной формы i18Next.
  3. OpenAI - Это использует API OpenAI для перевода элементов. Это самый дорогой вариант, который я видел. Он также самый гибкий. Он хорошо справляется с различными формами множественного числа. Он также способен обрабатывать более сложные предложения. Он также с наибольшей вероятностью сможет обрабатывать новые языки.

Настройка того, какой перевод использовать, задается в вашем build.ts и свойстве translationSource для вызова staticSiteBuild.