MediaWiki:Tweeki-config-customscriptmodule: Difference between revisions

From MediaWiki
(Created page with "$(document).ready( function() { // Создаем выпадающее меню с выбором языка var languageMenu = '<div class="selectlang"> <select id="language-select">'; // Добавляем опции для каждого языка languageMenu += '<option value="ru">Russian</option>'; languageMenu += '<option value="en">English</option>'; languageMenu += '<option value="zh">Chinese</option>'; languageMenu += '</select> </div>';...")
 
(Blanked the page)
Tag: Blanking
 
Line 1: Line 1:
$(document).ready( function() {
  // Создаем выпадающее меню с выбором языка
  var languageMenu = '<div class="selectlang"> <select id="language-select">';
  // Добавляем опции для каждого языка
  languageMenu += '<option value="ru">Russian</option>';
  languageMenu += '<option value="en">English</option>';
  languageMenu += '<option value="zh">Chinese</option>';
  languageMenu += '</select> </div>';
  $('#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); // Устанавливаем символ для открытого списка
    }
  }

Latest revision as of 19:09, 3 August 2023