تخطي إلى المحتوى الرئيسي

دليل عملي: ترجمة 30 لغة

قم بتوسيع نطاق مشروعك من عدد قليل من اللغات المحلية إلى تغطية عالمية. يستعرض هذا الدليل العملي كيفية اختيار الطريقة، وتحسين التكلفة، والتكامل مع التكامل المستمر (CI) لعملية نشر حقيقية متعددة اللغات.

السيناريو: لديك تطبيق SaaS يحتوي على en، fr، es. تحتاج إلى إضافة 27 لغة أخرى عبر ثلاثة مستويات من متطلبات الجودة.


الخطوة 1: تصنيف لغاتك

لا تحتاج جميع اللغات الثلاثين إلى نفس النهج. قم بتجميعها حسب جودة الطريقة المتاحة:

المستوىاللغاتالطريقةالسبب
المستوى 1 — مميزja, ko, zh, de, ptllm (GPT-4o)أسواق عالية القيمة، قواعد لغوية دقيقة
المستوى 2 — قياسيit, nl, pl, sv, da, fi, no, cs, ro, hu, el, tr, id, ms, th, vi, uk, bggoogle-translateحجم كبير، مدعومة جيدًا من Google
المستوى 3 — موجهcrk, oj, mi, hawllm-coached + pluginsموارد محدودة، تتطلب فرض المصطلحات

الخطوة 2: التكوين لكل زوج لغوي

i18n-rosetta.config.json
{
"version": 3,
"inputLocale": "en",
"localesDir": "./locales",
"defaultMethod": "google-translate",
"model": "google/gemini-3.5-flash",
"languages": {
"ja": { "name": "Japanese", "register": "Polite/formal" },
"ko": { "name": "Korean", "register": "Formal" },
"zh": { "name": "Simplified Chinese", "register": "Neutral" },
"de": { "name": "German", "register": "Formal (Sie)" },
"pt": { "name": "Brazilian Portuguese", "register": "Informal" },
"crk": { "name": "Plains Cree (SRO)", "register": "Neutral" }
},
"pairs": {
"en:ja": { "method": "llm", "model": "openai/gpt-4o" },
"en:ko": { "method": "llm", "model": "openai/gpt-4o" },
"en:zh": { "method": "llm", "model": "openai/gpt-4o" },
"en:de": { "method": "llm", "model": "openai/gpt-4o" },
"en:pt": { "method": "llm", "model": "openai/gpt-4o" },
"en:crk": { "methodPlugin": "crk-coached-v1" }
}
}

ملاحظة: اللغات غير المدرجة في pairs ترث defaultMethod: "google-translate". لا تحتاج إلى سرد جميع اللغات الثلاثين.

معلومة

دعم crk قيد التطوير — راجع دعم لغة ذات موارد محدودة لمعرفة الحالة وإرشادات المساهمة.

الخطوة 3: إعداد مفاتيح API

ستحتاج إلى كلا مفتاحي API لهذا التكوين:

export OPENROUTER_API_KEY="sk-or-v1-..."
export GOOGLE_TRANSLATE_API_KEY="AIza..."

الخطوة 4: إجراء تشغيل تجريبي أولاً

قم دائمًا بالمعاينة قبل ترجمة 30 لغة:

npx i18n-rosetta sync --dry

راجع المخرجات. ستعرض ما يلي:

  • أي الأزواج اللغوية تستخدم أي طريقة
  • كم عدد المفاتيح الجديدة/المعدلة لكل لغة محلية
  • استدعاءات API المقدرة لكل مستوى

الخطوة 5: تشغيل المزامنة

npx i18n-rosetta sync

يعالج Rosetta كل زوج لغوي بشكل مستقل. ستكون أزواج المستوى 2 التي تستخدم Google Translate سريعة. ستكون أزواج المستوى 1 التي تستخدم LLM أبطأ ولكن بجودة أعلى. تستخدم أزواج المستوى 3 الموجهة بيانات التوجيه الخاصة بالإضافة (plugin).

التحديثات التدريجية

بعد المزامنة الأولية، تقوم عمليات التشغيل اللاحقة بترجمة المفاتيح المعدلة أو الجديدة فقط:

# Only keys that changed since last sync
npx i18n-rosetta sync

يتتبع ملف القفل (.i18n-rosetta.lock) ما تمت ترجمته، لذلك لن تقوم أبدًا بإعادة ترجمة المحتوى المستقر.

الخطوة 6: تدقيق الجودة

تحقق من حالة جميع الأزواج اللغوية:

npx i18n-rosetta status

يُخرج هذا جدولاً يوضح طريقة كل زوج، والنموذج، ومستوى الجودة، وما إذا كانت بيانات التوجيه أو درجات التقييم (benchmark scores) متاحة.

الخطوة 7: التكامل مع CI

أضفه إلى سير عمل GitHub Actions الخاص بك لتبقى الترجمات محدثة مع كل عملية دفع (push):

.github/workflows/i18n-sync.yml
name: Sync Translations
on:
push:
paths:
- 'locales/en/**'

jobs:
translate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20

- run: npm ci

- name: Sync translations
run: npx i18n-rosetta sync
env:
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
GOOGLE_TRANSLATE_API_KEY: ${{ secrets.GOOGLE_TRANSLATE_API_KEY }}

- name: Commit updated translations
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add locales/
git diff --staged --quiet || git commit -m "chore(i18n): sync translations"
git push

تقدير التكلفة

لمشروع يحتوي على 500 مفتاح مصدر عبر 30 لغة:

المستوىاللغاتالطريقةالتكلفة التقريبية
المستوى 1 (5 لغات)ja, ko, zh, de, ptGPT-4o~$2.50/مزامنة كاملة
المستوى 2 (18 لغة)it, nl, pl, إلخ.Google Translate~$0.90/مزامنة كاملة
المستوى 3 (4 لغات)crk, oj, mi, hawGPT-4o-mini موجه~$0.40/مزامنة كاملة
الإجمالي30 لغةمختلطة~$3.80/مزامنة كاملة

تكلف عمليات المزامنة التدريجية (5–20 مفتاحًا معدلاً) جزءًا بسيطًا من تكلفة المزامنة الكاملة.

انظر أيضًا