Polyglot
سلاسل التطبيق والموقع بـ 43 لغة، مترجمة بنموذجك الخاص ومراجَعة سطرًا بسطر.
- Linux or macOS
- Python 3.9+
- Local LLM
- 6 file formats

ماذا تفعل
يأخذ Polyglot النصوص الإنجليزية الموجودة في تطبيقك وموقعك ويترجمها إلى ما يصل إلى 42 لغة إضافية، في الملفات والمجلدات التي تتوقعها كل منصة، باستخدام نموذج تشغّله بنفسك. يعود كل نص بعد التحقق منه: إذا فُقد عنصر نائب أو وسم أو اسم تحتفظ به، أو لم يكن الرد بلغة النص المطلوبة، يُعاد طلب النص، ويُستبعد النص الذي يفشل مرة أخرى ويُبلَّغ عنه بدلاً من نشره معطوباً.
- الصيغ التي تستخدمها. ملفات رسائل JSON (i18next، vue-i18n، next-intl، react-intl)، وARB لـ Flutter، وstrings.xml لأندرويد، و.strings لأبل، و.po لـ gettext، ومستندات Markdown، وتُكتب في values-de، وde.lproj، وapp_de.arb أو locale/de.
- التحقق نصاً بنص. يجب أن تعود العناصر %1$s، و{name}، و{{count}}، ووسوم HTML، وفواصل الأسطر، وعناوين URL، وأسماءك المحفوظة تماماً كما هي؛ بالحروف الصحيحة، دون ردود فارغة أو زائدة، ودون بقاء أي نص بالإنجليزية.
- صيغ الجمع الحقيقية. تحصل الروسية على صيغ: واحد، وقلة، وكثرة، وأخرى، والعربية على ست صيغ، واليابانية على صيغة واحدة: تتبع صيغ الجمع في أندرويد ورسائل ICU قواعد كل لغة الخاصة.
- فقط ما تغيّر. تُحفظ كل ترجمة جيدة، لذا فإن تعديل نص إنجليزي واحد يرسل نصاً واحداً، لا الملف بأكمله.
- أسلوبك ومصطلحاتك. يُدرج وصف المنتج، والأسلوب، والأسماء التي لا تُترجم أبداً، والمسرد في كل طلب، وتنتقل تعليقاتك كملاحظات مصاحبة.
- نموذجك، جهازك. أي خادم متوافق مع OpenAI: vLLM، أو llama.cpp، أو Ollama، أو LM Studio، أو API مستضاف إذا اخترت ذلك. لا فاتورة لكل كلمة.
اختُبر على نموذج حقيقي
- نموذج حقيقي، ست صيغ، خمس أنظمة كتابة: تطبيق مثال من 70 نصاً بصيغ JSON، وARB لـ Flutter، وأندرويد، و.strings لأبل، وgettext، وMarkdown، إلى الألمانية، والروسية، واليابانية، والعربية، والإسبانية، باستخدام نموذج مفتوح بـ 27 مليار معامل على جهازنا الخاص: اجتاز 346 من أصل 350 نصاً فحوصاتها عند الإدخال، في 7.5 دقيقة على خادم مشترك مزدحم.
- الأربعة التي لم تنجح كانت أخطاء في فحوصاتنا، لا في النموذج: كلمة ألمانية معربة، وعنوان بريد إلكتروني، ورسالة جمع يابانية. أصلحنا الفحوصات؛ أرسل التشغيل التالي تلك النصوص الأربعة فقط وكتب جميع الـ 350 نصاً في 45 ثانية.
- صيغ الجمع صحيحة من المرة الأولى: واحد، وقلة، وكثرة، وأخرى للروسية، وست صيغ للعربية، وصيغة واحدة لليابانية.
- جميع اللغات الـ42: تحويل 22 نصًا ويب من المثال إلى كل لغة يعرفها Polyglot، من الأمهرية إلى الصينية التقليدية: كتابة 924 من أصل 924 نصًا، خلال 15 دقيقة.
- وما لا تراه فحوصات الجودة: في اللغة الخميرية، عاد نص "أنت غير متصل" ليظهر كـ "أنت متصل". كان النص الخميري سليمًا تمامًا، لذا اجتاز الفحص. ولهذا السبب تطلب الوثائق وجود متحدث أصلي للنصوص الأكثر أهمية.
ما الذي تحتويه
المترجم
إرسال دفعات إلى نموذجك، إجراء الفحوصات، إعادة المحاولة مع تحديد المشكلة، ذاكرة ترجمة، وترجمة اللغات بالتوازي.
ست صيغ
قارئات وكاتبات تحافظ على رموز الهروب والمجلدات وقواعد الجمع لكل منصة.
الفحوصات
قابلة للاستخدام بشكل مستقل: افحص ترجمة لديك بالفعل مقابل مصدرها الإنجليزي.
تطبيق نموذجي
تطبيق صغير واحد بجميع الصيغ الست مع إعداداته، لتجربته قبل تطبيقك الخاص.
المتطلبات
- Linux أو macOS مع Python 3.9 أو أحدث؛ لا حاجة لتثبيت أي شيء من pip.
- خادم نموذج متوافق مع OpenAI مع نموذج تعليمات متعدد اللغات؛ نموذجنا هو نموذج مفتوح بـ 27 مليار معامل.
معلومات مفيدة
- تلتقط الفحوصات ما يكسر التطبيق، وليس المعنى الخاطئ: اجعل متحدثًا أصليًا يقرأ صفحة المنتج، وحائط الدفع، والنصوص القانونية.
- تبقى مدخلات الجمع في gettext بالإنجليزية في هذا الإصدار.
- السرعة تعتمد على نموذجك.
- الفحوصات مجانية ومفتوحة المصدر: translation-checks على GitHub. تضيف الحزمة المترجم، والصيغ الست، وأشكال الجمع، والذاكرة، وسنة من التحديثات.
From our field notes
الأسئلة
أي اللغات؟
العربية، الأمهرية، البلغارية، التشيكية، الألمانية، اليونانية، الإسبانية، الفارسية، الفنلندية، الفلبينية، الفرنسية، الغيلية الاسكتلندية، العبرية، الكريولية الهايتية، المجرية، الأرمينية، الإندونيسية، الإيطالية، اليابانية، الخميرية، الكانادية، الكورية، المقدونية، الملايوية، الهولندية، النرويجية، الأورومية، البنجابية، البولندية، البرتغالية (البرازيل)، الرومانية، الروسية، السلوفاكية، السلوفينية، الصربية، السويدية، التايلاندية، التركية، الأوكرانية، الفيتنامية والصينية، المبسطة والتقليدية، من الإنجليزية.
هل يحتاج إلى وحدة معالجة رسومات (GPU)؟
لا يحتاج Polyglot نفسه إلى وحدة معالجة رسومات؛ خادم النموذج هو الذي يقرر. يعمل النموذج الصغير على وحدة المعالجة المركزية (CPU) ببطء؛ وتجعل وحدة المعالجة الرسومات ملفًا كبيرًا بلغات متعددة مسألة دقائق معدودة.
ماذا يحدث للنص الذي يُخطئ فيه النموذج؟
يُطلب منه مجددًا بشكل منفصل، مع تحديد المشكلة. وإذا فشل مرة أخرى، يُستبعد من الملف، فيعرض تطبيقك النص الإنجليزي لذلك النص الواحد، وتدرجه عملية التشغيل مع ذكر السبب. لا يُكتب أي شيء معطوب.
هل يمكنني استخدام واجهة برمجية مستضافة بدلاً من ذلك؟
نعم: أي خدمة توفر نقطة نهاية دردشة متوافقة مع OpenAI. ضع الرابط الأساسي (base URL) واسم النموذج في polyglot.json، ومفتاحه في ملف.
محدّث: