Изменить тексты и локализовать
Настраиваемые тексты
Изменить тексты, которые использует виджет, можно двумя способами:
- Переопределив шаблоны и код контроллеров и модели виджета;
- Указав альтернативные тексты в настройках виджета.
Мы настоятельно рекомендуем использовать второй способ.
В примерах ниже показаны все существующие настройки текстов.
Внимание! Не включайте в код вставки настройки, которые не собираетесь менять. Внимательно следите за закрытостью скобок и кавычек, а также запятыми – в случае ошибки виджет либо пожалуется на повреждённую конфигурацию, либо просто проигнорирует ваши настройки.
Виджет регистрации
<a href="http://org13.timepad.ru/event/АЙДИ_СОБЫТИЯ/" data-twf-placeholder="yes">Перейти к заказу билетов</a>
<script type="text/javascript"
defer="defer"
data-data-timepad-customized="АЙДИ_ИЗ_ВАШЕГО_КОДА"
data-twf2s-event--id="АЙДИ_СОБЫТИЯ"
data-timepad-widget-v2="event_register"
src="//timepad.ru/js/tpwf/loader/min/loader.js">
(function() {
return {
"buttonSettings": {
"text" : "Текст на кнопке, открывающей виджет-попап ('режим кнопки')"
},
"mainFormButtonSettings": {
"staticText": "Жестко задать текст главной кнопке виджета, по умолчанию меняется в зависимости от ситуации, используя значения из блока texts ниже",
"texts": {
"proceed": "Продолжить",
"buy": "Купить",
"buy_ticket": "Купить билет",
"items": [
"билет",
"билеты"
],
"register": "Зарегистрироваться",
"atleast": "Выберите хотя бы один билет"
}
}
};
})();
</script>
Виджет списка событий
<script type="text/javascript"
defer="defer"
data-data-timepad-customized="АЙДИ_ИЗ_ВАШЕГО_КОДА"
data-timepad-widget-v2="event_list"
src="//timepad.ru/js/tpwf/loader/min/loader.js">
(function() {
return {
"buttonTexts": {
"free": "Зарегистрироваться",
"paid": "Купить билет"
}
};
})();
</script>
Локализация
Виджет регистрации (event_register
) поддерживает локали. От нас доступна только одна дополнительная локаль — английская. Локаль виджета автоматически устанавливается равной локали события (эти настройки вы можете найти на первом шаге редактирования события).
Локаль представляет из себя набор строк на русском языке и их замен для целевой локали. Используются они двумя способами:
- Все совпадающие строки автоматически заменяются в шаблонах;
- Код может напрямую обращаться к локализуемым строкам по принципу gettext.
Вы можете как добавить свою локаль, так и переопределить используемую виджетом локаль в настройках, как в примере ниже. Обратите внимание — технически локаль меняется перед отрисовкой виджета с помощью вызова функции (в данном случае — handleTWFrouted
) по событию preRoute
. Название функции может быть любым, главное — привязать ее к правильному событию. preRoute
— всегда preRoute
.
<script type="text/javascript">
var handleTWFrouted = function (e) {
if (e.isInitial) {
// Создаём клингонскую локаль
this._locales['tlh'] = {
"Пожалуйста, проверьте правильность заполнения выделенных полей.": "DubelmoHchugh wIv yotlh correctness check.",
"Выберите тип билетов": "chaw' Segh wIv"
};
// Чистим кеш
delete this.localizedTpls['tlh'];
// Выставляем клингонскую локаль
this.settings.locale = "tlh";
this.switchLocale('tlh');
}
}
</script>
<a href="http://org13.timepad.ru/event/АЙДИ_СОБЫТИЯ/" data-twf-placeholder="yes">Перейти к заказу билетов</a>
<script type="text/javascript"
defer="defer"
data-data-timepad-customized="АЙДИ_ИЗ_ВАШЕГО_КОДА"
data-twf2s-event--id="АЙДИ_СОБЫТИЯ"
data-timepad-widget-v2="event_register"
src="//timepad.ru/js/tpwf/loader/min/loader.js">
(function() {
return {
"bindEvents": {
"preRoute": "handleTWFrouted"
}
};
})();
</script>
Вы также можете переопределить локаль (на одну из стандартных, en
или ru
) в настройках в коде вставки:
<a href="http://org13.timepad.ru/event/АЙДИ_СОБЫТИЯ/" data-twf-placeholder="yes">Перейти к заказу билетов</a>
<script type="text/javascript"
defer="defer"
data-data-timepad-customized="АЙДИ_ИЗ_ВАШЕГО_КОДА"
data-twf2s-event--id="АЙДИ_СОБЫТИЯ"
data-timepad-widget-v2="event_register"
src="//timepad.ru/js/tpwf/loader/min/loader.js">
(function() {
return {
"locale": "en"
};
})();
</script>
Где взять оригинальные локали
На данный момент существует только локаль для виджета регистрации на событие. Ее актуальная версия находится в YAML файле по адресу https://timepad.ru/js/tpwf/widgets/src/event_register/locales/en.yaml