Модуль:Не перекладено і не існує
Зовнішній вигляд
Документація модуля[створити]
Зараз цей модуль не має відповідної документації. Якщо вам відомі призначення та засади використання цього модуля, будь ласка, напишіть хоча б коротеньку документацію. |
Дописувачі можуть експериментувати на підсторінках пісочниця (створити | дзеркало) та тести (створити) цього модуля. Підсторінки цієї сторінки. |
-- Модуль покликаний замінити Модуль:Не перекладено в тих випадках коли нема
-- звідки перекладати
local p = {}
-- Щоб порожні використання параметрів вважались нілевими. Нілеві значення, на
-- відміну від порожніх рядків, дають булеву хибу для умовних операторів.
-- Кращий спосіб робити цю валідацію вітається.
local function init(vari)
if vari == "" then
return nil
else
return vari;
end
end
-- Головна функція
function p.main(frame)
-- Витягуємо параметри батьківського шаблону
local parent = frame:getParent();
local args = parent.args;
-- Перетягування батьківських параметрів у змінні
local needed = init(args["треба"]) or init(args[1]);
local text = init(args["текст"]) or init(args[2]);
-- Створюємо таблицю поточної сторінки щоб перевірити її пн, щоб разом з
-- параметром nocat вирішити чи треба її категоризувати
local currentTitle = mw.title.getCurrentTitle();
-- Назва поточної сторінки. Використовуватиметься для ключів сортування
local currentTitleText = currentTitle.text;
-- Витягуємо параметр nocat та перевіряємо простір назв поточної сторінки
-- не порожнє значення nocat та нульовий простір назв означають що сторінку
-- можна категоризувати
local nocat = init(args["nocat"]);
if currentTitle.namespace ~= 0 then nocat = 1; end
-- Головна змінна побудови рядка виводу
local wrt = "";
-- Таблиця назви яка "треба"
local neededTitle = mw.title.new( needed, "" );
-- Булева змінна, яка показує чи існує стаття, яка "треба"
local neededExists = neededTitle.exists;
-- Створюмо внутрішнє посилання на статтю, що "треба"
local linkToNeeded = "";
linkToNeeded = linkToNeeded .. "[[";
linkToNeeded = linkToNeeded .. needed;
if text then
linkToNeeded = linkToNeeded .. "|" .. text;
end
linkToNeeded = linkToNeeded .. "]]";
-- Не залежно від того чи стаття, що "треба" існує ми робимо на неї
-- посилання. Що змінюється — лише колір — і це за нас обробляє рушій
wrt = wrt .. linkToNeeded;
if neededExists then
-- Дії, що здійснюється якщо стаття, яка "треба" існує
local alert = mw.html.create("span");
alert:addClass("noprint user-show");
alert:attr("title","Шаблон «не перекладено» не замінено");
alert:css({["color"]="red"});
alert:wikitext("●");
wrt = wrt .. tostring(alert);
if not nocat then
-- Дії, які здійснюються якщо цю сторінку можна категоризувати
wrt = wrt .. "[[Категорія:Вікіпедія:Статті з неактуальним шаблоном Не перекладено|" .. currentTitleText .. "]]"
end
end
return wrt;
end
return p;