Виджет по переводу страницы через google translate

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

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
<script src="js/google-translate.js"></script>
<script src="//translate.google.com/translate_a/element.js?cb=TranslateInit"></script> 

это файл google-translate.js

const googleTranslateConfig = {
    lang: "ru",
};

function TranslateInit() {

    let code = TranslateGetCode();
    // Находим флаг с выбранным языком для перевода и добавляем к нему активный класс
    $('[data-google-lang="' + code + '"]').addClass('language__img_active');

    if (code == googleTranslateConfig.lang) {
        // Если язык по умолчанию, совпадает с языком на который переводим
        // То очищаем куки
        TranslateClearCookie();
    }

    // Инициализируем виджет с языком по умолчанию
    new google.translate.TranslateElement({
        pageLanguage: googleTranslateConfig.lang,
    });

    // Вешаем событие  клик на флаги
    $('[data-google-lang]').click(function () {
        TranslateSetCookie($(this).attr("data-google-lang"))
        // Перезагружаем страницу
        window.location.reload();
    });
}

function TranslateGetCode() {
    // Если куки нет, то передаем дефолтный язык
    let lang = ($.cookie('googtrans') != undefined && $.cookie('googtrans') != "null") ? $.cookie('googtrans') : googleTranslateConfig.lang;
    return lang.substr(-2);
}

function TranslateClearCookie() {
    $.cookie('googtrans', null);
    $.cookie("googtrans", null, {
        domain: "." + document.domain,
    });
}

function TranslateSetCookie(code) {
    // Записываем куки /язык_который_переводим/язык_на_который_переводим
    $.cookie('googtrans', "/auto/" + code);
    $.cookie("googtrans", "/auto/" + code, {
        domain: "." + document.domain,
    });
}

это верстка

 <div class="language">
            <img src="images/lang/lang__ru.png" alt="ru" data-google-lang="ru" class="language__img">
            <img src="images/lang/lang__en.png" alt="en" data-google-lang="en" class="language__img">
            <img src="images/lang/lang__de.png" alt="de" data-google-lang="de" class="language__img">
            <img src="images/lang/lang__fr.png" alt="fr" data-google-lang="fr" class="language__img">
            <img src="images/lang/lang__pt.png" alt="pt" data-google-lang="pt" class="language__img">
 </div>

Может проблема в куках или еще с чем нибудь, помогите ибо фича годная и нужная.


Ответы (0 шт):