MediaWiki:Gadget-newsectionbottom.js: различия между версиями
Перейти к навигации
Перейти к поиску
Минус служебные |
Нет описания правки |
||
| Строка 45: | Строка 45: | ||
// Локализация | // Локализация | ||
var buttonText = { | var buttonText = { | ||
'be': '✏️ | 'az': '✏️ yeni mövzu', | ||
' | 'ba': '✏️ яңы тема', | ||
'en': '✏️ new | 'be': '✏️ новая тэма', | ||
'eo': '✏️ nova | 'bxr': '✏️ шэнэ сэдэб', | ||
'ja': '✏️ | 'ce': '✏️ керла тема', | ||
'la': '✏️ | 'cv': '✏️ ҫӗнӗ тема', | ||
'tt': '✏️ | 'en': '✏️ new topic', | ||
'udm': '✏️ выль | 'eo': '✏️ nova temo', | ||
'uk': '✏️ | 'et': '✏️ uus teema', | ||
}[mw.config.get('wgUserLanguage')] || '✏️ | 'hy': '✏️ նոր թեմա', | ||
'inh': '✏️ керда тема', | |||
'ja': '✏️ 新しいトピック' | |||
'ka': '✏️ ახალი თემა', | |||
'kk': '✏️ жаңа тақырып', | |||
'ko': '✏️ 새로운 주제' | |||
'koi': '✏️ выль тема', | |||
'kv': '✏️ выль тема', | |||
'ky': '✏️ жаңы тема', | |||
'la': '✏️ novum argumentum', | |||
'lt': '✏️ nauja tema', | |||
'lv': '✏️ jauna tēma', | |||
'mdf': '✏️ од тема', | |||
'mhr': '✏️ у теме', | |||
'mrj': '✏️ у тема', | |||
'myv': '✏️ од тема', | |||
'os': '✏️ ног темæ', | |||
'ro': '✏️ subiect nou', | |||
'sah': '✏️ саҥа тиэмэ', | |||
'tg': '✏️ мавзӯи нав', | |||
'tk': '✏️ täze tema', | |||
'tt': '✏️ яңа тема', | |||
'tyv': '✏️ чаа тема', | |||
'udm': '✏️ выль тема', | |||
'uk': '✏️ нова тема', | |||
'uz': '✏️ yangi mavzu', | |||
'vep': '✏️ uz’ tem', | |||
'yi': 'נייע טעמע ✏️', | |||
'xal': '✏️ шин төр', | |||
'zh': '✏️ 新话题' | |||
}[mw.config.get('wgUserLanguage')] || '✏️ новая тема'; | |||
// Создание кнопки | // Создание кнопки | ||
Версия от 08:51, 5 марта 2026
//* Гаджет для добавления секции снизу в обсуждениях *//
(function() {
var currentUrl = window.location.href;
if (currentUrl.includes('/w/')) {
return;
}
var namespace = mw.config.get('wgNamespaceNumber');
var discussionNamespaces = [1, 3, 5, 7, 9, 11, 13, 15, 101, 110, 113, 115, 117, 119, 121];
var pageName = mw.config.get('wgPageName');
if (namespace === 110 && pageName === 'Форум:Общий') {
return;
}
if (!discussionNamespaces.includes(namespace)) {
return;
}
mw.loader.using('mediawiki.util').then(function() {
var $content = $('#mw-content-text');
if (!$content.length) return;
// Проверка прав на редактирование
var userGroups = mw.config.get('wgUserGroups') || [];
var restrictionEdit = mw.config.get('wgRestrictionEdit');
var canEdit = true;
if (restrictionEdit) {
var editRestrictions = restrictionEdit.edit || restrictionEdit;
if (!Array.isArray(editRestrictions)) {
editRestrictions = [editRestrictions];
}
if (editRestrictions.includes('sysop') && !userGroups.includes('sysop')) {
canEdit = false;
} else if (editRestrictions.includes('autoconfirmed') &&
!userGroups.includes('autoconfirmed') &&
!userGroups.includes('sysop')) {
canEdit = false;
}
}
if (!canEdit) return;
// Локализация
var buttonText = {
'az': '✏️ yeni mövzu',
'ba': '✏️ яңы тема',
'be': '✏️ новая тэма',
'bxr': '✏️ шэнэ сэдэб',
'ce': '✏️ керла тема',
'cv': '✏️ ҫӗнӗ тема',
'en': '✏️ new topic',
'eo': '✏️ nova temo',
'et': '✏️ uus teema',
'hy': '✏️ նոր թեմա',
'inh': '✏️ керда тема',
'ja': '✏️ 新しいトピック'
'ka': '✏️ ახალი თემა',
'kk': '✏️ жаңа тақырып',
'ko': '✏️ 새로운 주제'
'koi': '✏️ выль тема',
'kv': '✏️ выль тема',
'ky': '✏️ жаңы тема',
'la': '✏️ novum argumentum',
'lt': '✏️ nauja tema',
'lv': '✏️ jauna tēma',
'mdf': '✏️ од тема',
'mhr': '✏️ у теме',
'mrj': '✏️ у тема',
'myv': '✏️ од тема',
'os': '✏️ ног темæ',
'ro': '✏️ subiect nou',
'sah': '✏️ саҥа тиэмэ',
'tg': '✏️ мавзӯи нав',
'tk': '✏️ täze tema',
'tt': '✏️ яңа тема',
'tyv': '✏️ чаа тема',
'udm': '✏️ выль тема',
'uk': '✏️ нова тема',
'uz': '✏️ yangi mavzu',
'vep': '✏️ uz’ tem',
'yi': 'נייע טעמע ✏️',
'xal': '✏️ шин төр',
'zh': '✏️ 新话题'
}[mw.config.get('wgUserLanguage')] || '✏️ новая тема';
// Создание кнопки
var editUrl = mw.util.getUrl(mw.config.get('wgPageName'), {
action: 'edit',
section: 'new'
});
$('<a>', {
href: editUrl,
'class': 'mw-ui-button mw-ui-progressive mw-add-section-bottom',
text: buttonText
}).insertAfter($content);
// Стили
mw.util.addCSS('.mw-add-section-bottom{display:inline-block;margin:20px 0}');
});
})();