استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
بدءاً من الدمج مع خادم MCP Intlayer ، يمكن لمساعدك الذكي الاسترجاع من جميع المستندات مباشرة من ChatGPT ، DeepSeek ، Cursor ، VSCode ، إلخ.
عرض الوثائق الخاصة بالخادم MCPتمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ الـ Markdown من المستند إلى الحافظة
التوليد التلقائي للترجمات في خط أنابيب CI/CD
يتيح Intlayer التوليد التلقائي للترجمات لملفات إعلان المحتوى الخاصة بك. هناك عدة طرق لتحقيق ذلك اعتمادًا على سير عملك.
استخدام نظام إدارة المحتوى (CMS)
مع Intlayer، يمكنك اعتماد سير عمل حيث يتم إعلان لغة واحدة فقط محليًا، بينما تتم إدارة جميع الترجمات عن بُعد من خلال نظام إدارة المحتوى (CMS). يتيح هذا فصل المحتوى والترجمات تمامًا عن قاعدة الشيفرة، مما يوفر مزيدًا من المرونة لمحرري المحتوى ويمكّن من إعادة تحميل المحتوى الحي (دون الحاجة إلى إعادة بناء التطبيق لتطبيق التغييرات).
مثال على التكوين
نسخ الكود إلى الحافظة
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.SPANISH, Locales.FRENCH], requiredLocales: [Locales.ENGLISH], // سيتم إدارة اللغات الاختيارية عن بُعد defaultLocale: Locales.ENGLISH, }, editor: { dictionaryPriorityStrategy: "distant_first", // المحتوى البعيد له الأولوية applicationURL: process.env.APPLICATION_URL, // عنوان URL الخاص بالتطبيق المستخدم من قبل نظام إدارة المحتوى clientId: process.env.INTLAYER_CLIENT_ID, // بيانات اعتماد نظام إدارة المحتوى clientSecret: process.env.INTLAYER_CLIENT_SECRET, }, ai: { applicationContext: "This is a test application", // يساعد في ضمان توليد ترجمة متسقة },};export default config;
لمعرفة المزيد عن نظام إدارة المحتوى، راجع التوثيق الرسمي.
استخدام Husky
يمكنك دمج توليد الترجمات في سير عمل Git المحلي الخاص بك باستخدام Husky.
مثال على التكوين
نسخ الكود إلى الحافظة
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.SPANISH, Locales.FRENCH], requiredLocales: [Locales.ENGLISH], // يتم التعامل مع اللغات الاختيارية عن بُعد defaultLocale: Locales.ENGLISH, }, editor: { clientId: process.env.INTLAYER_CLIENT_ID, clientSecret: process.env.INTLAYER_CLIENT_SECRET, }, ai: { provider: "openai", apiKey: process.env.OPENAI_API_KEY, // استخدم مفتاح API الخاص بك applicationContext: "This is a test application", // يساعد في ضمان توليد ترجمة متسقة },};export default config;
نسخ الكود إلى الحافظة
npx intlayer build # لضمان تحديث القواميسnpx intlayer fill --unpushed --mode fill # ملء المحتوى المفقود فقط، لا يقوم بتحديث المحتويات الموجودة
لمزيد من المعلومات حول أوامر Intlayer CLI وكيفية استخدامها، راجع توثيق CLI.
إذا كان لديك عدة تطبيقات في مستودعك تستخدم نسخ منفصلة من intlayer، يمكنك استخدام الوسيط --base-dir كما يلي:
نسخ الكود إلى الحافظة
# التطبيق 1npx intlayer build --base-dir ./app1npx intlayer fill --base-dir ./app1 --unpushed --mode fill# التطبيق 2npx intlayer build --base-dir ./app2npx intlayer fill --base-dir ./app2 --unpushed --mode fill
استخدام GitHub Actions
توفر Intlayer أمر CLI لملء ومراجعة محتوى القاموس تلقائيًا. يمكن دمج هذا في سير عمل CI/CD الخاص بك باستخدام GitHub Actions.
نسخ الكود إلى الحافظة
name: تعبئة Intlayer تلقائيًا# شروط تشغيل هذا سير العملon: pull_request: branches: - "main"permissions: contents: write pull-requests: writeconcurrency: group: "autofill-${{ github.ref }}" cancel-in-progress: truejobs: autofill: runs-on: ubuntu-latest env: # OpenAI AI_MODEL: openai AI_PROVIDER: gpt-5-mini AI_API_KEY: ${{ secrets.AI_API_KEY }} steps: # الخطوة 1: جلب أحدث كود من المستودع - name: ⬇️ سحب المستودع uses: actions/checkout@v4 with: persist-credentials: true # الاحتفاظ بالاعتمادات لإنشاء طلبات السحب fetch-depth: 0 # الحصول على كامل تاريخ git لتحليل الفروقات # الخطوة 2: إعداد بيئة Node.js - name: 🟢 إعداد Node.js uses: actions/setup-node@v4 with: node-version: 20 # استخدام Node.js 20 LTS للاستقرار # الخطوة 3: تثبيت تبعيات المشروع - name: 📦 تثبيت التبعيات run: npm install # الخطوة 4: تثبيت Intlayer CLI عالميًا لإدارة الترجمات - name: 📦 تثبيت Intlayer run: npm install -g intlayer-cli # الخطوة 5: بناء مشروع Intlayer لإنشاء ملفات الترجمة - name: ⚙️ بناء مشروع Intlayer run: npx intlayer build # الخطوة 6: استخدام الذكاء الاصطناعي لملء الترجمات الناقصة تلقائيًا - name: 🤖 ملء الترجمات الناقصة تلقائيًا run: npx intlayer fill --git-diff --mode fill --provider $AI_PROVIDER --model $AI_MODEL --api-key $AI_API_KEY # الخطوة 7: التحقق من وجود تغييرات والقيام بعملية الالتزام بها - name: � التحقق من وجود تغييرات id: check-changes run: | if [ -n "$(git status --porcelain)" ]; then echo "has-changes=true" >> $GITHUB_OUTPUT else echo "has-changes=false" >> $GITHUB_OUTPUT fi # الخطوة 8: الالتزام ودفع التغييرات إذا وجدت - name: 📤 الالتزام ودفع التغييرات if: steps.check-changes.outputs.has-changes == 'true' run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" git add . git commit -m "chore: ملء تلقائي للترجمات المفقودة [تخطي CI]" git push origin HEAD:${{ github.head_ref }}
لإعداد متغيرات البيئة، انتقل إلى GitHub → الإعدادات → الأسرار والمتغيرات → الإجراءات وأضف السر .
كما هو الحال مع Husky، في حالة وجود مستودع أحادي (monorepo)، يمكنك استخدام الوسيطة --base-dir لمعالجة كل تطبيق بالتتابع.
بشكل افتراضي، تقوم الوسيطة --git-diff بتصفية القواميس التي تتضمن تغييرات من القاعدة (الافتراضية origin/main) إلى الفرع الحالي (الافتراضي: HEAD).
لمزيد من المعلومات حول أوامر Intlayer CLI وكيفية استخدامها، راجع توثيق CLI.
تاريخ الوثيقة
الإصدار | التاريخ | التغييرات |
---|---|---|
5.5.10 | 2025-06-29 | بدء السجل |