تضامنًا مع حق الشعب الفلسطيني |
وحدة:لغات/ملعب
اذهب إلى التنقل
اذهب إلى البحث
![]() | هذه صفحة ملعب الوحدة لصفحة وحدة:لغات (فرق). |
![]() | هذه الوحدة مستخدمة في عدد كبير من الصفحات (+252532) . لتفادي خلق بلبلة على نطاق واسع من الصفحات وزيادة الأعباء على الخوادم، يجب تجربة أي تعديل في هذه الصفحات الفرعية /ملعب أو /تجربة أو في ملعبك. بعدها يمكنك اضافة التعديلات دفعة واحدة، ورجاءً، لا تنسَ مناقشة أمر التعديلات أوّلًا قبل القيام بها. |
الاستخدام
بيانات الوحدة في وحدة:لغات/بيانات.
اسم
{{#استدعاء:لغات|اسم لغة|en}}
و{{#استدعاء:لغات|اسم لغة|eng}}
- ينتج: إنجليزية
{{#استدعاء:لغات|اسم لغة|en|ال}}
و{{#استدعاء:لغات|اسم لغة|eng|ال}}
- ينتج: الإنجليزية
{{#استدعاء:لغات|اسم لغة|tt-cyrl}}
- ينتج: تتارية سيريلية
{{#استدعاء:لغات|اسم لغة|tt-cyrl|ال}}
- ينتج: التتارية السيريلية
رمز
{{#استدعاء:لغات|رمز لغة|عربية}}
و{{#استدعاء:لغات|رمز لغة|العربية}}
- ينتج: ar
{{#استدعاء:لغات|رمز لغة|تترية سيريلية}}
و{{#استدعاء:لغات|رمز لغة|التترية السيريلية}}
- ينتج:
طالع:
قائمة
local p = {}
local data = require('Module:لغات/بيانات/ملعب')
local scripts = {
['-latn'] = ' لاتينية' ,
['-cyrl'] = ' سيريلية' ,
['-arab'] = ' عربية' ,
}
local function gsubname(temp , the , code)
if data.lang_name_with_al[code] then
return data.lang_name_with_al[code]
elseif data.lang_name_with_al[code:lower()] then
return data.lang_name_with_al[code:lower()]
end
local fi
if the and the ~= ''
then
local s = string.gsub(temp, " ", " ال")
s = "ال".. s
fi = s
else
fi = temp
end
return fi
end
local function LatnCyrl(code,al,number, returnnil)
local ar_name = ""
code = code:lower()
number = (number or 0) +1
local e = string.sub(code, -5) -- 5 from the end until the end
local s = string.gsub(code, e, '')
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
if ar_name == "" then
return co
else
return gsubname(ar_name , al , code)
end
end
function p.getcode(code)
local s = code
s = string.gsub(code, ' ', '')
return data.lang_name[s] or data.lang_name[s] or data.lang_name_with_al[s:lower()]
end
function p.get_name_from_code(code)
return p.getcode(code)
end
function p.getname(code, al, number, returnnil)
number = (number or 0) + 1
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
code = string.gsub(code , ' ', '')--:lower()
local fi
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
return fi
end
local function get_code_from_name(name)
if data.lang_codes[name] then
return data.lang_codes[name]
end
for ss, v in pairs(data.lang_table) do
if (name == p.getname(ss, 't') or name == p.getname(ss , ''))
then
return ss--frame:preprocess(ss)
else
for q, codee in pairs( v.codes ) do
if (name == p.getname(codee, 't') or name == p.getname(codee, ''))
then return codee
elseif (name == p.getname(ss .. '-cyrl', 't') or name == p.getname(ss .. '-cyrl', ''))
then return ss .. '-cyrl'
elseif (name == p.getname(ss.. '-latn', 't') or name == p.getname(ss.. '-latn', ''))
then return ss.. '-latn'
elseif (name == p.getname(ss.. '-arab', 't') or name == p.getname(ss.. '-arab', ''))
then return ss.. '-arab'
end
end
end
end
end
p['اسم لغة'] = function ( frame )
local na = frame.args[1]
if not na or na =='' then return '' end
local code = p.getname(frame.args[1], frame.args[2], 0, frame.args['nil'])
return frame:preprocess(code)
end
p['قالب رمز لغة'] = function ( frame )
local lange= frame.args[1]
local text = frame.args[2]
local c = p.getname(frame.args[1], 't')
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
p['رمز لغة'] = function ( frame )
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
p['قائمة'] = function ( frame )
local list = mw.html.create("table")
list:addClass("wikitable sortable collapsible")
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
local temp = nam.name-- or k
local row = list:tag("tr")
local oo = row:tag("td")
local r = row:tag("td")
local th = row:tag("td")
local ss = row:tag("td")
local rr = row:tag("td")
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
return list
end
return p