ترجمات

جزء كبير من هذا المشروع هو دعم الترجمات. إنه مدمج في العديد من أجزاء العملية. الطريقة القياسية لتحديد سلسلة نصية في HTML هي كما يلي: ${i18Next.t("Text to translate")}.

بمجرد تعريف ترجمة باستخدام i18Next، هناك 3 طرق محتملة يمكن التعامل بها مع الترجمة.

  1. Manual - تم تحديث ملفات اللغة (*.json) مع المفاتيح للترجمة و [[ و ]] تحيط بها. هذا مقصود للسماح بالترجمة اليدوية كما تريد. يمكنك أيضًا استخدام الموجه "translateManualFile.md" للمساعدة.
  2. GoogleTranslate - يستخدم هذا واجهة برمجة تطبيقات ترجمة Google لترجمة العناصر. يميل هذا إلى أن يكون أحد الخيارات الأكثر تكلفة وموثوقية التي رأيتها. الحد الوحيد الذي واجهته هو أنه لا يتعامل بشكل جيد مع أشكال الجمع المختلفة. لذلك قد تحتاج إلى استخدام OpenAI أو الترجمة اليدوية لأي شيء يستخدم ميزة الجمع الخاصة بـ i18Next.
  3. OpenAI - يستخدم هذا واجهة برمجة تطبيقات OpenAI لترجمة العناصر. هذه هي الخيار الأكثر تكلفة الذي رأيته. كما أنها الأكثر مرونة. يمكنها التعامل مع أشكال الجمع المختلفة بشكل جيد. يمكنها أيضًا التعامل مع الجمل الأكثر تعقيدًا. كما أنها الأكثر احتمالاً أن تتمكن من التعامل مع اللغات الجديدة.

تم تحديد الإعداد لاختيار الترجمة في ملف build.ts الخاص بك وخاصية translationSource لاستدعاء staticSiteBuild.