Выдано 128436 лицензий

Магазин приложений HostCMS

Более 10 установок.

Установить модуль вы можете через раздел «Магазин приложений» в центре администрирования HostCMS.

Модуль позволяет добавлять вашему сайту другие языки в пару кликов!

Варианты:

  • Тип 'site': домен/поддомен для каждого языка (site.ru/news/ -> site.com/news/, site.ru/news/ -> en.site.ru/news/) seo поддержка hreflang (Яндекс и Google), подгрузка контента нужного языка на странице - http://eliteboard.ru/
  • Тип 'url': отдельные страницы для каждого языка (site.ru/news/ -> site.ru/en/news/) seo поддержка hreflang (Яндекс и Google), подгрузка контента нужного языка на странице - https://vazhemonastery.ru/
  • Тип 'cookie': так же самая страница (site.ru/news/ -> site.ru/news/), подгрузка контента нужного языка на странице, без скрытых блоков на сайте (т.е. seo friendly) - https://sibkedry.ru/

  • Все версии контента в карточке элемента, что уже удобно (без дублей структуры, информационных систем и магазина)
  • Возможен автоматический перевод при сохранении элемента или массовый перевод с помощью Яндекс.Переводчика/Google Translate
  • Есть возможность отключить и включить обратно отображение языка на всем сайте
  • Работает с интернационализацией в XSL-шаблонах (https://www.hostcms.ru/documentation/modules/xsl/i18n/) и языками в макетах (https://www.hostcms.ru/documentation/modules/template/template/)
  • Возможна работа с многосайтовостью (такое решение позволяет использовать один и тот же элемент на разных сайтах, работающих на разных языках)
Языки в макетах появились с версии 6.8.0, для работы с версией ниже - файлы интернационализации с текстовыми значениями нужно создавать вручную на сервере.
с 15 августа 2020 года доступ к бесплатному API Яндекс.Переводчика закрывается. Если вы хотите и дальше использовать технологии Яндекса для перевода, регистрируйтесь на сервисе Yandex Translate на платформе Яндекс.Облако. Подробнее: https://www.hostcms.ru/documentation/modules/core/yandex-cloud-translate/

Перевод работает для (если не указано, будет использоваться основное):

  • Дополнительные свойства -> Раздел (Поля: "Название", "Описание")
  • Дополнительные свойства -> Свойство (Поля: "Название", "Описание")
  • Структуры сайта (Поля: "Заголовок страницы [Title]", "Описание страницы [Description]", "Ключевые слова [Keywords]", "Название раздела в меню")
  • Страницы и документы (Поля: "Название", "Содержание документа" )
  • Информационные системы (Поля: "Название информационной системы", "Описание информационной системы")
  • Информационные системы -> Информационная группа (Поля: "Заголовок страницы [Title]", "Описание страницы [Description]", "Ключевые слова [Keywords]", "Название информационной группы", "Описание информационной группы")
  • Информационные системы -> Информационный элемент (Поля: "Заголовок страницы [Title]", "Описание страницы [Description]", "Ключевые слова [Keywords]", "Название информационного элемента", "Описание информационного элемента", "Текст")
  • Интернет-магазины (Поля: "Название интернет-магазина", "Описание интернет-магазина")
  • Интернет-магазины -> Группа (Поля: "Заголовок страницы [Title]", "Описание страницы [Description]", "Ключевые слова [Keywords]", "Название группы", "Описание группы")
  • Интернет-магазины -> Товар (Поля: "Заголовок страницы [Title]", "Описание страницы [Description]", "Ключевые слова [Keywords]", "Название товара", "Описание", "Текст")
  • Интернет-магазины -> Тип доставки ("Название", "Описание")
  • Интернет-магазины -> Тип доставки -> Условие доставки ("Название", "Сроки доставки", Описание")
  • Интернет-магазины -> Платежная система ("Название", "Описание")
  • Интернет-магазины -> Товар (Поля: "Заголовок страницы [Title]", "Описание страницы [Description]", "Ключевые слова [Keywords]", "Название товара", "Описание", "Текст")
  • Формы (Поля: "Название формы", "Описание формы", "Текстовое название", "Текст сообщения успешной отправки формы")
  • Формы -> Поля формы (Поля: "Текстовое название элемента формы", "Описание поля формы", "Значение по умолчанию")
  • Форумы (Поля: "Название форума", "Описание форума")
  • Форумы -> Группы форума (Поля: "Название группы", "Описание группы")
  • Форумы -> Категории группы (Поля: "Название категории", "Описание")
  • Списки (Поля: "Название ", "Описание")
  • Списки -> Элементы списка (Поля: "Значение элемента списка", "Описание элемента списка")

Примеры сайтов, где используется данный модуль

  • sibkedry.ru
  • eliteboard.ru
  • podvorye-altay.com
  • vazhemonastery.ru

Есть свой собственный XSL-шаблон для реализации переключения языка на сайте

Вывод XSL-шаблона переключения языков

<?php 
$MultiLanguage_Controller_Show = new MultiLanguage_Controller_Show(
	Core_Entity::factory('Site', CURRENT_SITE)
);

$MultiLanguage_Controller_Show
	->xsl(Core_Entity::factory('Xsl')->getByName('Мультиязычность'))
	->show();
?>

Если в настройках модуля выбран тип site или url, то для вывода языковых версий title, desription, keywords и ссылок hreflang нужно в макете сайта заменить

<title><?php Core_Page::instance()->showTitle()?></title>
<meta name="description" content="<?php Core_Page::instance()->showDescription()?>">
<meta name="keywords" content="<?php Core_Page::instance()->showKeywords()?>">

на

<title><?php MultiLanguage_Page::instance()->showTitle()?></title>
<meta name="description" content="<?php MultiLanguage_Page::instance()->showDescription()?>">
<meta name="keywords" content="<?php MultiLanguage_Page::instance()->showKeywords()?>">

и ниже добавить

<?php MultiLanguage_Page::instance()->showHrefLang()?>

Работа с ORM

/* 
 * Получение маасива объектов, $bCache = TRUE
 * @param string $entity model name
 * @param int $entity_id
 * @param boolean $type FALSE|TRUE
 * @param boolean $bCache cache mode
 * @return array
 */
Core_Entity::factory('MultiLanguage_Field')->getFields('shop_item', 123);

// Результат
Array (
	[0] => MultiLanguage_Field_Model Object
	[1] => MultiLanguage_Field_Model Object
);

/* 
 * Получение массива объектов с ключами полей
 */
Core_Entity::factory('MultiLanguage_Field')->getFields('shop_item', 123, TRUE);

// Результат
Array (
	[name] => MultiLanguage_Field_Model Object
	[description] => MultiLanguage_Field_Model Object
);

/* 
 * Получение объекта по полю
 * @param string $entity model name
 * @param int $entity_id
 * @param string $field field name
 * @param boolean $bCache cache mode
 * @return self|NULL
 */
Core_Entity::factory('MultiLanguage_Field')->getByField('shop_item', 123, 'name');

Вопросы, поддержка и предложения:

  • Email: info@morozovpimnev.ru
  • Телефон: +7 (343) 288-299-8
  • telegram: @morozovpimnev
  • skype: a.pimnev
  • Подписка на новости: vk.cc/at7dDP

Версии модуля

Версия Дата Описание Версия от Версия до
4.0 16.09.2020 [+] Добавлен перевод для "Скидки" [+] Добавлен перевод для "Скидки от суммы заказа" [+] Добавлен перевод для "Цены магазина" [*] Расширен функционал для шаблонов мета-тегов (шаблоны SEO) [*] Оптимизация кода 6.5.4
3.3 17.08.2020 [+] Добавлен драйвер "Yandex.Cloud" (нужен API ключ) [*] Обновление для совместимости с версией 6.9.4 6.5.4
3.2 02.06.2020 [+] Добавлен перевод для "Доставки и Условия доставки" [+] Добавлен перевод для "Платежных систем" [+] Добавлен перевод для хлебных крошек 6.5.4
3.1 20.04.2020

[+] Добавлен перевод для модуля "Дополнительные свойства" [+] Добавлен перевод для модуля "Форум" [+] Добавлена украинская локализация

6.5.4
3.0 26.03.2020 update,bugfix 6.5.4
3.0 14.02.2020 [+] Добавлен драйвер "Google Cloud Translation API" (нужен API ключ) 6.5.4
3.0 27.01.2020 [+] Добавлен поддержка hreflang для SEO продвижения страниц на другом языке [+] Добавлена возможность массового перевода сайта 6.5.4
2.0 12.12.2019 [+] Добавлен поддержка драйверов для перевода [+] Добавлен драйвер "Google api free" 6.5.4
1.0 29.05.2019 [+] Добавлен перевод для модуля "Формы" [+] Добавлен перевод для модуля "Списки" 6.5.4
1.0 02.05.2019 1.0 6.5.4
Похожие

Комментарии

  • Без темы

    А если перед сделать через Гугл или только яндекс?

    15.11.2019 11:36:26 ferdinant

    Re: Без темы

    в новой версии 2.0 (пока не выкладывали), есть переключение драйверов для перевода, из коробки будет 2 - яндекс и гугл, можно добавлять свои, если будете покупать, напишите, вышлем архив новый

    15.11.2019 13:10:45 alexpimnev