|
|
| Строка 1: |
Строка 1: |
| /* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
| | function googleTranslateElementInit() { |
| /* Динамическое добавление виджета Google Translate в боковую панель MediaWiki */
| | new google.translate.TranslateElement({pageLanguage: 'ru'}, 'google_translate_element'); |
| (function () {
| | } |
| // Ждем полной загрузки структуры документа MediaWiki
| | var jq = document.createElement('script'); |
| mw.hook('wikipage.content').add(function () {
| | jq.src = "//://google.com"; |
|
| | document.getElementsByTagName('head')[0].appendChild(jq); |
| // Находим элемент бокового меню (подходит для скинов Vector, Monobook)
| |
| var sidebar = document.getElementById('mw-panel') || document.getElementById('sidebar') || document.getElementById('p-navigation');
| |
|
| |
| if (sidebar && !document.getElementById('google_translate_element')) {
| |
| // 1. Создаем HTML-контейнер для самого виджета
| |
| var translateDiv = document.createElement('div');
| |
| translateDiv.id = 'google_translate_element';
| |
| translateDiv.style.padding = '10px';
| |
| translateDiv.style.marginBottom = '10px';
| |
|
| |
| // Вставляем контейнер в самое начало бокового меню
| |
| sidebar.insertBefore(translateDiv, sidebar.firstChild);
| |
| | |
| // 2. Объявляем глобальную функцию инициализации для Google API
| |
| window.googleTranslateElementInit = function () {
| |
| new google.translate.TranslateElement({
| |
| pageLanguage: 'ru', // Исходный язык вашей Вики (измените, если основной язык другой)
| |
| layout: google.translate.TranslateElement.InlineLayout.SIMPLE, // Компактный вид виджета
| |
| autoDisplay: false
| |
| }, 'google_translate_element');
| |
| };
| |
| | |
| // 3. Динамически загружаем внешний JS-скрипт Google Translate API
| |
| var googleScript = document.createElement('script');
| |
| googleScript.type = 'text/javascript';
| |
| googleScript.src = '//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit';
| |
| document.head.appendChild(googleScript);
| |
| }
| |
| });
| |
| })();
| |