Модуль:String/split
splitПринимает строку параметров через разделитель (или без него, если значение одно).
Кагера, Мванза, Мара, Ньянза, Западная провинция, Восточная область, Центральная область langПринимает строку параметров через разделитель, возвращает список национальных названий.
рус. Каспийское море, перс. دریای خزر, азерб. Xəzər dənizi, каз. Каспий теңізі, кум. Хазар денгиз, лезг. Каспи гьуьл, туркм. Hazar deňzi
reflangПринимает строку параметров через разделитель, возвращает список шаблонов указаний языка ({{ref-lang}}).
(рус.) (перс.) (азерб.) (каз.) (кум.) (лезг.) (туркм.)
[рус.] [перс.] [азерб.] [каз.] [кум.] (рус.) [лезг.] [туркм.] local str = {}
function str.split( frame )
local ret = ''
local s = frame.args[1] or '';
if s == '' then
return
end
local o = frame.args['o'] or '%';
local l = frame.args['l'] or '';
local t = frame.args['t'] or '';
local r = frame.args['r'] or '';
local m = tonumber(frame.args['m']) or 1000;
local n = frame.args['nodis'] or '0';
if l ~= '' then
ret = '<ul>'
o = '<li>' .. o .. r .. '</li>'
else
o = o .. r
end
local i = 0
local iterator = mw.ustring.gmatch(s, "[^/]+");
for w in iterator do
if t ~= '' then
local args = {}
args[1] = w
ret = ret .. mw.ustring.gsub( o, '%%', frame:expandTemplate{ title = t, args = args } )
else
if n == '1' then
w = w .. '|' .. mw.ustring.gsub( w, '%s?%(.*%)$', '' )
end
w = mw.ustring.gsub( o, '%%', w )
ret = ret .. w
end
i = i + 1
if i == m then
break
end
end
if l ~= '' then
ret = mw.ustring.gsub( ret, r .. '</li>$', '</li>' )
ret = ret .. '</ul>'
else
ret = mw.ustring.gsub( ret, r .. '$', '' )
end
return ret
end
function str.lang( frame )
local red = '[[К:Википедия:Страницы с ошибками в национальном названии]]<span style="color: red;">В параметре «Национальное название» нарушен синтаксис: [[:К:Википедия:Страницы с ошибками в национальном названии|его верное заполнение]]: «код языка/название/код второго языка/название». Пожалуйста, исправьте данную ошибку!</span>'
local s = frame.args[1] or '';
if s == '' then
return
end
local listLang = require('Module:Languages').list
local i = 1
local args = {}
local iterator = mw.ustring.gmatch(s, "[^/]+");
for w in iterator do
args[i] = w
i = i + 1
end
if i % 2 == 0 or mw.ustring.match( s, '[\]\[\<\>\127]' ) then
return red
end
frame.args = args
return listLang(frame)
end
function str.reflang( frame )
local s = frame.args[1] or '';
local v = frame.args[2] or false;
if s == '' then
return
end
local args = {}
local iterator = mw.ustring.gmatch(s, "[^/]+");
for w in iterator do
table.insert(args, w)
end
if #args == 0 then
return
end
if v then
args['в'] = 'в'
end
local listRef = require('Module:Languages').list_ref
frame.args = args
return listRef(frame)
end
return str
|
Portal di Ensiklopedia Dunia