fbpx
วิกิพีเดีย

มอดูล:Engvar

คู่มือการใช้งานมอดูล[สร้าง]
-- This module implements Template:Engvar. -- Template:Engvar is to be build into the template (like an infobox), with default & variant spellings defined. -- That template should also allow parameter '|engvar=' for the editor (article page). -- The module/template Engvar then returns the spelling variant as is set in that article (for example '|engvar=en-GB'). -- The defaultWord is returned, unless the engvar input hits on a defined (en-XX) variant word. local p = {} local getArgs = require('Module:Arguments').getArgs local gsub = string.gsub local lower = string.lower local upper = string.upper  function p.variants(frame) local args = getArgs(frame)  return p._variants(args) end  function p._variants(args) local returnWord = nil   local defaultWord = args.defaultWord or ''  if args.engvar == nil then  -- Nothing to look for; use defaultWord right away  returnWord = defaultWord  elseif args.defaultLang == gsub(lower(args.engvar), '^en%-(%w%w)$', formatISO) then  -- By the defaultLang, the defaultWord is asked  returnWord = defaultWord  else  returnWord = args[gsub(lower(args.engvar), '^en%-(%w%w)$', formatISO)]  end   if returnWord == nil then  -- No hit so far. Search by words in the engvar entered, checking the list  local useLang = engvarLang(args.engvar)  if useLang == nil then  returnWord = defaultWord .. addMaintCat(args)  else  returnWord = args[useLang] or defaultWord  end  end   return returnWord end  -- Returns arguments and intermediate result. Plus the template result, in front. function p.explain(frame) local args = getArgs(frame) local ret = {}  table.insert(ret, '\n\n: Settings:')  table.insert(ret, 'defaultWord=' .. (args.defaultWord or '') .. '; ')  table.insert(ret, 'defaultLang=' .. (args.defaultLang or '') .. '; ')  table.insert(ret, 'engvarCat=' .. (args.engvarCat or '[default:yes]') .. '; ')  table.insert(ret, 'engvarCatSort=' .. (args.engvarCatSort or ''))  table.insert(ret, '\n\n: engvar=' .. (args.engvar or '') .. ' [input] ')  local useLang = engvarLang(args.engvar or '')  table.insert(ret, ' => Engvar code [used]: >' .. (useLang or '') .. '<.')   for k, v in pairs(args) do  if k == 'en-UK' then  table.insert(ret, k .. ' ? better: use "en-GB"; ')  elseif k == 'en-SA' then  table.insert(ret, k .. ' ? misleading; use "en-ZA"; ')  end   if k == 'defaultWord' then  elseif k == 'defaultLang' then  elseif k == 'engvar' then  elseif k == 'engvarcat' then  elseif k == gsub(lower(k), '^en%-(%w%w)$', formatISO) then  table.insert(ret, k .. '=' .. v .. '; ')  else  table.insert(ret, k .. ' [not standard:]=' .. v .. '; ')  end   end  return (args.engvar or '') .. ' => ' .. p._variants(args) .. table.concat(ret, ' ') end  -- Turn a match into pattern 'en-XX' function formatISO(country)  return ('en-' .. upper(country) or '') end  function engvarLang(searchEngvar) -- Search verbose language identifiers to ISO-format 'en-XX' -- Assumed: not a blank string '' to search local match = string.match   searchEngvar = gsub(searchEngvar, '^%s*en%-(.*)', '%1') -- rm any opening 'en-'.  searchEngvar = gsub(lower(searchEngvar), '[%s%(%)%-]', '') -- To lc, remove all: (, ) , ws, hyphen.  local useLang  --Special codes  if match(searchEngvar, 'oxford')  or searchEngvar == 'oed' then  useLang = 'en-OED' -- 'oxford' to catch before anyting 'british'  elseif match(searchEngvar, 'iupac') then  useLang = 'en-IUPAC' -- chemistry  -- Very often used  elseif match(searchEngvar, 'british')  or searchEngvar == 'uk'  or searchEngvar == 'gbr' then  useLang = 'en-GB'  elseif searchEngvar == 'us'  or match(searchEngvar, 'unitedstates')  or searchEngvar == 'american'  or searchEngvar == 'usa' then  useLang = 'en-US'  elseif match(searchEngvar, 'australia')  or searchEngvar == 'aus' then  useLang = 'en-AU'  -- Often used  elseif match(searchEngvar, 'india')  or searchEngvar == 'ind' then  useLang = 'en-IN'  elseif searchEngvar == 'newzealand'  or searchEngvar == 'nzl' then  useLang = 'en-NZ'  elseif match(searchEngvar, 'southafrica') -- not: en-SA  or searchEngvar == 'zaf' then  useLang = 'en-ZA'  elseif searchEngvar == 'canada'  or searchEngvar == 'can' then  useLang = 'en-CA'  elseif match(searchEngvar, 'hiberno')  or match(searchEngvar, 'ireland')  or match(searchEngvar, 'irish')  or searchEngvar == 'irl' then  useLang = 'en-EI'  elseif match(searchEngvar, 'hongkong')  or searchEngvar == 'hkg' then  useLang = 'en-HK'  -- Less often used  elseif match(searchEngvar, 'jamaica')  or searchEngvar == 'jam' then  useLang = 'en-JM'  elseif match(searchEngvar, 'malawi')  or searchEngvar == 'mwi' then  useLang = 'en-MW'  elseif match(searchEngvar, 'nigeria')  or searchEngvar == 'nga' then  useLang = 'en-NG'  elseif match(searchEngvar, 'pakistan')  or searchEngvar == 'pak' then  useLang = 'en-PK'  elseif match(searchEngvar, 'philippine')  or searchEngvar == 'phl' then  useLang = 'en-PH'  elseif match(searchEngvar, 'scotland')  or match(searchEngvar, 'scottish')  or searchEngvar == 'sco' then  useLang = 'en-SCO' -- Has no alpha-2 code; not 'scotch'  elseif match(searchEngvar, 'singapore')  or searchEngvar == 'sgp' then  useLang = 'en-SG'  elseif match(searchEngvar, 'trinidad')  or match(searchEngvar, 'tobago')  or searchEngvar == 'tto' then  useLang = 'en-TT'  else  useLang = nil  end   return useLang end  function addMaintCat(args) local catMaintenance  if args.engvarCat == 'no' then  else  local title = mw.title.getCurrentTitle()  if title:inNamespaces(0) then -- 0=main, 10=templ, 828=module  if args.engvarCatSort then  catMaintenance = '|' .. args.engvarCatSort .. ', ' .. title.text  end  catMaintenance = '[[Category:Articles using an unknown Template:Engvar option' .. (catMaintenance or '') .. ']]'  end  end  return catMaintenance or '' end  return p 

มอด, engvar, อการใช, งานมอด, สร, าง, ณอาจจะต, องการสร, างค, อการใช, งานของมอด, ลน, เข, ยนสามารถทำการทดลองได, กระบะทราย, สร, าง, ดลอก, และช, ดทดสอบ, สร, าง, ของมอด, ลน, โปรดเพ, มหมวดหม, ไปท, หน, าย, อย, หน, าย, อยของมอด, ลน, this, module, implements, template, . khumuxkarichnganmxdul srang khunxaccatxngkarsrangkhumuxkarichngankhxngmxdulniphuekhiynsamarththakarthdlxngidthikrabathray srang khdlxk aelachudthdsxb srang khxngmxdulnioprdephimhmwdhmuipthihnayxy doc hnayxykhxngmxdulni This module implements Template Engvar Template Engvar is to be build into the template like an infobox with default amp variant spellings defined That template should also allow parameter engvar for the editor article page The module template Engvar then returns the spelling variant as is set in that article for example engvar en GB The defaultWord is returned unless the engvar input hits on a defined en XX variant word local p local getArgs require Module Arguments getArgs local gsub string gsub local lower string lower local upper string upper function p variants frame local args getArgs frame return p variants args end function p variants args local returnWord nil local defaultWord args defaultWord or if args engvar nil then Nothing to look for use defaultWord right away returnWord defaultWord elseif args defaultLang gsub lower args engvar en w w formatISO then By the defaultLang the defaultWord is asked returnWord defaultWord else returnWord args gsub lower args engvar en w w formatISO end if returnWord nil then No hit so far Search by words in the engvar entered checking the list local useLang engvarLang args engvar if useLang nil then returnWord defaultWord addMaintCat args else returnWord args useLang or defaultWord end end return returnWord end Returns arguments and intermediate result Plus the template result in front function p explain frame local args getArgs frame local ret table insert ret n n Settings table insert ret defaultWord args defaultWord or table insert ret defaultLang args defaultLang or table insert ret engvarCat args engvarCat or default yes table insert ret engvarCatSort args engvarCatSort or table insert ret n n engvar args engvar or input local useLang engvarLang args engvar or table insert ret gt Engvar code used gt useLang or lt for k v in pairs args do if k en UK then table insert ret k better use en GB elseif k en SA then table insert ret k misleading use en ZA end if k defaultWord then elseif k defaultLang then elseif k engvar then elseif k engvarcat then elseif k gsub lower k en w w formatISO then table insert ret k v else table insert ret k not standard v end end return args engvar or gt p variants args table concat ret end Turn a match into pattern en XX function formatISO country return en upper country or end function engvarLang searchEngvar Search verbose language identifiers to ISO format en XX Assumed not a blank string to search local match string match searchEngvar gsub searchEngvar s en 1 rm any opening en searchEngvar gsub lower searchEngvar s To lc remove all ws hyphen local useLang Special codes if match searchEngvar oxford or searchEngvar oed then useLang en OED oxford to catch before anyting british elseif match searchEngvar iupac then useLang en IUPAC chemistry Very often used elseif match searchEngvar british or searchEngvar uk or searchEngvar gbr then useLang en GB elseif searchEngvar us or match searchEngvar unitedstates or searchEngvar american or searchEngvar usa then useLang en US elseif match searchEngvar australia or searchEngvar aus then useLang en AU Often used elseif match searchEngvar india or searchEngvar ind then useLang en IN elseif searchEngvar newzealand or searchEngvar nzl then useLang en NZ elseif match searchEngvar southafrica not en SA or searchEngvar zaf then useLang en ZA elseif searchEngvar canada or searchEngvar can then useLang en CA elseif match searchEngvar hiberno or match searchEngvar ireland or match searchEngvar irish or searchEngvar irl then useLang en EI elseif match searchEngvar hongkong or searchEngvar hkg then useLang en HK Less often used elseif match searchEngvar jamaica or searchEngvar jam then useLang en JM elseif match searchEngvar malawi or searchEngvar mwi then useLang en MW elseif match searchEngvar nigeria or searchEngvar nga then useLang en NG elseif match searchEngvar pakistan or searchEngvar pak then useLang en PK elseif match searchEngvar philippine or searchEngvar phl then useLang en PH elseif match searchEngvar scotland or match searchEngvar scottish or searchEngvar sco then useLang en SCO Has no alpha 2 code not scotch elseif match searchEngvar singapore or searchEngvar sgp then useLang en SG elseif match searchEngvar trinidad or match searchEngvar tobago or searchEngvar tto then useLang en TT else useLang nil end return useLang end function addMaintCat args local catMaintenance if args engvarCat no then else local title mw title getCurrentTitle if title inNamespaces 0 then 0 main 10 templ 828 module if args engvarCatSort then catMaintenance args engvarCatSort title text end catMaintenance Category Articles using an unknown Template Engvar option catMaintenance or end end return catMaintenance or end return p ekhathungcak https th wikipedia org w index php title mxdul Engvar amp oldid 9288208, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม