تضامنًا مع حق الشعب الفلسطيني |
الفرق بين الصفحتين: «وحدة:لغات» و«وحدة:لغات/ملعب»
(الفرق بين الصفحتين)
عبود السكاف (نقاش | مساهمات) لا ملخص تعديل |
عبود السكاف (نقاش | مساهمات) لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
local p = {} | local p = {} | ||
local data = require( | local data = require('Module:لغات/بيانات/ملعب') | ||
local scripts = { | local scripts = { | ||
[ | ['-latn'] = ' لاتينية' , | ||
[ | ['-cyrl'] = ' سيريلية' , | ||
[ | ['-arab'] = ' عربية' , | ||
} | } | ||
local function gsubname(temp, the, code) | local function gsubname(temp , the , code) | ||
if data.lang_name_with_al[code] then | |||
return data.lang_name_with_al[code] | |||
return | elseif data.lang_name_with_al[code:lower()] then | ||
return data.lang_name_with_al[code:lower()] | |||
end | end | ||
if | local fi | ||
if the and the ~= '' | |||
then | |||
local s = string.gsub(temp, " ", " ال") | |||
s = "ال".. s | |||
fi = s | |||
else | |||
fi = temp | |||
end | end | ||
return | return fi | ||
end | end | ||
local function LatnCyrl(code, al, number, returnnil) | local function LatnCyrl(code,al,number, returnnil) | ||
local ar_name = "" | local ar_name = "" | ||
code = code:lower() | code = code:lower() | ||
number = (number or 0) + 1 | number = (number or 0) +1 | ||
local e = string.sub(code, -5) -- 5 from the end until the end | local e = string.sub(code, -5) -- 5 from the end until the end | ||
local s = string.gsub(code, e, | local s = string.gsub(code, e, '') | ||
local d = p.getname(s, | local d = p.getname(s , '' , number) | ||
if d and d ~='' then | |||
if scripts[e] then | |||
ar_name = d .. scripts[e] | |||
end | |||
end | |||
local co | |||
if returnnil and returnnil ~= '' then | |||
co = '' | |||
else | |||
co = code | |||
end | end | ||
if ar_name == "" then | |||
if ar_name == "" then | |||
return co | return co | ||
else | |||
return gsubname(ar_name , al , code) | |||
end | end | ||
end | end | ||
function p.getcode(code) | function p.getcode(code) | ||
local s = code | local s = code | ||
s = string.gsub(code, | s = string.gsub(code, ' ', '') | ||
return data.lang_name[s] or data.lang_name[s | return data.lang_name[s] or data.lang_name[s] or data.lang_name_with_al[s:lower()] | ||
end | end | ||
سطر 55: | سطر 62: | ||
function p.getname(code, al, number, returnnil) | function p.getname(code, al, number, returnnil) | ||
number = (number or 0) + 1 | number = (number or 0) + 1 | ||
if number and number > 3 then | if number and number > 3 then return nil end | ||
if not code or code =='' then return '' end | |||
if string.find(code,"[)|(]") then return code end | |||
if not | code = string.gsub(code , ' ', '')--:lower() | ||
if string.find(code, "[)|(]") then | |||
code = string.gsub(code, | |||
local fi | local fi | ||
local name = p.get_name_from_code(code) | if code and code~= '' then | ||
local name = p.get_name_from_code(code) | |||
if name and name ~= '' | |||
then | |||
fi = gsubname(name , al , code) | |||
else | |||
fi = LatnCyrl(code,al,number, returnnil) | |||
end | |||
end | end | ||
return fi | return fi | ||
سطر 80: | سطر 84: | ||
end | end | ||
for ss, v in pairs(data.lang_table) do | for ss, v in pairs(data.lang_table) do | ||
if (name == p.getname(ss, | if (name == p.getname(ss, 't') or name == p.getname(ss , '')) | ||
return ss | then | ||
return ss--frame:preprocess(ss) | |||
else | else | ||
for q, codee in pairs(v.codes) do | for q, codee in pairs( v.codes ) do | ||
if (name == p.getname(codee, | if (name == p.getname(codee, 't') or name == p.getname(codee, '')) | ||
return codee | then return codee | ||
elseif (name == p.getname(ss .. | elseif (name == p.getname(ss .. '-cyrl', 't') or name == p.getname(ss .. '-cyrl', '')) | ||
return ss .. | then return ss .. '-cyrl' | ||
elseif (name == p.getname(ss .. | elseif (name == p.getname(ss.. '-latn', 't') or name == p.getname(ss.. '-latn', '')) | ||
return ss .. | then return ss.. '-latn' | ||
elseif (name == p.getname(ss .. | elseif (name == p.getname(ss.. '-arab', 't') or name == p.getname(ss.. '-arab', '')) | ||
return ss .. | then return ss.. '-arab' | ||
end | end | ||
end | end | ||
end | end | ||
end | end | ||
end | end | ||
p['اسم لغة'] = function ( frame ) | |||
local na = frame.args[1] | local na = frame.args[1] | ||
if not | if not na or na =='' then return '' end | ||
local code = p.getname(frame.args[1], frame.args[2], 0, frame.args['nil']) | |||
local code = p.getname(frame.args[1], frame.args[2], 0, frame.args[ | |||
return frame:preprocess(code) | return frame:preprocess(code) | ||
end | end | ||
p[ | p['قالب رمز لغة'] = function ( frame ) | ||
local lange = frame.args[1] | local lange= frame.args[1] | ||
local text = frame.args[2] | local text = frame.args[2] | ||
if | local c = p.getname(frame.args[1], 't') | ||
return | if lange and lange ~= '' then | ||
lange = string.gsub(lange, ' ', '') | |||
lange = lange:lower() | |||
local textout = mw.text.tag('span', {lang= lange}, text) | |||
local p = 'تصنيف:مقالات تحوي نصا ب' | |||
local cate | |||
if lange =='ar' or lange =='ara' then | |||
cate = '' | |||
else | |||
cate = '[['.. p .. (c or lange) .. ']]' | |||
end | |||
return textout .. cate | |||
else | |||
return '' | |||
end | end | ||
end | end | ||
p[ | p['رمز لغة'] = function ( frame ) | ||
local na = frame.args[1] | local na = frame.args[1] | ||
if na and na~= '' | |||
then | |||
return get_code_from_name(na) or get_code_from_name( gsubname( na , 't' , "" ) ) | |||
else | |||
return '' | |||
end | end | ||
end | end | ||
p[ | |||
p['قائمة'] = function ( frame ) | |||
local list = mw.html.create("table") | local list = mw.html.create("table") | ||
list:addClass("wikitable sortable collapsible") | list:addClass("wikitable sortable collapsible") | ||
list:tag("tr"):tag("th"):wikitext("رمز"):tag("th"):wikitext("تضمين قالب"):tag("th"):wikitext("وصلة"):tag("th"):wikitext( | local head = list:tag("tr") | ||
head:tag("th"):wikitext("رمز") | |||
head:tag("th"):wikitext("تضمين قالب") | |||
head:tag("th"):wikitext("وصلة") | |||
head:tag("th"):wikitext("اسم") | |||
head:tag("th"):wikitext("التحويلات") | |||
for code, nam in pairs(data.lang_table) do | for code, nam in pairs(data.lang_table) do | ||
local temp = nam.name | local temp = nam.name-- or k | ||
local row = list:tag("tr") | local row = list:tag("tr") | ||
row:tag("td" | local oo = row:tag("td") | ||
local r = row:tag("td") | |||
row:tag("td" | local th = row:tag("td") | ||
local ss = row:tag("td") | |||
row:tag("td" | |||
row:tag("td") | |||
local rr = row:tag("td") | local rr = row:tag("td") | ||
for k, v in pairs(nam.codes) do | local rsr = '{{اسم آيزو 639 ' .. code ..'}}' | ||
local er = '[[قالب:اسم آيزو 639 ' .. code ..']]' | |||
local dd = "\n[[لغة ".. temp .."]]" | |||
local ooo = 'اللغة ' .. gsubname(temp, 'r' ,code ) | |||
oo:tag("span"):wikitext(er) | |||
r:tag("span"):wikitext(frame:preprocess(rsr)) | |||
th:tag("span"):wikitext(dd) | |||
ss:tag("span"):wikitext(ooo) | |||
for k,v in pairs(nam.codes ) do | |||
local cc = {} | |||
local u | |||
if v and v ~= '' then | |||
u = v | |||
end | |||
rr:tag("code"):wikitext(u) | |||
rr:tag("span"):wikitext(' - ') | |||
end | |||
end | end | ||
return list | return list | ||
end | end | ||
return p | return p |