Ghost.JS мультиязычный блог
Используя слой конфигурации динамических маршрутов в Ghost, мы можем публиковать контент на различных языках, с уникальными URL-адресами, и SEO-ориентированнми семантическими шаблонами. Вы можете запускать каждый язык на своём префиксе URL, например, example.com для английского контента и example.com/es для испанского.
Включить поддержку многоязычного контента необходимо в вашем файле rout.yaml добавив необходимые параметры в коллекцию роутинга, а также создать необходимые шаблоны в вашей теме для каждой коллекции.
Настройка динамического роутинга
Начнём с настройки файла rout.yaml, чтобы подключить коллекции для каждого желаемого языка. На странице Labs в админ панели загрузите свой файл rout.yaml и откройте его в любом редакторе кода.
Этот файл разделен на три раздела, для активации мультиязычности мы будем использовать раздел «коллекции». Вот пример кода, который добавит поддержку Испанского контента:
routes: collections: /: permalink: /{slug}/ filter: 'tag:-es' /es/: permalink: /es/{slug}/ filter: 'tag:es' taxonomies: tag: /tag/{slug}/ author: /author/{slug}/
Эта конфигурация позволит вам использовать теги и таксономию в ваших постах и страницах, которые содержат многоязычный контент.
Примечание: в текущей бета-версии Dynamic Routing необходимо указать инверсию фильтров, используя символ дефиса: "-".
Создание шаблонов для каждого языка
После создания коллекции с языками, вам нужно будет создать различные шаблоны для каждой коллекции и определить атрибуты html lang в этих шаблонах, например:
index.hbs
<html lang="en">
es.hbs
<html lang="es">
Теперь обновите шаблон поста, что бы задать правильный темплейт для каждой языковой коллекции. Пример:
post.hbs
{{#post}}{{#has tag="de"}}<html lang="de">{{else}}<html lang="en">{{/has}}{{/post}}
Не забудьте загрузить ваш файл routes.yaml в админку Ghost JS и подключить новые шаблоны.