Смена языка - 2

2022.10.10

Изначально для перевода проектов планировалось использовать коллекции Jekyll, но оказалось что логика формирования коллекций отличается от постов.
Невозможно объединить страницы из projects и en/project в одну коллекцию, поэтому пришлось использовать site.pages.

Теперь в _config.yml для projects и en/project указано layout: "project"

- scope:
    path: "en/projects"
  values:
    layout: "project"

- scope:
    path: "projects"
  values:
    layout: "project"

И все проекты для текущего языка можно получить так:
{%- assign projects = site.pages | where: 'layout', 'project' | where: 'lang', page.lang -%}
Или для другого языка:
{%- assign projects = site.pages | where: 'layout', 'project' -%}
{%- assign tpages = projects | where: 'name', page.name | sort: 'lang' -%}

2025 Virenbar
Build: master@1e65892
Debug Tab
  • Locales:
    • Defaults: ru, en, eo
    • Available: ru, en, eo
    • Current: ru
  • Language: Русский(ru)
  • Path(default):
    /posts/2022-10-10-lang-switch-2
  • Path(locale):
    /posts/2022-10-10-lang-switch-2
  • Slug:
    [ "2022-10-10-lang-switch-2" ]
Storage