Polyglot 1.14 - Більше мов, виправлення редиректів, оновлення спільноти

Вийшов 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 в актуальному стані.

Polyglot 1.13 - нові змінні liquid, покращення SEO та перенаправлень

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 та всім, хто долучився до цього релізу!

Polyglot 1.12 - redirect improvements and community contributions

Jekyll-Polyglot 1.12.0 has been released! This release focuses on improving redirect handling and includes several community contributions.

redirect improvements

This release includes important improvements to how redirects work with Polyglot:

  • PR #275: Anchor tag preservation in redirects - thanks to a solution from @GruberMarkus, redirect URLs now properly preserve anchor tags, ensuring users land exactly where they intended.

  • PR #293: Sublanguage redirect support for the jekyll-redirect-from plugin - suggested by @rathboma, Polyglot now correctly scopes redirect_from frontmatter across sublanguages, preventing duplicate redirects and ensuring proper routing for non-default language pages.

detect fallback pages with page.rendered_lang

  • PR #283: New page.rendered_lang variable - contributed by @rathboma, this new liquid variable lets you detect when a page is being rendered as a fallback. When page.rendered_lang != site.active_lang, you know the page content hasn’t been translated yet.

The /about page has been updated with instructions on how to best use this page.rendered_lang convenience liquid variable.

new language support

  • PR #280: Italian and Turkish language support has been added to the Polyglot documentation site, expanding our multilingual reach.

community contributions

Several community members contributed improvements to the project:

  • PR #277: Updated sidebar rich text definitions, improving the site’s multilingual presentation.

  • PR #288: Japanese rich text strings contributed by @manabu-nakamura, enhancing the Japanese language experience.

A special thanks to @PanderMusubi for the jekyll-minimal-mistakes-polyglot demo, showing how to integrate Polyglot with the popular Minimal Mistakes theme.

Thank you to all contributors who made this release possible!

Polyglot 1.11 - miscellaneous fixes release

Jekyll Polyglot 1.11.0 has been released. It has fixes for tricky bugs that have been challenging to solve until recently. This release is possible thanks to fellow contributors and users like you.

fixed conflicts with jekyll themes

Other jekyll themes such as miminal-mistakes or chirpy use glob patterns in exclude: configurations which would previously conflict with polyglot processing websites with url relativization. @mattions contributed a fix to regex.escape these values before being applied to the relativization regexes.

This adjustment should help with using polyglot out-of-the-box with other common jekyll themes.

other miscellaneous fixes

support for japanese and arabic

The polyglot website now has translated support versions in arabic and japanese. These site translations were made with the help of AI ; if anything is mistranslated please contribute better corrections!

Polyglot 1.10 - i18n_headers improvements

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.

i18n_headers improvements

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.

community contributions

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.