21 Aug 2026
تم إصدار Jekyll-Polyglot 1.14.0! يوسّع هذا الإصدار دعم اللغات الإقليمية، ويصلح حالات حدّية في عمليات إعادة التوجيه، ويضيف خيارًا جديدًا للتوافق مع إضافات Jekyll التي لا تدعم المعالجة المتوازية.
دعم zh-TW و pt-PT
- PR #316: يدعم موقع Polyglot الآن الصينية التقليدية (
zh-TW) والبرتغالية الأوروبية (pt-PT) كلغتين للموقع. يقدّم موقع توثيق Polyglot الآن صفحات مترجمة لكلتيهما، إلى جانب الترجمات الحالية zh-CN و pt-BR. كالعادة، أُنجزت هذه الترجمات بمساعدة الذكاء الاصطناعي؛ التصحيحات والتحسينات موضع ترحيب!
إصلاحات البادئات المكررة في redirect_from
- PR #317: إصلاحات لطريقة تعامل Polyglot مع frontmatter الخاص بـ
redirect_from مع إضافة jekyll-redirect-from. عمليات إعادة التوجيه المعرّفة من المستخدم تُحفظ الآن بدلاً من الكتابة فوقها، وتُحدَّد بشكل صحيح باللغة المناسبة، ولم تعد عمليات إعادة التوجيه التي تحمل بادئة لغة بالفعل تحصل على بادئة مكررة — فلن تتحول إعادة توجيه مثل /fr/old-page إلى /fr/fr/old-page.
serial_default_lang للإضافات غير المتوافقة مع المعالجة المتوازية
- PR #310: ساهم @rathboma بالخيار الجديد
serial_default_lang. عند تفعيل parallel_localization، ينشئ Polyglot عملية منفصلة لكل لغة عبر fork، مما قد يسبب حالات تسابق مع إضافات مثل jekyll-assets التي تهيّئ ذاكرات تخزين مؤقتة مشتركة عند أول استخدام. ضبط serial_default_lang: true يجعل Polyglot يبني اللغة الافتراضية أولاً في العملية الأم قبل إنشاء بقية العمليات: وبذلك تُهيَّأ هذه الإضافات مرة واحدة بالضبط، وترث عمليات اللغات الحالة الجاهزة. إذا سبق أن تعارضت عمليات البناء المتوازية في Polyglot مع إضافة Jekyll أخرى، فقد يساعد هذا الخيار في تجنب التعارضات.
تحديثات اعتماديات ruby
يحافظ هذا الإصدار أيضًا على تحديث اعتماديات ruby.
13 May 2026
تم إصدار Jekyll-Polyglot 1.13.0! تم تحقيق هذا الإصدار بفضل الدعم والمساهمات العديدة من @rathboma وBeekeeper Studio.
توليد hreflang أفضل
- PR #282: قام @rathboma بدمج تحسينات على توليد علامات hreflang، مع إضافة خيار احتياطي للغات غير المُعدّة. هذا يحسن SEO وصحة الرؤوس المُولدة على المواقع متعددة اللغات.
تحذيرات بشأن رموز اللغة غير المتطابقة
-
PR #287: أضاف @rathboma تحذيرات وقت البناء عندما لا تتطابق قيمة lang: في المنشور مع أي لغة موقع مُعدّة. أصبحت مطابقة اللغة الآن غير حساسة لحالة الأحرف، لذا يتم التعامل مع EN وen بنفس الطريقة.
-
PR #290: تقوم التصفية الآن لدى @rathboma باستبعاد المنشورات المكتوبة باللغات غير الموجودة في إعدادات languages: بشكل صحيح، مما يمنع تسرب المحتوى غير المُعدّ إلى عمليات البناء.
ترجمة _redirects الخاصة بـ Netlify
- PR #285: أضاف @rathboma خيارًا جديدًا باسم
localize_redirects. عند تمكينه، يقوم Polyglot تلقائيًا بإنشاء نسخ من قواعد Netlify _redirects مع بادئات اللغة، بحيث يعمل تحويل مثل /github أيضًا لـ /fr/github و/de/github وهكذا. راجع صفحة وصفات SEO للحصول على تفاصيل الإعداد.
متغيرات liquid جديدة لحالة الترجمة
- PR #305: متغيران جديدان من liquid —
page.missing_languages وpage.available_languages — يتيحان لقوالبك معرفة اللغات التي تُرجمت إليها الصفحة وأيها لا تزال مفقودة. مفيدة لبناء مبدلات لغة وأشرطة جانبية أكثر ثراءً.
ترجمات لغات جديدة
- PR #303: يحتوي موقع توثيق Polyglot الآن على ترجمات بالأوكرانية (uk) والهندية (hi)، بمساعدة الترجمة المدعومة بالذكاء الاصطناعي. التصحيحات مرحب بها!
- PR #297: ساهم @manabu-nakamura بتصحيحات على الترجمات اليابانية (ja) للموقع. شكرًا لك!
دعم أدوات تطوير الذكاء الاصطناعي
- PR #298: يأتي Polyglot الآن مع دعم هندسي من الدرجة الأولى لـ GitHub Copilot وClaude Code واتفاقية
AGENTS.md المشتركة. الذكاء الاصطناعي جزء من سير العمل الآن، والمساهمات المُنفّذة بهذه الأدوات مرحب بها.
- تمت إضافة فحوصات جودة CI إضافية، بما في ذلك تعديلات htmlproofer وrubocop.
الشريط الجانبي يعرض الترجمات المفقودة
أصبح الشريط الجانبي لموقع التوثيق يُعلّم الآن الصفحات التي ليس لها بعد ترجمة باللغة النشطة، مما يجعل اكتشاف الثغرات أسهل للقراء والمساهمين.
شكرًا لـ @rathboma ولكل من ساهم في هذا الإصدار!
31 Jan 2026
تم إصدار Jekyll-Polyglot 1.12.0! يركز هذا الإصدار على تحسين معالجة إعادة التوجيه ويتضمن العديد من مساهمات المجتمع.
تحسينات إعادة التوجيه
يتضمن هذا الإصدار تحسينات مهمة في كيفية عمل إعادة التوجيه مع Polyglot:
-
PR #275: الحفاظ على علامات الربط في إعادة التوجيه - بفضل حل من @GruberMarkus، تحافظ عناوين URL لإعادة التوجيه الآن بشكل صحيح على علامات الربط، مما يضمن وصول المستخدمين إلى المكان الذي قصدوه بالضبط.
-
PR #293: دعم إعادة توجيه اللغات الفرعية لإضافة jekyll-redirect-from - اقترحه @rathboma، يحدد Polyglot الآن بشكل صحيح نطاق frontmatter redirect_from عبر اللغات الفرعية، مما يمنع إعادة التوجيه المكررة ويضمن التوجيه الصحيح لصفحات اللغات غير الافتراضية.
- PR #283: متغير
page.rendered_lang الجديد - ساهم به @rathboma، يتيح لك متغير liquid الجديد هذا اكتشاف متى يتم عرض صفحة كاحتياطي. عندما page.rendered_lang != site.active_lang، تعرف أن محتوى الصفحة لم يتم ترجمته بعد.
تم تحديث صفحة /about بتعليمات حول كيفية استخدام متغير liquid المريح page.rendered_lang بشكل أفضل.
دعم لغات جديدة
- PR #280: تمت إضافة دعم اللغة الإيطالية والتركية إلى موقع توثيق Polyglot، مما يوسع نطاقنا متعدد اللغات.
مساهمات المجتمع
ساهم العديد من أعضاء المجتمع بتحسينات للمشروع:
شكر خاص لـ @PanderMusubi على عرض jekyll-minimal-mistakes-polyglot، الذي يوضح كيفية دمج Polyglot مع قالب Minimal Mistakes الشهير.
شكراً لجميع المساهمين الذين جعلوا هذا الإصدار ممكناً!
20 Sep 2025
تم إصدار Jekyll Polyglot 1.11.0. يحتوي على إصلاحات للأخطاء المعقدة التي كانت صعبة الحل حتى وقت قريب. هذا الإصدار ممكن بفضل المساهمين والمستخدمين مثلك.
إصلاح تعارضات مع قوالب jekyll
قوالب jekyll أخرى مثل minimal-mistakes أو chirpy تستخدم أنماط glob في إعدادات exclude: التي كانت تتعارض سابقاً مع معالجة polyglot للمواقع الإلكترونية مع نسبية URL. ساهم @mattions بإصلاح لـ regex.escape هذه القيم قبل تطبيقها على التعبيرات النمطية للنسبية.
هذا التعديل يجب أن يساعد في استخدام polyglot جاهز للاستخدام مع قوالب jekyll الشائعة الأخرى.
إصلاحات متنوعة أخرى
دعم اليابانية والعربية
موقع polyglot لديه الآن إصدارات دعم مترجمة بالعربية واليابانية. تمت ترجمة هذه الموقع بمساعدة الذكاء الاصطناعي؛ إذا كان هناك أي شيء مترجم بشكل خاطئ، يرجى المساهمة بإصلاحات أفضل!
07 Jul 2025
Jekyll-Polyglot 1.10 is now available. It has vast improvements and changes to the i18n_headers liquid plugin for SEO improvements, and minor adjustments for parallel build idempotency. Community Contributions and Vibe Coding helped with a large portion of these release features, testing and blog post.
This version of polyglot now requires ruby >= 3.1 , which may break in build systems.
the i18n_headers plugin now has extended capabilities as part of this release:
- it will add
<link rel="canonical" ...> for each page language, so indexing is unique across sites.
- it will add
<link rel="alternate" hreflang="x-default" ...> to point to default language version of a site, when no matching language is requested by the browser.
- it will correctly define
<link rel="alternate" hreflang="..." > for pages and posts in collections with custom permalinks.
- the default url will now include the
site.baseUrl if defined
this additionally fixes a bug noticed that caused absolute url relativization to mangle these tags unintentionally.
vibe-coded contributions
Using certain vibe coding tools have helped find, measure and verify bug fixes and features for this release.
This is a new approach for software development, and it created advanced ruby tests against jekyll plugin code running against many built site languages.
The tests written with vibe coding helped ensure the code coverage remained high, and complex features could be added with confidence. Ensuring the test automation was in place ensured tricky features could be built correctly.
Additionally vibe coding tools helped translate this blog post into many languages.
Jekyll-Polyglot has been supported by humans. Human language documentation is contributed by humans who want to see this plugin documented in their native tongue. Humans contributing bug fixes and documentation are what have helped this plugin reach thousands of downloads a release. AI assisted programming, in my hands or yours, will shape the software we use, and in the many languages we write and speak.
ruby >= 3.1 required
Ongoing security updates to jekyll-polyglot build-time dependencies required a major version upgrade to ruby 3.1 . This may affect build systems that build their docs with jekyll-polyglot. But now is a good time to upgrade to the latest ruby major by now. Speak up if these changes cause complications with jekyll builds.