|
Перевод страниц на лету
Доброго времени суток форумчане! Пытаюсь сделать автоматический перевод страниц сайта на другие языки. Более подробнее _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, время: 05:12. |
|