Многоязычность и перевод сайта

Таму
[Показать все инструкции на странице]
Видеоинструкции Управление сайтом Основные модули Поиск по сайту JSON поиск / Стилизация подсказок при поиске Поисковый фильтр и Типы продукта (Характеристики товара). Пример callback функций после выполнения Java Script Готовые скрипты Выгрузки XML/RSS/YML Домены/Domain Почта/E-mail Уведомления Скрытые данные (Системная разметка / Микроразметка) ShortCode (автозамена данных) Конвертация Cookie в GET переменные. Языки Изменение блоков сайта и редактор дизайна Статистика и подключение Google Analytics / Tag Manager Интеграция с «1С», «ERP», CRM-системами и CommerceAPI Продвижение сайтов и SEO Доступ к сайту Кеш

Языки

Многоязычность и поисковые системы

Если у вас несколько версий страницы на разных языках или для разных регионов, помогите Google идентифицировать их. Тогда в результатах поиска будут представлены те версии ваших страниц, которые лучше всего подходят для языка и региона пользователя.
Один из способов реализации многоязычных сайтов, это тег с атрибутом hreflang. Пример такого тега:
<link rel="alternate" hreflang="lang_code" href="url_of_page" />

На разных страницах сайта (категориях, страницах, статьях, карточках товаров и других) реализована функция многоязычноcти. Например, если у вас добавлена карточка товара на Английском, Белорусском, Русском и Украинском языках, то достаточно во всех карточках товаров в ячейке «Товар на других языках» указать одинаковое значение, например - «1». В таком случае, при открытии страницы на одном из языков, будут добавлены теги hreflang со ссылками на страницы, на других языках. Рекомендуется использовать ID первой карточки товара, для избежания дублирования значений и последующих ошибок. Например, если вы добавили товар «Кроссовки», с ID «12345» , то добавляя аналогичный товар на Английском языке, укажите в пункте «Товар на других языках» - «12345».

Основной выбранный язык сайта будет помечен дополнительным тегом hreflang="x-default".

Как создать многоязычный сайт?

Создайте страницу на одном языке, затем такую же страницу на другом языке, и заполните поле «Страница на других языках» одинаковым значением, например, ID первой созданной страницы. Таким же образом заполняйте статьи и карточки товара. Сайт автоматически сообщит поисковику, о странице на других языках, а также о главной странице (главная страница будет соответствовать основному языку сайта, который вы можете указать в разделе «Настройки», «Стартовая страница»).

Для созданий рубрик каталога статей или магазина, рекомендуем использовать приставку языка. Например, рубрику «dress», можно создать на других языках, используя приставку «dress_ua», «dress_de», «dress_fr»… 
Использовать одинаковый путь к рубрике на других языках возможно, но при импорте данных, например, товара, могут возникнуть ошибки, так как платформа не сможет распознать язык рубрики, в которую он добавляется. Поэтому мы рекомендуем использовать приставки в разделах с рубриками, каталоге статей и интернет-магазине. При использовании языковых приставок как описано выше, переменная «Категория на других языках» будет установлена автоматически.

При создании карточек товара, «Код товара» должен быть уникальным, потому на другом языке можно использовать, например, собственные окончания «SKU/CODE_EN». Если указан «Товар на другом языке», то при изменении основных данных (стоимость, наличие, новинка, хит продаж, доступ), так же будут обновлены все каточки товара указанные как альтернативная версия основного товара.
«Поисковый фильтр» и «Блоки/меню» можно использовать одновременно и для всех языков, и отдельно указать язык на котором его отображать. Например, создайте «Блоки/меню», Шапку сайта, и расположите на всех страницах, указав язык «Русский (ru)». Такой блок будет отображаться везде, только если открыта Русская версия сайта. Таким же образом можно создать шапку и для других языков. Если вам необходимо разместить какой-то код, то не обязательно создавать такой «Блоки/меню» для каждого языка, достаточно указать язык «All (Все)», и блок будет отображаться не зависимо от выбранного посетителем языка.
Префикс языка на платформе Hotlist.biz указывается в начале, например, «/ru/page.htm».

Быстрый перевод каталога товаров на сайте

Для быстрого перевода магазина, вы можете использовать импорт/экспорт через CSV/XLS, а также сервис Google Translate для документов.

Категории магазина


Экспортируйте «Категории магазина». Замените значение «ПРЕДУДУЩЕНГО» языка в ячейке язык, на значение «НОВОГО» языка, а также выполните перевод названий и описаний (например при помощи сервиса Google Translate для документов, предварительно сохранив файл в XLSX). При этом «Язык» всех дочерних категорий будут такими же, как язык основной категории, в которую они добавляются. Поэтому для главной категории (родитель которой является - «main») важно заменить значение ячейки «Язык» на «НОВЫЙ ЯЗЫК». Для устранения возможных ошибок при последующем импорте товаров, рекомендуем использовать уникальные имена, или добавлять в «имя» новых категория «_НОВЫЙЯЗЫК». Например, «category_en», где «en» - новый добавляемый язык.

Перед выполнением импорта необходимо сохранить файл в формате «XLS» или «CSV». После выполнения импорта, проверьте, чтобы язык новых категорий был подходящим. Если по какой-то причине указан не верный язык, то замените язык главной категории вашего каталога, в которую они добавлены, в разделе «Магазин» - «Категории магазина». Для всех дочерних подкатегорий язык так же будет заменен. Если категорий не много, то можно скопировать категории, заменив в них язык и наименование, в разделе «Магазин» - «Категории магазина».


Добавление товаров

Выполните экспорт товаров в разделе «Магазин» - «Экспорт товаров». Установите галочку «Выгрузить все». Снимите галочку «Не экспортировать товары, которых нет в наличии», а также установите галочку «Экспортировать категории без транслитерации» - для упрощения подбора категорий переводимых товаров. Выполните перевод файла при помощи сервиса Google Translate для документов, предварительно сохранив файл в XLSX. При помощи формул добавьте в категории «_язык», или замените их имена на новые созданные категории. Переместите значения столбца «ID» в столбец «Товары на других языка». Обязательно удалите значения для столбца «ID», чтобы не перезаписать существующие товары. А также замените «Код товара», например аналогично добавив «_язык» при помощи формул, так как товары с аналогичным «ID» или «Кодом товара» будут перезаписаны.
Выполните импорт, В разделе «Магазин» - «Импорт товаров». Быстро заполнить соответствие ячеек вы можете нажав «Поля из файла, укажите соответствие» - «Заполнить выбор полей соответствий согласно файлу экспорта (поля «Выгрузить все»)».

Кроме того, для создания корректной разметы для поисковиков, а также переадресации между товарами на разных языках, в товарах основного языка, выполните экспорт и повторный импорт, скопировав значение ячейки «ID» в столбец «Товары на других языка». (При этом можно импортировать только одну ячейку «Товар на других языках» и указать ID или «Код товара», по которым будут найдены товары для перезаписи). Таким образом и новые и ранее созданные товары будут иметь идентичные значения «Товар на других языках».

Многоязычность и меню выбора языка

Вы можете разместить короткий код {HOTENGINE-SC:langmenu} и указать в настройках сайта список доступных языков или разместить код из примера ниже.
Код из примера ниже, формирует кнопку перехода на альтернативные языки, при этом если к странице/статье/карточке товара указана альтернативная языковая версия, то она будет задействована.


1)Вставьте код Css в Редактор дизайна, во вкладку CSS.
2)Добавьте JavaScript в блок/меню, отображаемый на всех страницах.
3)Вставьте код выпадающего списка языков в блок/меню, в котором хотите его расположить, например в шапку сайта.
4)Удалите из блока не нужные языка (class hotengine-shop-select-language-val)



Код меню выбора языка:
Code: html
<nav class="hotengine-shop-select-language-box">
  <span class="hotengine-shop-select-language" data-lang="be"></span>
  <span class="hotengine-shop-select-language-values">
  <li><a class="hotengine-shop-select-language-val" data-lang="be"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="de"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="en"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="es"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="fr"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="kk"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="pl"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="ru"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="uk"></a></li>
  </span>
  </nav>

CSS стили:
Code: CSS
/*LANGUAGE BLOCK*/
.hotengine-shop-select-language-box { display:inline-block; width:71px; height:auto; overflow:hidden; border:1px solid transparent;  line-height:30px; position:relative; z-index:1000; }
.hotengine-shop-select-language { display:block; width:100%; text-align:center; cursor:pointer; }
.hotengine-shop-select-language-values { display:block; width:100%; vertical-align: top; position:absolute; background:rgba(255, 255, 255, 0.80); }
.hotengine-shop-select-language-box:hover{ overflow:visible;}
.hotengine-shop-select-language-values:hover li{ position:relative; }
.hotengine-shop-select-language-val { width:auto; display:block; margin:0px; vertical-align:top; cursor:pointer; text-align:center; color:inherit; text-decoration:none; }
.hotengine-shop-select-language-val:hover {background:inherit;color:inherit;}


.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="ru"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="ru"]:after { content: "RU"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="en"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="en"]:after { content: "EN"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="uk"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="uk"]:after { content: "UA"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="de"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="de"]:after { content: "DE"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="es"]:after,

.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="es"]:after { content: "ES"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="fr"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="fr"]:after { content: "FR"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="kk"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="kk"]:after { content: "KK"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="be"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="be"]:after { content: "BE"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="ro"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="ro"]:after { content: "RO"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="tr"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="tr"]:after { content: "TR"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="it"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="it"]:after { content: "IT"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="sk"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="sk"]:after { content: "SK"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="da"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="da"]:after { content: "DA"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="pl"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="pl"]:after { content: "PL"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="zh"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="zh"]:after { content: "ZH"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="hi"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="hi"]:after { content: "HI"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="ar"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="ar"]:after { content: "AR"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="pt"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="pt"]:after { content: "PT"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="bn"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="bn"]:after { content: "BN"; }

/*LANGUAGE BLOCK*/

Файл подставляющий пути в ссылки (из link[rel="alternate"]):
Code: JavaScript
<script type="text/javascript" src="/templates/scripts/hotengine-script-language.js"></script>

Содержание файла

Изменение текстовых элементов на сайте

Многоязычность и замена стандартных надписей

Большинство надписей и элементов на сайте отображаются при помощи CSS псевдоэлементов. Например элемент с классом .hotengine-form-feedback-yourname-title имеет псевдоэлемент с текстом.
Текст разделен при помощи родительского lang атрибута у элемента html.

Пример:
Code: CSS

html:lang(ru) .hotengine-form-feedback-yourname-title:after{ content:"Ваше имя:"; }
html:lang(en) .hotengine-form-feedback-yourname-title:after{ content:"Your name:"; }
html:lang(uk) .hotengine-form-feedback-yourname-title:after{ content:"Ваше ім'я:"; }
html:lang(de) .hotengine-form-feedback-yourname-title:after{ content:"Ihr name:"; }
html:lang(es) .hotengine-form-feedback-yourname-title:after{ content:"Su nombre:"; }
html:lang(fr) .hotengine-form-feedback-yourname-title:after{ content:"Votre nom:"; }
html:lang(kk) .hotengine-form-feedback-yourname-title:after{ content:"Сіздің атыңыз:"; }
html:lang(be) .hotengine-form-feedback-yourname-title:after{ content:"Ваша імя:"; }
html:lang(ro) .hotengine-form-feedback-yourname-title:after{ content:"Numele dvs.:"; }
html:lang(tr) .hotengine-form-feedback-yourname-title:after{ content:"Adınız:"; }
html:lang(it) .hotengine-form-feedback-yourname-title:after{ content:"Il tuo nome:"; }
html:lang(sk) .hotengine-form-feedback-yourname-title:after{ content:"Vaše meno:"; }
html:lang(da) .hotengine-form-feedback-yourname-title:after{ content:"Dit navn:"; }
html:lang(pl) .hotengine-form-feedback-yourname-title:after{ content:"Twoje imię:"; }
html:lang(zh) .hotengine-form-feedback-yourname-title:after{ content:"你的名称:"; }
html:lang(hi) .hotengine-form-feedback-yourname-title:after{ content:"आपका नाम:"; }
html:lang(ar) .hotengine-form-feedback-yourname-title:after{ content:"اسمك:"; }
html:lang(pt) .hotengine-form-feedback-yourname-title:after{ content:"Seu nome:"; }
html:lang(bn) .hotengine-form-feedback-yourname-title:after{ content:"আপনার নাম:"; }


Каким образом можно перевести весь сайта?
Создавая многоязычный сайт, укажите язык в создаваемом контенте (странице, меню, категории... )
И используйте пути с указанием языка в начале, /ru/ /en/ ...
Основным языком будет тот, который указан при регистрации сайта.
При добавлении товаров, язык определяется в соответствии с рубрикой в которую он добавляется.
Большинство элементов на сайте вы можете заменять при помощи CSS стилей и псевдоэлементов.

Надписи о количестве товаров
html:lang(ru).hotengine-shop-product-price_for-lang-1:after{ content:"за 1 шт";}
Заменяйте число, lang-1, где 1 означает выбранную единицу измерения, а (ru) - язык.

Список значений:
  • 1 - 1 шт;
  • 2 - 100 шт;
  • 3 - 1000 шт;
  • 4 - за 1 упаковку;
  • 5 - 1 кг;
  • 6 - 1000 кг;
  • 7 - 1 м2;
  • 8 - за 1 метр;
  • 9 - за 1 км;
  • 10 - за комплект;
  • 11 - за 1 час;
  • 12 - за 1 день;
  • 13 - за 1 месяц;
  • 14 - за 1 год;
  • 15 - за сотку;
  • 16 - за Акр;
  • 17 - за Гектар;
  • 18 - за участок;
  • 19 - за объект;
  • 30 - за 1 мл;
  • 31 - за 1 л;
  • 32 - за 1 км3;
  • 33 - за 1 м3;
  • 34 - за 1 дм3;
  • 35 - за 1 см3;
  • 36 - за 1 mm3;
  • 37 - за 1 hl;
  • 38 - за 100 грамм;
  • 39 - 1 фунт;
  • 40 - за 1 грамм;
  • 41 - за 10 кг;
  • 42 - за 1 центнер;
  • 43 - за 1 тонна;
  • 44 - за 1 ар;
  • 45 - за 1 пара;
  • 46 - за 1 дюжина;
  • 47 - за 1 галлон;
  • 48 - за 1 баррель;
  • 49 - за 1 минута;
  • 50 - за 1 неделя;
  • 51 - за 1 услугу;
  • 52 - за 1 поездку;
  • 53 - за 1 человека;
  • 54 - за 1 машину;
  • 55 - за 1 м.п.;

Перевод кнопок с помощью JavaScript

Некоторые элементы реализованы без псевдо классов и CSS элементов. Например, такой элемент как кнопка "Отправить" в корзине. Для перевода такого элемента можно использовать Javascript.
Code: JavaScript
<script>
$(document).ready(function(){ $("#hotengine-shop-cart-form .hotengine-form-submit input[type='submit']").val('Отправить заказ'); });
</script>

Подробнее ...
Например, в данном случае мы изменяем текст кнопки отправки формы. Код необходимо разместить на странице, где расположена кнопка. Для это необходимо создать функциональную страницу - Корзину. И вставить приведенные в примере код в текст страницы.

Перевод Поискового фильтра

Вы можете использовать один поисковый фильтр для множества языков. Это упростит процесс импорта/экспорта товаров и наполнения сайта.
Перевод осуществляется при помощи инструмента Перевод значений характеристик.

Кроме того, вы можете выполнить перевод при помощи JavaScript. Однако в при таком переводе XML выгрузка характеристик на MarketPlac'ы будет на одном языке.
Например, рассмотрим перевод с Английского на Русский.
Показать

Создайте «Блок/Меню» и разместите его на страницах, где включен поисковый фильтр.
Например в пункте «Введите символы, при обнаружении которых отображать Блок/Меню:» укажите:
/ua/shop/
/ua/pers_shop/

Пример перевода строк, а также кнопки «Применить».
Code: JavaScript
<script>
  $(function(){
let $dict =  {
  'Color': 'Цвет',
  'Blue': 'Голубой',
  'Green': 'Зеленый',
  'Black': 'Черний'
  }
 
$.each($dict, function(txtorig, txtnew){
  $("#shop_catalog_product_types_id_ajax .product_types_valuebox_checkbox span:contains('"+txtorig+"')").html(txtnew);
  $("#shop_catalog_product_types_id_ajax .shop_catalog_product_types_block_title:contains('"+txtorig+"')").html(txtnew);
  $(".shop_catalog_product_properties_block .shop_catalog_product_types_block_title:contains('"+txtorig+"')").html(txtnew);
  $(".shop_catalog_product_properties_block .product_types_valuebox_checkbox:contains('"+txtorig+"')").html(txtnew);
  });
setTimeout(() => {
  $(".hotengine-smart_search_submit_button").find("input").val("Apply");
  $("#searchinp_smart_search .button").val("Apply");
}, 100);
 
});
  </script>


Пример перевода с перезаписью слов:
Code: JavaScript
<script>
  $(function(){
let $dict =  {
  'Color': 'Цвет',
  'Blue': 'Голубой',
  'Green': 'Зеленый',
  'Black': 'Черний'
  }
 
$.each($dict, function(txtorig, txtnew){
$("#shop_catalog_product_types_id_ajax").html(function() { return $(this).html().replace(txtorig, txtnew);  });
});

});
  </script>

Аналогично, вы можете добавить другие языки и новые слова, размещая код на соответствующие языковые версии сайта.

Акции (таймер обратного отсчета в магазине)

Перевод на примере таймера. В товарам предусмотрена возможность автоматического создания таймера обратного отсчета. При добавлении товара нажмите галочку "Акционный товар", и в появившемся блоке нажмите "Включить таймер". Установите срок истечения таймера. После истечения указанного срока можно задать действие, например, удалить акцию, или изменить цену...

Как изменить надписи в таймере?

При помощи CSS стилей можно заменить слова в таймере. Для этого, например, в товаре вставьте css html код:
Code: CSS
<style type="text/css">
<!--

/*надпись осталось до конца*/

html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-day:after{
   content:"дней";
}
html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-hourse:after{
   content:"часов";
}
html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-minute:after{
   content:"минут";
}
html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-seconds:after{
   content:"секунд";
}
html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-left:after{
   content:"осталось до конца акции!";
}
html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-done:after{
   content:"Акция завершена!";
}


html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-day:after{
   content:"days";
}
html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-hourse:after{
   content:"hours";
}
html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-minute:after{
   content:"minute";
}
html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-seconds:after{
   content:"seconds";
}
html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-left:after{
   content:"left before the end of the campaign!";
}
html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-done:after{
   content:"Сampaign complete!";
}


html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-day:after{
    content:"dni";
}
html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-hourse:after{
    content:"godziny";
}
html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-minute:after{
    content:"minuty";
}
html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-seconds:after{
    content:"sekundy";
}
html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-left:after{
    content:"pozostało do końca promocji!";
}
html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-done:after{
    content:"Ackia ukończona!";
}






html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-days:after{
   content:"дней";
}
html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-hours:after{
   content:"часов";
}
html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-minutes:after{
   content:"минут";
}
html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-seconds:after{
   content:"секунд";
}




html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-days:after{
   content:"days";
}
html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-hours:after{
   content:"hours";
}
html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-minutes:after{
   content:"minute";
}
html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-seconds:after{
   content:"seconds";
}



html:lang(uk) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-days:after{
   content:"днів";
}
html:lang(uk) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-hours:after{
   content:"годин";
}
html:lang(uk) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-minutes:after{
   content:"хвилин";
}
html:lang(uk) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-seconds:after{
   content:"секунд";
}


html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-days:after{
   content:"dni";
}
html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-hours:after{
   content:"godziny";
}
html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-minutes:after{
   content:"minuty";
}
html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-seconds:after{
   content:"sekundy";
}


-->
</style>


lang(en) или lang(ru) - это язык для которого будет соответствующая надпись, а далее задан сам блок для которого изменить надпись.


Как использовать Таймер на других страницах?
Вставьте следующий код, для использования нашего счетчика обратного отсчета:
Code: JavaScript
<div id="hotengine-shop-product-description-akciya-countdown-block"><div id="hotengine-shop-product-description-akciya-countdown"></div><div class="hotengine-shop-product-akciya-countdown-numbers"><span class="hotengine-shop-product-akciya-countdown-numbers-days"><i></i></span><span class="hotengine-shop-product-akciya-countdown-numbers-hours"><i></i></span><span class="hotengine-shop-product-akciya-countdown-numbers-minutes"><i></i></span><span class="hotengine-shop-product-akciya-countdown-numbers-seconds"><i></i></span></div><span class="hotengine-shop-product-description-akciya-countdown-l-left"></span></div>  
											  
<script type="text/javascript" src="/modules/jquery.cookie/jquery.cookie.min.js"></script>
<link rel="stylesheet" type="text/css" href="/templates/javascript_timer_countdown/hotengine_timer_countdown.css" />
<script src="/templates/javascript_timer_countdown/hotengine_timer_countdown.js"></script>
<script type="text/javascript">
<!--
$(function(){


    let timerperiod = 5*12*60*60*1000; // период таймера, в примере 5 дней 12 часов ( 5*12 ...)  (для примера тут дата постоянно смещается, т.е. текущая дата + ХХ дней.)

	// cookies последний визит (отнять время последнего визита)
	if($.cookie("cookie_lastvisit_countdown_timer") && $.cookie("cookie_lastvisit_countdown_timer")!="null"){ 
	  let cookie_lastvisit_minus = (new Date()).getTime() - $.cookie("cookie_lastvisit_countdown_timer");
	} else {
	  let cookie_lastvisit_minus = 0; 
	}
	 let checkdate = timerperiod-cookie_lastvisit_minus; // для проверки даты последнего визита и окончания акции
	 if(checkdate>0){ counterdisable = false; } else { let cookie_lastvisit_minus = 0; counterdisable = true; };

	 let cookie_lastvisit_countdown_timerv = new Date().getTime() - cookie_lastvisit_minus;
	 $.cookie("cookie_lastvisit_countdown_timer", cookie_lastvisit_countdown_timerv, {expires:  null, path: "/"}); 
	// cookies последний визит (отнять время последнего визита)

	ts = (new Date()).getTime() + timerperiod - cookie_lastvisit_minus; // устанавливаем дату окончания акции	
	hotengine_inittimer("hotengine-shop-product-description-akciya-countdown-block", new Date(ts));
	
});


//-->
</script>

Что бы изменить надписи счетчика, откройте файл стиля /templates/javascript_timer_countdown/hotengine_timer_countdown.css, скопируйте его код, и вставив на страницу измените надписи.
Таму