MediaWiki:Tweeki-config-customscriptmodule

From MediaWiki
Revision as of 19:09, 3 August 2023 by Userwiki (talk | contribs) (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>';...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

$(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); // Устанавливаем символ для открытого списка
   }
 }