Traduzioni

Una parte enorme di questo progetto è il supporto per le traduzioni. È integrato in molte parti del processo. Il modo standard per specificare una stringa in HTML è il seguente: ${i18Next.t("Text to translate")}.

Una volta definita una traduzione utilizzando i18Next, ci sono 3 possibili modi in cui la traduzione può essere gestita.

  1. Manual - I file di localizzazione (*.json) vengono aggiornati con le chiavi da tradurre e [[ e ]] che le circondano. Questo è pensato per permettere una traduzione manuale come preferisci. Puoi anche utilizzare il prompt "translateManualFile.md" per ottenere aiuto.
  2. GoogleTranslate - Questo utilizza l'API di Google Translate per tradurre gli elementi. Questo tende ad essere una delle opzioni più economiche e affidabili che abbia visto. L'unica limitazione che ho riscontrato è che non gestisce bene le diverse forme plurali. Quindi potrebbe essere necessario usare OpenAI o Manuale per qualsiasi cosa che utilizzi la funzione di pluralizzazione di i18Next.
  3. OpenAI - Questo utilizza l'API di OpenAI per tradurre gli elementi. Questa è l'opzione più costosa che abbia mai visto. È anche la più flessibile. Può gestire bene le diverse forme plurali. Può anche gestire frasi più complesse. È anche la più propensa a poter gestire nuove lingue.

L'impostazione per quale traduzione utilizzare è definita nel tuo build.ts e nella proprietà translationSource per la chiamata staticSiteBuild.