TigerMehMat (обсуждение | вклад) Нет описания правки |
TigerMehMat (обсуждение | вклад) Нет описания правки |
||
(не показаны 24 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
local p = {} |
local p = {} |
||
function p.data( f ) |
function p.data( f ) |
||
− | local separator = ""; |
+ | local separator = ","; |
− | if(f:getParent().args > 1) then |
+ | if(#(f:getParent().args) > 1) then |
separator = f:getParent().args[2]; |
separator = f:getParent().args[2]; |
||
end |
end |
||
Строка 13: | Строка 13: | ||
end |
end |
||
− | local aliases = mw.loadData('Модуль:ПереводСуществ/ |
+ | local aliases = mw.loadData('Модуль:ПереводСуществ/Псевдонимы') |
+ | tn = separator..tn..separator |
||
⚫ | |||
− | + | tn = mw.ustring.gsub(tn, "%s*"..separator.."%s*", separator) |
|
⚫ | |||
+ | local search = mw.ustring.gsub(aliases[1][key], "%-", "%-") |
||
+ | search = mw.ustring.gsub(search, "%(", "%(") |
||
+ | search = mw.ustring.gsub(search, "%)", "%)") |
||
+ | tn = mw.ustring.gsub(tn, separator..search..separator, separator..aliases[2][key]..separator) |
||
end |
end |
||
+ | tn = mw.ustring.sub(tn, 2,-2) |
||
return tn |
return tn |
Текущая версия от 11:07, 2 августа 2019
Для документации этого модуля может быть создана страница Модуль:ПереводСуществ/doc
local p = {}
function p.data( f )
local separator = ",";
if(#(f:getParent().args) > 1) then
separator = f:getParent().args[2];
end
return p.link(f:getParent().args[1], separator)
end
function p.link( tn, separator )
if tn == nil then
return 'отсутствует обязательный параметр'
end
local aliases = mw.loadData('Модуль:ПереводСуществ/Псевдонимы')
tn = separator..tn..separator
tn = mw.ustring.gsub(tn, "%s*"..separator.."%s*", separator)
for key, val in ipairs(aliases[1]) do
local search = mw.ustring.gsub(aliases[1][key], "%-", "%-")
search = mw.ustring.gsub(search, "%(", "%(")
search = mw.ustring.gsub(search, "%)", "%)")
tn = mw.ustring.gsub(tn, separator..search..separator, separator..aliases[2][key]..separator)
end
tn = mw.ustring.sub(tn, 2,-2)
return tn
end
return p