|
Перевод страниц на лету
Доброго времени суток форумчане! Пытаюсь сделать автоматический перевод страниц сайта на другие языки. Более подробнее _https://update.lik-astana.kz/ скрипт взял на github - https://github.com/get-web/google-tr...-custom-widget Скрипт установил на сайт но получаю ошибку
Код:
Uncaught TypeError: config is undefined
if (config.langFirstVisit && !$.cookie("googtrans")) {
/* Если установлен язык перевода для первого посещения и куки не назначены */
/* If the translation language is installed for the first visit and cookies are not assigned */
TranslateCookieHandler("/auto/" + config.langFirstVisit);
}
Понимая что ошибка с куками но самостоятельно решить не получается :help: :help: :help: . |
А где определяется и устанавливается config?
В ошибке именно про него написано: config is undefined |
Цитата:
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> --> <script src="//translate.google.com/translate_a/element.js?cb=TranslateInit"></script> <script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script> <div class="language"> <img src="/modules/mod_translate/images/kz.png" alt="kk" data-google-lang="kk" class="language__img" /> <img src="/modules/mod_translate/images/ru.png" alt="ru" data-google-lang="ru" class="language__img" /> <img src="/modules/mod_translate/images/us.png" alt="en" data-google-lang="en" class="language__img" /> </div> |
Либо может посоветуете рабочий скрипт перевода, необходимо переводить страницы на лету.
|
Вы что то сильно переделали, по сравнению с тем, что написано на гитхабе.
Там нет вызова скрипта <script src="//translate.google.com/translate_a/element.js?cb=TranslateInit"></script> Там этот скрипт вызывается автоматически и только после того, как загрузится DOM.
document.addEventListener("DOMContentLoaded", (event) => {
/* Подключаем виджет google translate */
/* Connecting the google translate widget */
let script = document.createElement("script");
script.src = `//translate.google.com/translate_a/element.js?cb=TranslateWidgetIsLoaded`;
document.getElementsByTagName("head")[0].appendChild(script);
});
И он должен вызвать функцию TranslateInit, после того, как загрузится с параметром config. |
Да действительно ошибка пропала, спасибо! Но перевод так и не происходит
|
если подключаю как на гит
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> страница перестает грузится вовсе |
попробовал вариант с nativejs - https://github.com/get-web/google-tr...aster/nativejs Просто перезагружает страницу но перевода нет. Подскажите пожалуйста, что не так
|
У вас большой сайт, где уже подключено 100500 всяких скриптов. И разбираться как они там между собой взаимодействуют никто не будет.
Обычно для чего то нового делается небольшой тестовый пример, буквально одна страничка с текстом и добиваются, что бы она работала (или не работала). Только так можно понять, что и как надо подключать |
Цитата:
После подключения nativejs появились такие ошибки Код:
Ресурс с «https://translate-pa.googleapis.com/v1/supportedLanguages?%5Bobject%20Map%20Iterator%5D=%5Bobject%20Map%20Iterator%5D» был заблокирован из-за несоответствия MIME-типа («application/json») (X-Content-Type-Options: nosniff)Код:
Uncaught TypeError: a.callbackName is undefined |
| Часовой пояс GMT +3, время: 17:13. |
|