التعريب المستمر: كل لغة، مع كل دمج.
يقوم التعريب المستمر بترجمة السلاسل النصية الجديدة والمعدّلة تلقائياً مع تغير الكود، بدلاً من انتظار مرحلة منفصلة قبل كل إصدار. تبقى كل لغة جاهزة للإطلاق متزامنةً مع الكود الذي يحتاجها.
ما هو التعريب المستمر؟
التعريب المستمر هو أسلوب عمل تُرسل فيه السلاسل النصية الجديدة والمعدّلة للترجمة تلقائياً فور تغيرها، وتعود النصوص المترجمة إلى المنتج دون الحاجة إلى جدولة يدوية.
لا توجد مرحلة ترجمة منفصلة، لأن الترجمة لا تتوقف أبداً. عندما يدمج المطور سلسلة نصية، تتبعها الترجمات في نفس مسار الكود، ولا يتوقف الإطلاق بانتظار ملفات أي شخص.
هو شق التعريب ضمن التسليم المستمر. الفريق الذي يدمج التغييرات يومياً ويسلم مهام الترجمة كل بضعة أسابيع يعاني من تأخر اللغات عن الكود معظم أيام الشهر. يقلص التعريب المستمر هذه الفجوة لتصبح بطول دورة تشغيل واحدة.
لا يعني ذلك نشر مخرجات الآلة دون مراجعة. أنت تحدد السلاسل التي تحتاج تدخلاً بشرياً، ويمكن أن يتضمن الإصدار فقط ما تمت مراجعته.
الفرق يكمن في توقيت حدوث الترجمة، ليس من يقوم بذلك.
| ما يتغير | تسليم الدفعات | مستمر |
|---|---|---|
| جنبًا إلى جنب | ||
| متى تتم الترجمة | في مرحلة قبل كل إصدار | عندما تتغير كل سلسلة نصية |
| ما الذي يبدأ العملية | شخص ما يصدر ملفاً | عملية دفع، أو دمج، أو تغيير في المحتوى |
| حجم كل جزء | أسابيع من السلاسل النصية دفعة واحدة | السلاسل النصية في تغيير واحد |
| ما ينتظره الإصدار | عودة الملف | المراجعة، على السلاسل النصية التي حددتها لذلك |
| تغيير متأخر في النص | رحلة ذهاب وإياب أخرى | إعادة تشغيل لذلك المفتاح الواحد |
| ما يعمل عليه المترجم | جدول بيانات يحتوي على سلاسل نصية | الصف، مع مصطلحات قاموسه، ومطابقات الذاكرة، ولقطات الشاشة |
| اللغات عند الإطلاق | متدرجة، موجة تلو الأخرى | معاً، مع الميزة |
- متى تتم الترجمة
- في مرحلة قبل كل إصدار
- ما الذي يبدأ العملية
- شخص ما يصدر ملفاً
- حجم كل جزء
- أسابيع من السلاسل النصية دفعة واحدة
- ما ينتظره الإصدار
- عودة الملف
- تغيير متأخر في النص
- رحلة ذهاب وإياب أخرى
- ما يعمل عليه المترجم
- جدول بيانات يحتوي على سلاسل نصية
- اللغات عند الإطلاق
- متدرجة، موجة تلو الأخرى
- متى تتم الترجمة
- عندما تتغير كل سلسلة نصية
- ما الذي يبدأ العملية
- عملية دفع، أو دمج، أو تغيير في المحتوى
- حجم كل جزء
- السلاسل النصية في تغيير واحد
- ما ينتظره الإصدار
- المراجعة، على السلاسل النصية التي حددتها لذلك
- تغيير متأخر في النص
- إعادة تشغيل لذلك المفتاح الواحد
- ما يعمل عليه المترجم
- الصف، مع مصطلحات قاموسه، ومطابقات الذاكرة، ولقطات الشاشة
- اللغات عند الإطلاق
- معاً، مع الميزة
كيف تعمل الترجمة المستمرة
تابع سلسلة نصية جديدة واحدة خلال الدورة. تظهر كل خطوة ما ستراه فعلياً.
يصل التغيير إلى Transglot عبر واجهة سطر الأوامر، أو إجراء GitHub، أو التطبيق على مضيف Git الخاص بك. يتم تحليل الملفات المصدرية بأحد 20 تنسيقاً أصلياً، وتتم مقارنة كل سلسلة نصية بما يحتفظ به المشروع بالفعل. تنتقل فقط السلاسل النصية الجديدة والمتغيرة.
يتم ملء السطر بمطابقة تامة من ذاكرة الترجمة دون احتساب أي كلمات. يتم إرسال ما تبقى إلى Glossa مع مسرد المصطلحات ودليل الأسلوب والسياق الخاص بهذا المفتاح.
يتم فحص العناصر النائبة وصيغ الجمع ومصطلحات المسرد والطول في كل سطر من كل عملية تشغيل. يتم إصلاح العنصر النائب التالف أو صيغة الجمع المفقودة أو مصطلح المسرد الممنوع مرة واحدة ثم إعادة الفحص، وإذا فشل للمرة الثانية يتم رفضه وعدم نشره. يُكتب السطر الذي يتجاوز طوله فقط، ومن خطة الفريق تتم الموافقة التلقائية عليه أو تشير إليه عملية ضمان الجودة للمراجعة.
لا تقوم العملية التشغيلية بالكتابة فوق سطر قام شخص بتحريره أو مراجعته. إذا تغير مصدره لاحقاً، يبقى النص كما هو، وتحسب العملية السطر وتعلمك بذلك، ومن خطة الفريق ينتظر اقتراح تحديث بجانبه ليقوم شخص ما بقبوله.
تقوم تطبيقات Git بإيداع ملفات اللغة المحلية في فرع مزامنة واحد والحفاظ على طلب سحب واحد محدثاً. على GitHub، اكتب التعليق /translate على طلب سحب وستظهر الملفات في الفرع الخاص بذلك الطلب. أو انشر إلى شبكة توصيل المحتوى (CDN)، وسيقرأ المنتج الجاري التغيير دون الحاجة إلى إصدار جديد على الإطلاق.
ست طرق يفشل فيها التعريب المستمر، وما يمنع كل منها
عملية تشغيل تكتب فوق عمل شخص
يتحقق كل كاتب من حالة السطر أولاً: عملية تشغيل، ومطابقة في الذاكرة، وعملية دفع. يبقى السطر الذي حرره أو راجعه شخص، وتقوم العملية التشغيلية بالإبلاغ عنه.
→الفرنسية، تمت المراجعة، تغير المصدر مؤخراً
✓محفوظة، محسوبة، مُبلَّغ عنها
تصل السلسلة المعطوبة إلى بيئة الإنتاج
كل رمز تم إدخاله يجب أن يخرج مرة أخرى. في مشروع ICU، تبقى الرسالة التي ستسبب خطأً أثناء العرض خارج عملية السحب، والموصل، وحزمة CDN، ويقوم التشغيل بتسميتها.
→{count, plural, one {# article}
✓مستبعدة من الملف، مسماة في التشغيل
تمتلئ المستودع بطلبات السحب الآلية
فرع مزامنة واحد وطلب سحب واحد لكل مستودع. تندمج دفعتان سريعتان فيه بدلاً من فتح فرع ثانٍ.
→#812 #815 #819 #823 تحديث الترجمة
✓#812 transglot/sync، محدّث في المكان
يترك تعديل المصدر الترجمات القديمة خلفه
يسجل كل صف هدف المصدر الذي كُتب بناءً عليه، لذا يُعرف أن السلسلة المتغيرة قديمة في كل اللغات دفعة واحدة، ولا يتم إعادة تشغيل ذلك المفتاح فقط.
→تحول الحفظ إلى حفظ كمسودة. لا تزال fr وde وja تقول "حفظ"
✓إعادة تشغيل fr وde وja لهذا المفتاح الواحد
كل تشغيل يفوتل المشروع بالكامل مرة أخرى
يُحدد حجم التشغيل بناءً على ما تغير. لا تُرسل السلسلة غير المتغيرة، ولا تكلف مطابقة الذاكرة التامة أي كلمات، ويُرفض الصف المملوك لشخص قبل إنفاق أي شيء.
→الملف يحتوي على 48,000 كلمة
✓هذا التشغيل: 60 كلمة
يمحو طلب السحب غير المكتمل ملف اللغة
إذا أبلغ الخادم عن عدم وجود إدخالات للغة معينة، يرفض طلب السحب الكتابة فوق ملف يحتوي على محتوى، وينتهي بالرمز 1 ليتوقف خط الأنابيب هناك.
→السحب: 0 إدخال لـ ja، الملف يحتوي على 1,204
✓رفض الكتابة فوق locales/ja.json بحزمة فارغة
- run 4182 fr: العنصر النائب مفقود من المسودة، تم إصلاحه عند إعادة المحاولة
- run 4182 de: تم الاحتفاظ بـ 3 صفوف، شخص ما يملكها
- run 4182 ja: 41 صفًا من الذاكرة، 0 كلمات
- run 4183 ar: صيغة الجمع مفقودة بعد إعادة المحاولة، تم رفض الصف
- pull تمت كتابة locales/pt-BR.json
- sync تم تحديث transglot/sync، طلب السحب رقم 812
تتصل الثلاثة جميعاً بمستودعك. الاختلاف يكمن في ما يحدث عند الدمج.
مأخوذ من صفحات كل شركة الخاصة في 5 نوفمبر 2026. يأتي صف السعر من صفحات المقارنة لدينا، المرتبطة أدناه، والتي تظهر الخطة والحسابات. تتغير الأسعار والخطط، لذا تحقق منها قبل اتخاذ القرار.
| ما يحدث | Transglot | Lokalise | Crowdin |
|---|---|---|---|
| تم دمج سلسلة نصية جديدة | مترجم افتراضياً يبدأ الإرسال التشغيل. يمكن لإعداد في المشروع تعطيله. | يُترجم بمجرد إعداده الأتمتة معطلة افتراضياً عند إنشاء المفتاح واستيراد الملف. يعمل سير العمل الذي يحتوي على خطوة ذكاء اصطناعي وفقاً لجدوله الزمني. | يُترجم بمجرد تفعيله في الإعدادات، الترجمة التلقائية، ثم يعمل عند كل رفع. مزامنة Git تعمل كل ساعة افتراضياً. |
| فشلت الترجمة في فحص | يُصلح مرة واحدة، ثم يُرفض بالنسبة لعنصر نائب تالف، أو صيغة جمع، أو مصطلح محظور، في كل صف من كل تشغيل. يتم تسجيل تجاوز الطول. في مشروع ICU، يبقى الصف التالف خارج السحب، والموصلات، وشبكة توصيل المحتوى (CDN). | فحص بمستوى الخطأ يمنع الحفظ في المحرر يتم تعيين كل فحص إلى إيقاف، تحذير، أو خطأ. | فحص بمستوى الخطأ يمنع الحفظ يتم تعيين كل فحص إلى تحذير أو خطأ. |
| قام شخص ما بالفعل بتحرير الصف | يرفض التشغيل كتابته كذلك مطابقة الذاكرة والإرسال. إذا تغير المصدر لاحقاً، يُبلغ التشغيل عن الصف. | تملأ الأتمتة القيم الفارغة افتراضياً خيار الإجبار وإجراء المسح يكتبان فوق القيم المملوءة. | الخيارات تحتفظ بالصفوف البشرية والموافق عليها يوجد أيضاً خيار استبدال الكل. |
| طلبات السحب في مستودع نشط | فرع واحد، طلب سحب واحد يُحدّث في مكانه عند كل إرسال. | فرع جديد لكل طلب سحب مسَمّى بطابع زمني. | فرع خدمة، تتم مزامنته كل ساعة كل ساعة هو الإعداد الافتراضي، ويمكن تغيير الفترة الزمنية. |
| ما تحسبه الخطة | الكلمات المترجمة، مرة واحدة لكل لغة التطابقات التامة في الذاكرة لا تكلف شيئًا. تخزين السلسلة النصية لا يكلف شيئًا. | الكلمات المعالجة تُحتسب كل من اللغة الأساسية واللغة المستهدفة. | الكلمات المستضافة كلمات للترجمة، مضروبة في عدد اللغات المستهدفة. |
| ما يغطي تكلفة الذكاء الاصطناعي | كلمات الخطة لا يتم فوترتها بشكل منفصل. | حصص كلمات الذكاء الاصطناعي حسب الخطة كلمات الذكاء الاصطناعي القياسي والاحترافي هي بنود مستقلة ضمن الخطة. | رصيد منفصل، أو مفتاحك الخاص يتم دفع خدمة الذكاء الاصطناعي المُدارة من Crowdin عبر الاعتمادات، خارج نطاق الاشتراك. |
| نفس المهمة: 5,000 سلسلة نصية في 10 لغات | $39 شهرياً Team، الترجمة مشمولة | $1,049 شهرياً Advanced (billed yearly) | $138 شهرياً Pro with 560K hosted words (billed monthly)، بالإضافة إلى الذكاء الاصطناعي |
| GitHub وGitLab وBitbucket وAzure Repos وواجهة سطر الأوامر وخادم MCP | جميعها تبدأ تطبيقات Git من خطة Team وتغطي إصدارات السحابة. | جميعها التكاملات متوفرة في كل خطة. | جميعها تشمل أيضًا Bitbucket Server. |
- تم دمج سلسلة نصية جديدة
- مترجم افتراضياًيبدأ الإرسال التشغيل. يمكن لإعداد في المشروع تعطيله.
- فشلت الترجمة في فحص
- يُصلح مرة واحدة، ثم يُرفضبالنسبة لعنصر نائب تالف، أو صيغة جمع، أو مصطلح محظور، في كل صف من كل تشغيل. يتم تسجيل تجاوز الطول. في مشروع ICU، يبقى الصف التالف خارج السحب، والموصلات، وشبكة توصيل المحتوى (CDN).
- قام شخص ما بالفعل بتحرير الصف
- يرفض التشغيل كتابتهكذلك مطابقة الذاكرة والإرسال. إذا تغير المصدر لاحقاً، يُبلغ التشغيل عن الصف.
- طلبات السحب في مستودع نشط
- فرع واحد، طلب سحب واحديُحدّث في مكانه عند كل إرسال.
- ما تحسبه الخطة
- الكلمات المترجمة، مرة واحدة لكل لغةالتطابقات التامة في الذاكرة لا تكلف شيئًا. تخزين السلسلة النصية لا يكلف شيئًا.
- ما يغطي تكلفة الذكاء الاصطناعي
- كلمات الخطةلا يتم فوترتها بشكل منفصل.
- نفس المهمة: 5,000 سلسلة نصية في 10 لغات
- $39 شهرياًTeam، الترجمة مشمولة
- GitHub وGitLab وBitbucket وAzure Repos وواجهة سطر الأوامر وخادم MCP
- جميعهاتبدأ تطبيقات Git من خطة Team وتغطي إصدارات السحابة.
- تم دمج سلسلة نصية جديدة
- يُترجم بمجرد إعدادهالأتمتة معطلة افتراضياً عند إنشاء المفتاح واستيراد الملف. يعمل سير العمل الذي يحتوي على خطوة ذكاء اصطناعي وفقاً لجدوله الزمني.
- فشلت الترجمة في فحص
- فحص بمستوى الخطأ يمنع الحفظ في المحرريتم تعيين كل فحص إلى إيقاف، تحذير، أو خطأ.
- قام شخص ما بالفعل بتحرير الصف
- تملأ الأتمتة القيم الفارغة افتراضياًخيار الإجبار وإجراء المسح يكتبان فوق القيم المملوءة.
- طلبات السحب في مستودع نشط
- فرع جديد لكل طلب سحبمسَمّى بطابع زمني.
- ما تحسبه الخطة
- الكلمات المعالجةتُحتسب كل من اللغة الأساسية واللغة المستهدفة.
- ما يغطي تكلفة الذكاء الاصطناعي
- حصص كلمات الذكاء الاصطناعي حسب الخطةكلمات الذكاء الاصطناعي القياسي والاحترافي هي بنود مستقلة ضمن الخطة.
- نفس المهمة: 5,000 سلسلة نصية في 10 لغات
- $1,049 شهرياًAdvanced (billed yearly)
- GitHub وGitLab وBitbucket وAzure Repos وواجهة سطر الأوامر وخادم MCP
- جميعهاالتكاملات متوفرة في كل خطة.
- تم دمج سلسلة نصية جديدة
- يُترجم بمجرد تفعيلهفي الإعدادات، الترجمة التلقائية، ثم يعمل عند كل رفع. مزامنة Git تعمل كل ساعة افتراضياً.
- فشلت الترجمة في فحص
- فحص بمستوى الخطأ يمنع الحفظيتم تعيين كل فحص إلى تحذير أو خطأ.
- قام شخص ما بالفعل بتحرير الصف
- الخيارات تحتفظ بالصفوف البشرية والموافق عليهايوجد أيضاً خيار استبدال الكل.
- طلبات السحب في مستودع نشط
- فرع خدمة، تتم مزامنته كل ساعةكل ساعة هو الإعداد الافتراضي، ويمكن تغيير الفترة الزمنية.
- ما تحسبه الخطة
- الكلمات المستضافةكلمات للترجمة، مضروبة في عدد اللغات المستهدفة.
- ما يغطي تكلفة الذكاء الاصطناعي
- رصيد منفصل، أو مفتاحك الخاصيتم دفع خدمة الذكاء الاصطناعي المُدارة من Crowdin عبر الاعتمادات، خارج نطاق الاشتراك.
- نفس المهمة: 5,000 سلسلة نصية في 10 لغات
- $138 شهرياًPro with 560K hosted words (billed monthly)، بالإضافة إلى الذكاء الاصطناعي
- GitHub وGitLab وBitbucket وAzure Repos وواجهة سطر الأوامر وخادم MCP
- جميعهاتشمل أيضًا Bitbucket Server.
ابدأ من حيثما توجد نصوصك. كل باب يؤدي إلى نفس خط الأنابيب.
كيفية إعداد الترجمة المستمرة
- 01
استخراج السلاسل النصية من الشيفرة البرمجية
تحتاج كل سلسلة نصية تظهر للمستخدم إلى مفتاح ثابت في ملف التعريب. يقرأ Transglot 20 تنسيقاً، لذا احتفظ بالتنسيق الذي لديك.
jsonyamlxliffarb - 02
ربط المستودع
يبحث أمر التهيئة عن ملفات التعريب الخاصة بك، ويسجّل دخولك عبر المتصفح، ويرفع ما لديك بالفعل، ويشغّل أول ترجمة.
npx transglot@latest init - 03
تشغيلها عند كل دمج
أضِف إجراء GitHub، أو استدعِ واجهة سطر الأوامر من أي نظام تكامل مستمر آخر، أو ثبّت التطبيق لـ GitHub أو GitLab أو Bitbucket أو Azure Repos.
transglot push --wait - 04
حدّد ما يحتاج إلى مراجعة بشرية
اضبط min_state على reviewed في قاعدة السحب، ولن يحمل هذا الملف إلا السلاسل التي راجعها شخص. اتركها معطّلة وسيتم نشر المسودات.
min_state: reviewed
تكلفة التشغيل عند كل دمج: الكلمات التي تغيّرت.
الكلمة هي كلمة مصدرية، تُحتسب مرة واحدة لكل لغة هدف. يُحدَّد حجم العملية بناءً على ما تغيّر، لذا فإن الدمج الذي يلمس اثنتي عشرة كلمة في خمس لغات يُحتسب بستين، بغض النظر عن حجم المشروع.
مناسب لخطة Starter: $19/mo، 300,000 كلمة شهرياً.
هذا يمثل حوالي 9% من الحد المسموح.
يُحتسب هذا للترجمة فقط. فحوصات الجودة، ومسودات نبرة العلامة التجارية، والإصلاحات تُحتسب أيضاً ككلمات، بينما التطابقات التامة من الذاكرة لا تكلف شيئاً. تبدأ واجهة سطر الأوامر وإجراء GitHub من خطة Starter، وتبدأ تطبيقات GitHub وGitLab وBitbucket وAzure Repos من خطة Team.
ثلاثة أمور لا تحلّها الترجمة المستمرة
السلاسل النصية لا تزال عالقة داخل الكود
لا يمكن لخط الأنابيب ترجمة إلا ما يستطيع قراءته. يجب أولاً إصلاح السلاسل النصية المضمنة في الكود والجمل المركبة من أجزاء، وهي السبب المعتاد لتعطل عملية النشر.
لا يوجد مالك للمحتوى النصي
تقوم الأتمتة بنقل السلاسل النصية، لكنها لا تقرر كيف يسمي منتجك الأشياء. يجب أن يتولى شخص ما مسؤولية المسرد اللغوي، وإلا فإن اللغة التي لا يقرأها أحد ستشهد انحرافاً دون أن يلاحظه أحد.
محتوى يتطلب حكماً بشرياً
تستحق النصوص القانونية والأسعار وشعارات العلامة التجارية تدقيقاً بشرياً. أرسلها للمراجعة وأبقها خارج الملفات المنشورة حتى يمنحها شخص ما الموافقة النهائية.
الأسئلة الشائعة حول الترجمة المستمرة
الأسئلة التي تطرحها الفرق قبل تفعيل الخدمة.
ما هي الترجمة المستمرة؟
كيف تختلف الترجمة المستمرة عن الترجمة التقليدية؟
هل الترجمة المستمرة هي نفسها CI/CD؟
هل أحتاج إلى خط أنابيب CI/CD للترجمة المستمرة؟
هل تعني الترجمة المستمرة عدم وجود مراجعة بشرية؟
هل يمكن لتشغيل آلي أن يحل محل تعديل المترجم؟
هل تستحق الترجمة المستمرة العناء لفريق صغير؟
كيف أمنع التشغيل من تكليف أكثر مما أتوقع؟
هل تعمل مع GitLab وBitbucket وAzure DevOps؟
هل يمكنني إجراء ترجمة مستمرة بدون Git؟
هل يمكن تحديث الترجمات دون إصدار جديد؟
كيف يمكنني نقل مشروع موجود؟
41 موصلات، جاهزة مسبقًا.
ربط مستودع. الدمج التالي ينجز الباقي.
أمر واحد يعثر على ملفات اللغات الخاصة بك، ويسجل دخولك عبر المتصفح، ويشغل أول ترجمة.