ماڈیول:Lang

Documentation icon دستاویز
local p = {}local lang= require('Module:لغات/بيانات')function gsubname(temp,the)if the and the ~= ''thens = string.gsub(temp, " ", " ")s = "".. sfi = s elsefi = temp endreturn fiendfunction LatnCyrl(code,al,number, returnnil)code = code:lower()number = (number or 0) +1e = string.sub(code, -5)     -- 5 from the end until the ends = string.gsub(code, e, '')d = p.getname(s, '',number)if d and d ~='' thenif (e == '-latn' or e == '-cyrl' or e == '-arab')thenif e == '-latn' then f = ' لاطینی'elseif e == '-cyrl' then f = ' سيريلية'elseif e == '-arab' then f = ' عربی'end  er = d ..  f  elseendendif returnnil and returnnil ~= '' then co = '' else co = code endif not er then return co else return gsubname(er,al) endendfunction p.getcode(code)s = codes = string.gsub(code, ' ', '')--s = s:lower()for k, v in pairs(lang) dofor i, r in pairs(v) doif (s == r or s == k)then return v.nameendendendendfunction p.getname(co, al, number, returnnil)number = (number or 0) + 1if number and number > 3 then return nil endif not co or co =='' then return '' endcode = co  --:lower()code = string.gsub(co , ' ', '')--:lower()if code and code~= '' thenval = p.getcode(code) if val and val~= '' then fi = gsubname(val,al)elsefi = LatnCyrl(code,al,number, returnnil)endendreturn fiendfunction goo(name)for ss, v in pairs(lang) doif (name == p.getname(ss, 't') or name == p.getname(ss , ''))then return ss--frame:preprocess(ss)elsefor q, codee in pairs(v) doif (name == p.getname(codee, 't') or name == p.getname(codee, ''))then return codeeelseif (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'endendendendendp['اسم لغة'] = function ( frame )local na = frame.args[1]if not na or na =='' then return '' endlocal code = p.getname(frame.args[1], frame.args[2], 0, frame.args['nil'])return frame:preprocess(code)endp['قالب رمز لغة'] = function ( frame )lange= frame.args[1]text = frame.args[2]local c = p.getname(frame.args[1], 't')if lange and lange ~= '' thenlange = string.gsub(lange, ' ', '')lange = lange:lower()textout =  mw.text.tag('span', {lang= lange}, text)local p = 'زمرہ:مضامین جن میں 'local p2 = ' زبان کا متن شامل ہے'if lange =='ur' or lange =='urd'then cate = '' elsecate = '[['.. p .. (c or lange) .. p2 .. ']]'endreturn  textout .. cateelsereturn ''endendp['رمز لغة'] = function ( frame )local na = frame.args[1]if na and na~= '' thenreturn goo(na) or goo(gsubname(na, 't'))elsereturn ''endendp['قائمة'] = function ( frame )lang= require('Module:لغات/بيانات')for k, nam in pairs(lang) dofor i, v in pairs(nam) doname= v.na endendlocal 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 o, nam in pairs(lang) dolocal temp = nam.name-- or klocal 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 ' .. o ..'}}'local er = '[[سانچہ:اسم آيزو 639 ' .. o ..']]'local dd = "\n[[زبان ".. temp .."]]"local ooo = 'زبان ' .. gsubname(temp, 'r')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) dolocal cc =  {}if v and v ~= '' then   u = v  endrr:tag("code"):wikitext(u)rr:tag("span"):wikitext(' - ') endendreturn listendreturn p