Документация InstantCMS

для администраторов и разработчиков

Инструменты пользователя

Инструменты сайта


manual:components:languages

Компонент "Мультиязычность"

Панель управленияКомпонентыМультиязычность

Описание

Компонент реализует управление мультиязычностью на сайте. Мультиязычность включает в себя:

  • Текстовые фразы CMS, которые находятся в директориях system/languages/ЯЗЫК/
  • Возможность перевода интерфейсных фраз из админки, таких как: меню, категории, группы, поля и т.п.
  • Возможность перевода записей типов контента

Переключение языка сайта осуществляется через подстановку кода языка в начало любого URL, например, site.com/en/users. Более удобное переключение языка выполняется при помощи виджета «Элементы шаблона», в опции «Что выводить?» которого необходимо выбрать пункт «Выбор языка».

Как включить мультиязычность?

Возможность смены языка, а также использование возможности управления мультиязычностью включается в общих настройках сайта во вкладке «Интерфейс» - опция «Разрешить смену языка пользователями». Если также будет включена настройка «Автоматически определять язык по локали браузера», то язык будет определён по локали браузера. Если локаль браузера не соответствует ни одному из доступных языков в системе, то сайт будет показан на языке по умолчанию, заданном в опции «Локализация» той же формы настроек сайта.

:!: Важно! Необходимо сразу определиться, какой язык будет основной для сайта (в опции «Локализация») и НЕ менять его после, поскольку мультиязычные колонки в таблицах базы данных создаются с постфиксом языка, отличного от заданного по умолчанию.

После включения опции смены языка необходимо перейти непосредственно в настройки компонента «Мультиязычность». Панель управленияКомпонентыМультиязычность.

В настройках вы можете включить те формы, в которых необходимо перевести интерфейсные поля. Например, при включении мультиязычности для формы «Панель управления / Настройки» в ней станут доступны для перевода поля «Название сайта», «Заголовок главной страницы» и другие.

После включения мультиязычности для нужных форм вы можете заходить в эти формы (настройки сайта, настройки пунктов меню и другие) и уже заполнять доступные поля на разных языках.

Для мультиязычности самих записей типов контента необходимо зайти в настройки полей, которые вы хотите сделать мультиязычными и поставить чекбокс «Мультиязычное поле».

После чего при добавлении записи поле можно будет заполнить на разных языках.

Если ваш тип контента предполагается на нескольких языках, не забудьте включить опцию «Контент доступен на нескольких языках» в настройках типа контента, чтобы на страницах генерировались теги hreflang.

Особенности работы

Добавлять и редактировать различные записи администратором сайта, где URL генерируется в контексте языка (например категории контента) необходимо на языке, выбранном по умолчанию для сайта.

URl записей типов контента, если их добавляет пользователь, будет сгенерирован согласно текущему языку пользователя. При этом убедитесь в соответствие шаблона генерации URL и доступности полей на разных языках. Например, у вас шаблон {title}, т.е. URL генерируется из названия. Включите мультиязычность для поля «Заголовок». Если этого не сделать, то URL может получиться не совсем тот, который вы ожидаете. Например, язык по умолчанию для сайта русский. Пользователь переключился на английский и создал статью с названием «Моя статья». URL сгенерируется как «untitled». Кроме этого, стоит включить опцию типа контента «Не изменять URL при редактировании записи».


Назад к разделу Компоненты

manual/components/languages.txt · Последнее изменение: 12.06.2023 20:22 — fuze