dimayakovlev.ru


Язык фронтенда в темах оформления и плагинах Grav CMS

Распространённая проблема с которой сталкиваются начинающие пользователи: установили тему оформления Grav CMS или плагин, поддерживающий мультиязычность, но всё-равно во фронтэнде выводится текст на английском языке. Решение в правильной языковой настройке системы управления контентом.

Первое, что делает пользователь, столкнувший с проблемой - изменяет настройку в файле /user/config/site.yaml grav.config.site.default_lang с en на требуемое значение, например, ru. Однако эта настройка не влияет на поддержку мультиязычности Grav CMS: темы оформления используют настройку для установки значения атрибута lang, указывающего на язык текста HTML документа, если не установлен язык по умолчанию.


<html lang="{{ grav.language.getActive ?: grav.config.site.default_lang }}">

Для включения поддержки мультиязычности в Grav CMS следует перечисляется список поддерживаемых языков в файле /user/config/system.yaml:

languages:
  supported:
    - ru
    - en

Включение поддержки мультиязычности в Grav CMS для переводов в темах оформления и плагинах требуется даже в том случае, если будет использоваться только один язык для контента веб-сайта. Поэтому обратите внимание на настройку languages.include_default_lang - настройка управляет добавлением языка в адреса страниц веб-сайта. Например, при languages.include_default_lang: true для страницы веб-сайта /about/ Grav CMS будет формировать адрес /ru/about/, в чём нет никакой необходимости. Поэтому при включении мультиязычности, но использовании только одного языка контента веб-сайта, установите languages.include_default_lang: false.

Это корректный вариант включения перевода фронтэнда. Узнать подробнее о работе мультиязычности в Grav CMS можно в официальном руководстве.

Для избегающих использования мультиязычности Grav CMS, существует другой вариант: обойти использование мультиязычности и получить нужный язык во фронтэнде можно, изменив языковые файлы темы оформления и плагинов, заменив английский язык на русский. Не буду рекомендовать использование этого варианта на практике, потому что это приведёт к проблемам при обновлении тем оформления и плагинов в будущем.