Интернационализация сайта

Материал из Umicms
Перейти к:навигация, поиск

Актуально для версии 18.

В этой статье мы рассмотрим добавление дополнительной языковой версии сайта на примере шаблона demomarket.

  • В модуле «Конфигурация», во вкладке «Языки», добавляем новую языковую версию, например «English» с префиксом «en». При этом в правом верхнем углу административной панели слева от профиля в выпадающем списке появляется ссылка «English», которая будет переключать языковую версию сайта.
  • Переходим в модуль "Структура". Отмечаем все страницы, которые мы хотим перенести на английскую версию сайта, и копируем их на English версию.

Multilang.png

  • Переключаемся с помощью ссылки на английскую версию сайта, все дальнейшие действия будут производиться на ней.
  • В модуле "Структура" выбираем страницу, которая будет главной, переходим к ее редактированию и отмечаем пункт "Страница по умолчанию".
  • В модуле "Настройки сайта" создаем настройки. Заполняем следующие поля по инструкции: "Тип данных" - demomarket, "Язык" - English, "Домен" - адрес Вашего сайта, "Идентификатор" - demomarket. Остальные поля заполняются по своему усмотрению.
  • Добавляем шаблон для английской версии: переходим в модуль "Структура" -> Настройки модуля. В поле "Название шаблона" указываем произвольное название, например "English", а в поле "Имя файла" название файла шаблонизатора, как в файловой системе. Отмечаем кнопку "Основной". Сохраняем изменения, после чего переходим в редактирование шаблона. В поле "Имя шаблона" следует вводить название директории шаблона в папке ~/templates/, в нашем случае это demomarket, "Тип шаблона" - php. Другими словами, мы копируем основной файл шаблона вручную.
Информация о шаблонах доступна по ссылке: http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_struktura/nastrojki_modulya_struktura/upravlenie_shablonami/
  • Осталось перевести контент самих страниц на английский язык и отредактировать их в админ-панели. Также при желании можно перевести языковые константы. Для английской версии это уже сделано по умолчанию. Однако если переводить сайт, к примеру, на французский язык и префикс языковой версии будет задан как "fr", в папке /templates/demomarket/classes/modules нужно создать файл i18n.fr.php и добавить в него массив констант, переведенных на французский язык.
  • Теперь английская версия сайта будет доступна по ссылке domain.ru/en

Важно: при использовании мультисайтовости для каждой языковой версии каждого домена нужно создавать новые настройки сайта.