EngineGP/template/js/google-translate.js
Sergei Solovev b59003e559 Reformat code
This update contains code reformatting to meet PHP standards.
2023-11-12 21:12:42 +03:00

55 lines
2.2 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const googleTranslateConfig = {
lang: "ru",
/* Если скрипт не работает на поддомене,
раскомментируйте и
укажите основной домен в свойстве domain */
/*domain: "enginegp.ru" */
};
function TranslateInit() {
let code = TranslateGetCode();
// Находим флаг с выбранным языком для перевода и добавляем к нему активный класс
$('[data-google-lang="' + code + '"]').addClass('language__img_active');
if (code == googleTranslateConfig.lang) {
// Если язык по умолчанию, совпадает с языком на который переводим
// То очищаем куки
TranslateCookieHandler(null, googleTranslateConfig.domain);
}
// Инициализируем виджет с языком по умолчанию
new google.translate.TranslateElement({
pageLanguage: googleTranslateConfig.lang,
});
// Вешаем событие клик на флаги
$('[data-google-lang]').click(function () {
TranslateCookieHandler("/auto/" + $(this).attr("data-google-lang"), googleTranslateConfig.domain);
// Перезагружаем страницу
window.location.reload();
});
}
function TranslateGetCode() {
// Если куки нет, то передаем дефолтный язык
let lang = ($.cookie('googtrans') != undefined && $.cookie('googtrans') != "null") ? $.cookie('googtrans') : googleTranslateConfig.lang;
return lang.match(/(?!^\/)[^\/]*$/gm)[0];
}
function TranslateCookieHandler(val, domain) {
// Записываем куки /язык_который_переводим/язык_наоторый_переводим
$.cookie('googtrans', val);
$.cookie("googtrans", val, {
domain: "." + document.domain,
});
if (domain == "undefined") return;
// записываем куки для домена, если он назначен в конфиге
$.cookie("googtrans", val, {
domain: domain,
});
$.cookie("googtrans", val, {
domain: "." + domain,
});
}