MediaWiki:Tweeki-config-customscriptmodule
From MediaWiki
$(document).ready( function() {
// Создаем выпадающее меню с выбором языка
var languageMenu = '
<select id="language-select">';
// Добавляем опции для каждого языка languageMenu += '<option value="ru">Russian</option>'; languageMenu += '<option value="en">English</option>'; languageMenu += '<option value="zh">Chinese</option>';languageMenu += '</select>
';
$('#content').append(languageMenu);
// Получаем текущий URL
var url = window.location.href;
// Получаем последний сегмент URL, который содержит языковой код
var languageCode = url.substring(url.lastIndexOf('/') + 1);
// Получаем выпадающее меню по его ID
var languageMenu = document.getElementById('language-select');
// Проверяем, содержит ли URL языковой код if (languageCode.length == 2) {
// Устанавливаем атрибут selected для соответствующей опции в меню languageMenu.value = languageCode;
} else {
// Если языковой код не найден, то устанавливаем значение "ru" для атрибута selected languageMenu.value = "ru";
}
// Определяем массив языковых кодов, которые нужно удалить var langCodes = ['en', 'ru', 'zh'];
// Удаляем языковые коды в конце URL for (var i = 0; i < langCodes.length; i++) { var langCode = '/' + langCodes[i]; if (url.endsWith(langCode)) { url = url.slice(0, -langCode.length); } }
// Удаляем повторяющиеся слеши url = url.replace(/\/{2,}/g, '/'); var newUrl = url.replace("/wiki.gativus.com", ""); // Вставляем меню в нужное место на странице $('#language-select').change(function() { var selectedLanguage = $(this).val();
// Перенаправляем пользователя на соответствующую страницу на выбранном языке switch(selectedLanguage) { case 'ru': window.location.href = newUrl; break; case 'en': window.location.href = newUrl + "/en"; break; case 'zh': window.location.href = newUrl + "/zh"; break; } });
}); function toggleSubMenu(element) {
var subMenu = element.nextElementSibling; if (subMenu.style.display === "block") { subMenu.style.display = "none"; element.textContent = "+ " + element.textContent.slice(2); // Устанавливаем символ для закрытого списка } else { subMenu.style.display = "block"; element.textContent = "- " + element.textContent.slice(2); // Устанавливаем символ для открытого списка } }