Tłumaczenia

Ogromna część tego projektu to wsparcie dla tłumaczeń. Jest to wbudowane w wiele części procesu. Standardowy sposób określenia ciągu w html wygląda następująco: ${i18Next.t("Text to translate")}.

Gdy tłumaczenie jest zdefiniowane za pomocą i18Next, istnieją 3 potencjalne sposoby obsługi tłumaczenia.

  1. Manual - Pliki locale (*.json) są aktualizowane z kluczami do tłumaczenia otoczonymi [[ i ]]. Ma to na celu umożliwienie ręcznego tłumaczenia zgodnie z własnymi preferencjami. Możesz także użyć polecenia "translateManualFile.md", aby uzyskać pomoc.
  2. GoogleTranslate - To używa Google Translate API do tłumaczenia elementów. To zazwyczaj jedna z tańszych i bardziej niezawodnych opcji, które widziałem. Jedynym ograniczeniem, z którym się spotkałem, jest to, że nie obsługuje dobrze różnych form liczby mnogiej. Dlatego możesz potrzebować użyć OpenAI lub manualnego tłumaczenia dla wszystkiego, co korzysta z funkcji pluralizacji i18Next.
  3. OpenAI - To używa API OpenAI do tłumaczenia elementów. To jest najdroższa opcja, jaką widziałem. Jest też najbardziej elastyczna. Dobrze radzi sobie z różnymi formami liczby mnogiej. Może również obsługiwać bardziej złożone zdania. Jest również najbardziej prawdopodobne, że będzie w stanie obsłużyć nowe języki.

Ustawienia dotyczące tego, która tłumaczenie ma być użyte, są zdefiniowane w pliku build.ts oraz w właściwości translationSource dla wywołania staticSiteBuild.