Traducciones

Una gran parte de este proyecto es el soporte para traducciones. Está incorporado en muchas partes del proceso. La forma estándar de especificar una cadena en HTML es así: ${i18Next.t("Text to translate")}.

Una vez que se define una traducción usando i18Next, hay 3 formas potenciales en que se puede manejar la traducción.

  1. Manual - Los archivos locales (*.json) se actualizan con las claves a traducir y [[ y ]] que las rodean. Esto está destinado a permitir la traducción manual a tu manera. También puedes usar el aviso "translateManualFile.md" para ayudar.
  2. GoogleTranslate - Esto utiliza la API de Google Translate para traducir elementos. Tiende a ser una de las opciones más económicas y confiables que he visto. La única limitación con la que me he encontrado es que no maneja bien las diferentes formas plurales. Así que puede que necesites usar OpenAI o manualmente para cualquier cosa que use la función de pluralización de i18Next.
  3. OpenAI - Esto utiliza la API de OpenAI para traducir elementos. Esta es la opción más cara que he visto. También es la más flexible. Puede manejar diferentes formas plurales bien. También puede manejar oraciones más complejas. Además, es la que tiene más probabilidades de poder manejar nuevos idiomas.

La configuración sobre qué traducción utilizar se define en tu build.ts y en la propiedad translationSource para la llamada a staticSiteBuild.