التكوين المتقدم

يوفر مترجم Lingo.dev خيارات تكوين واسعة لتخصيص سلوك الترجمة وتحسين سير عمل التوطين الخاص بك.

إعدادات التكوين

عند تنفيذ المُجمِّع في مشروعك، يمكنك تمرير كائن إعدادات بالخيارات التالية:

// الإعدادات الافتراضية
const compilerConfig = {
  sourceRoot: "src",
  lingoDir: "lingo",
  sourceLocale: "en",
  targetLocales: ["es"],
  rsc: false,
  debug: false,
  models: {
    // تكوين النموذج المخصص
    "*:fr": "mistral-saba-24b",
    "en:es": "meta-llama/llama-4-maverick-17b-128e-instruct",
    "*:*": "mistral-saba-24b",
  },
  prompt:
    "You are AI translator. You translate from {SOURCE_LOCALE} to {TARGET_LOCALE}.",
};

// Next.js
lingoCompiler.next(compilerConfig)(nextConfig);

// Vite/React Router
lingoCompiler.vite(compilerConfig)(viteConfig);

خيارات التكوين

  • sourceRoot - المسار إلى دليل المصدر الخاص بك حيث سيتم تخزين دليل lingo/
  • lingoDir - اسم الدليل الذي يحتوي على ملفات الترجمة (الافتراضي: "lingo")
  • sourceLocale - اللغة المصدر لتطبيقك (الافتراضي: "en")
  • targetLocales - مصفوفة اللغات المستهدفة للترجمة إليها
  • rsc - تمكين دعم مكونات خادم React (الافتراضي: false)
  • debug - تمكين تسجيل التصحيح لاستكشاف الأخطاء وإصلاحها (الافتراضي: false)
  • models - تكوين نموذج الذكاء الاصطناعي المخصص لأزواج لغات محددة (اختياري)
  • prompt - مطالبة ترجمة مخصصة مع العناصر النائبة (اختياري)

نماذج Groq المقترحة

للحصول على أفضل النتائج، قمنا باختبار والتحقق من جودة نماذج GROQ التالية للغات محددة:

mistral-saba-24b

  • ar - العربية
  • de - الألمانية
  • fr - الفرنسية
  • pt-BR - البرتغالية (البرازيل)

meta-llama/llama-4-maverick-17b-128e-instruct

  • es - الإسبانية
  • ja - اليابانية
  • ko - الكورية
  • ru - الروسية
  • zh - الصينية

التحكم في معالجة الملفات

تخطي الترجمات

أضف السمة data-lingo-skip إلى العناصر التي لا تريد ترجمتها:

<div data-lingo-skip>هذا المحتوى لن تتم ترجمته</div>

تجاوزات الترجمة

يمكنك تجاوز الترجمات للغات محددة باستخدام سمات data-lingo-override-:

<button data-lingo-override-es="¡Hola!" data-lingo-override-fr="Bonjour!">
  Hello
</button>

تكوين النموذج المخصص

يمكنك تخصيص نماذج الذكاء الاصطناعي والتوجيهات مباشرة في تكوين المُجمِّع الخاص بك:

const compilerConfig = {
  sourceLocale: "en",
  targetLocales: ["es", "fr", "de"],
  models: {
    "*:fr": "mistral-saba-24b",
    "en:es": "meta-llama/llama-4-maverick-17b-128e-instruct",
    "es:fr": "meta-llama/llama-4-maverick-17b-128e-instruct",
    "*:*": "mistral-saba-24b",
  },
  prompt:
    "You are a professional translator specializing in technical documentation. Translate from {SOURCE_LOCALE} to {TARGET_LOCALE} while maintaining technical accuracy.",
};

تكوين النموذج

  • حدد أزواج اللغات كـ source-locale:target-locale
  • استخدم * كبديل لأي لغة
  • استخدم *:* كخيار احتياطي لجميع الترجمات
  • راجع نماذج GROQ للخيارات المتاحة

المطالبات المخصصة

يمكنك تحديد مطالبات ترجمة مخصصة مع العناصر النائبة:

  • {SOURCE_LOCALE} - رمز اللغة المصدر
  • {TARGET_LOCALE} - رمز اللغة الهدف

لبناء مسارد مخصصة، قم بتضمين المصطلحات في المطالبة الخاصة بك. راجع مطالبة المترجم الافتراضية لأفضل الممارسات.

تطبيع البناء

قم دائمًا بتشغيل بناء الإنتاج محليًا قبل الالتزام بالتغييرات:

npm run build

هذا يضمن أن ملفات meta.json و dictionary.js في دليل lingo/ تحتوي فقط على السلاسل النصية الموجودة في تطبيقك وأنها منسقة بشكل صحيح.

إعداد خطاف ما قبل الالتزام

قم بإعداد التطبيع التلقائي باستخدام husky:


# تثبيت husky

npm install --save-dev husky

# إضافة خطاف ما قبل الالتزام

npx husky add .husky/pre-commit "npm run build"

التكوين الخاص بالبيئة

التطوير

const isDev = process.env.NODE_ENV === "development";

const compilerConfig = {
  debug: isDev,
  targetLocales: isDev ? ["es"] : ["es", "fr", "de", "ja"],
};

تكامل CI/CD

للبناء الآلي، تأكد من أن بيئة CI لديك لديها حق الوصول إلى مفتاح GROQ API:


# GitHub Actions

GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}

# Vercel

GROQ_API_KEY=gsk_...

# Netlify

GROQ_API_KEY=gsk_...

تحسين الأداء

البناء التدريجي

يقوم المترجم تلقائيًا بما يلي:

  • تتبع تغييرات المحتوى من خلال بصمات الملفات
  • ترجمة المحتوى الجديد أو المعدل فقط
  • إعادة استخدام الترجمات الموجودة للمحتوى غير المتغير

تحسين الحزمة

  • حزم لكل لغة محلية - تحميل الترجمات للغة المحلية النشطة فقط
  • تقليم الشجرة - إزالة الترجمات غير المستخدمة من إصدارات الإنتاج
  • تقسيم الكود - تحميل الترجمات عند الطلب للتطبيقات المعتمدة على المسارات

استكشاف الأخطاء وإصلاحها

وضع التصحيح

تمكين تسجيل التصحيح لاستكشاف المشكلات وإصلاحها:

const compilerConfig = {
  debug: true,
  // ... خيارات أخرى
};

المشكلات الشائعة

ترجمات مفقودة: تأكد من تشغيل npm run build محليًا والالتزام بدليل lingo/. إذا كنت تستخدم NextJS، قد تحتاج إلى حذف دليل .next/ للتأكد من إعادة بناء جميع الملفات.

أخطاء البناء: تحقق من تعيين GROQ_API_KEY بشكل صحيح في متغيرات البيئة الخاصة بك.

مشكلات الأداء: قم بتمكين وضع التصحيح لتحديد الاختناقات في عملية التجميع.

الخطوات التالية