fbpx
วิกิพีเดีย

มอดูล:Mw lang

คู่มือการใช้งานมอดูล[สร้าง]
require('Module:No globals'); local getArgs = require('Module:Arguments').getArgs   --[[--------------------------< E R R _ M S G _ M A K E >------------------------------------------------------ ]]  local function err_msg_make (msg)  return '<span class="error" style="font-size:100%">error: ' .. msg .. ' not recognized</span>' end   --[[--------------------------< _ I S _ C O D E >--------------------------------------------------------------  local or require()d entry point  return true if <code> is a mediawiki recognized code; false else  <code> - language code to validate; expected to be lowercase without leading/trailing whitespace <target_lang_code> - language code for target language; expected to be valid; expected to be lowercase without leading/trailing whitespace  specifying <target_lang_code> may be a pointless exercise because of cldr fallback. For example,  mw.language.fetchLanguageName (crh, sq) -> Crimean Turkish because the Albanian language definitions do not have an Albanian-language version of the language name  ]]  local function _is_code (code, target_lang_code)  code = mw.language.fetchLanguageName (code, target_lang_code);  return '' ~= code; end   --[[--------------------------< _ _ V A L I D A T E _ T A R G E T _ L A N G _ C O D E >------------------------  validates target_lang_code as a know language code; returns two values  when target_lang_code is valid, first return value holds target_lang_code; second return value is nil  when target_lang_code is invalid, first retrun value is nil; second return value has error message  if target_lang_code argument is nil, (missing or empty in the invoke) use local wiki's language code  ]]  local function __validate_target_lang_code (target_lang_code)  local msg;   if target_lang_code then -- not missing or empty  if not _is_code (target_lang_code) then -- validate target_lang_code  msg = err_msg_make ('target language code: ' .. target_lang_code);  target_lang_code = nil; -- unset as invalid  end  end  if not target_lang_code then -- if nil because missing or empty or because invlaid and we set it nil  target_lang_code = mw.getContentLanguage():getCode(); -- use local wiki's language code  end   return target_lang_code, msg; -- target_lang_code is valid or nil; msg is nil or has an error message end   --[[--------------------------< I S _ C O D E >----------------------------------------------------------------  module entry point  args[1]: language code -> <code> args[2]: optional target language code; same as <target lang code> in {{#language:<code>|<target lang code>}}; defaults to the local wiki language  return true if <code> is a mediawiki recognized code; nil else  ]]  local function is_code (frame)  local args = getArgs (frame, {  valueFunc = function (key, value)  return (value and '' ~= value) and value:lower():gsub ('^%s*(.-)%s*$', '%1') or nil;  end  });  local code = args[1];  local target_lang_code = __validate_target_lang_code (args[2]);   return code and _is_code (code, target_lang_code) and true or nil; end   --[[--------------------------< N A M E _ F R O M _ C O D E >--------------------------------------------------  module entry point  args[1]: language code args[2]: optional target language code; same as <target lang code> in {{#language:<code>|<target lang code>}}; defaults to the local wiki language  return language-name if language-code is a mediawiki recognized code; error message string else  returned language name not guarenteed to be in target_lang_code (if specified), because mw language lists are incomplete  ]]  local function name_from_code (frame)  local args = getArgs (frame, {  valueFunc = function (key, value)  return (value and '' ~= value) and value:lower():gsub ('%s*(.-)%s*', '%1') or nil;  end  });  local code = args[1];  if not code then  return err_msg_make ('code: (empty)');  end   local target_lang_code, msg = __validate_target_lang_code (args[2]);  if msg then  return msg;  end   local name = mw.language.fetchLanguageName (code, target_lang_code); -- returns empty string if code not found  return '' ~= name and name or err_msg_make ('language code: ' .. code); -- return language name or error message end   --[[--------------------------< C O D E _ F R O M _ N A M E >--------------------------------------------------  local entry point  args[1]: language name args[2]: optional target language code; instruct this function to fetch language name list in 'this' language  return language-code if language-name is a mediawiki recognized name and target language code is valid; error message string else  second return value is a boolean used by is_name(); true when name is found; false else  ]]  local function _code_from_name (args)  local name = args[1];  if not name then  return err_msg_make ('name: (empty)');  end   local target_lang_code, msg = __validate_target_lang_code (args[2]);   if msg then  return msg;  end   local code_name_list = mw.language.fetchLanguageNames (target_lang_code, 'all'); -- get language code / name list in target_lang_code language indexed by language code  local name_code_list = {}; -- to hold language name / code list indexed by name   for k, v in pairs (code_name_list) do -- spin through the code / name list and  name_code_list[v:lower()] = k; -- make a name / code list  end   if name_code_list[name] then  return name_code_list[name], true; -- returns code when name is found and true for is_name()  else  return err_msg_make ('language name: ' .. name), false; -- return error message when name not found and false for is_name()  end end   --[[--------------------------< C O D E _ F R O M _ N A M E >--------------------------------------------------  module entry point  args[1]: language name args[2]: optional target language code; instruct this function to fetch language name list in 'this' language  return language-code if language-name is a mediawiki recognized name and target language code is valid; error message string else  ]]  local function code_from_name (frame)  local args = getArgs (frame, {  valueFunc = function (key, value)  return (value and '' ~= value) and value:lower():gsub ('^%s*(.-)%s*$', '%1') or nil;  end  });   local result, _ = _code_from_name (args); -- suppress true/false return used by is_name()  return result; end   --[[--------------------------< I S _ N A M E >----------------------------------------------------------------  return true if <name> is a mediawiki recognized language name; false else  args[1]: language name args[2]: optional target language code; instructs _code_from_name to fetch language name list in 'this' language  defaults to local wiki's language; when this parameter not valid, language name is assumed to be not valid  ]]  local function is_name (frame)  local args = getArgs (frame, {  valueFunc = function (key, value)  return (value and '' ~= value) and value:lower():gsub ('%s*(.-)%s*', '%1') or nil;  end  });   local _, result = _code_from_name (args); -- suppress code return used by code_from_name()  return result and true or nil; end   --[[--------------------------< E X P O R T E D F U N C T I O N S >------------------------------------------ ]]  return {  code_from_name = code_from_name,  is_code = is_code,  is_name = is_name,  name_from_code = name_from_code,   _is_code = _is_code, -- entry point from another module  } 

มอด, lang, อการใช, งานมอด, สร, าง, ณอาจจะต, องการสร, างค, อการใช, งานของมอด, ลน, เข, ยนสามารถทำการทดลองได, กระบะทราย, สร, าง, ดลอก, และช, ดทดสอบ, สร, าง, ของมอด, ลน, โปรดเพ, มหมวดหม, ไปท, หน, าย, อย, หน, าย, อยของมอด, ลน, require, module, globals, local, getar. khumuxkarichnganmxdul srang khunxaccatxngkarsrangkhumuxkarichngankhxngmxdulniphuekhiynsamarththakarthdlxngidthikrabathray srang khdlxk aelachudthdsxb srang khxngmxdulnioprdephimhmwdhmuipthihnayxy doc hnayxykhxngmxdulnirequire Module No globals local getArgs require Module Arguments getArgs lt E R R M S G M A K E gt local function err msg make msg return lt span class error style font size 100 gt error msg not recognized lt span gt end lt I S C O D E gt local or require d entry point return true if lt code gt is a mediawiki recognized code false else lt code gt language code to validate expected to be lowercase without leading trailing whitespace lt target lang code gt language code for target language expected to be valid expected to be lowercase without leading trailing whitespace specifying lt target lang code gt may be a pointless exercise because of cldr fallback For example mw language fetchLanguageName crh sq gt Crimean Turkish because the Albanian language definitions do not have an Albanian language version of the language name local function is code code target lang code code mw language fetchLanguageName code target lang code return code end lt V A L I D A T E T A R G E T L A N G C O D E gt validates target lang code as a know language code returns two values when target lang code is valid first return value holds target lang code second return value is nil when target lang code is invalid first retrun value is nil second return value has error message if target lang code argument is nil missing or empty in the invoke use local wiki s language code local function validate target lang code target lang code local msg if target lang code then not missing or empty if not is code target lang code then validate target lang code msg err msg make target language code target lang code target lang code nil unset as invalid end end if not target lang code then if nil because missing or empty or because invlaid and we set it nil target lang code mw getContentLanguage getCode use local wiki s language code end return target lang code msg target lang code is valid or nil msg is nil or has an error message end lt I S C O D E gt module entry point args 1 language code gt lt code gt args 2 optional target language code same as lt target lang code gt in language lt code gt lt target lang code gt defaults to the local wiki language return true if lt code gt is a mediawiki recognized code nil else local function is code frame local args getArgs frame valueFunc function key value return value and value and value lower gsub s s 1 or nil end local code args 1 local target lang code validate target lang code args 2 return code and is code code target lang code and true or nil end lt N A M E F R O M C O D E gt module entry point args 1 language code args 2 optional target language code same as lt target lang code gt in language lt code gt lt target lang code gt defaults to the local wiki language return language name if language code is a mediawiki recognized code error message string else returned language name not guarenteed to be in target lang code if specified because mw language lists are incomplete local function name from code frame local args getArgs frame valueFunc function key value return value and value and value lower gsub s s 1 or nil end local code args 1 if not code then return err msg make code empty end local target lang code msg validate target lang code args 2 if msg then return msg end local name mw language fetchLanguageName code target lang code returns empty string if code not found return name and name or err msg make language code code return language name or error message end lt C O D E F R O M N A M E gt local entry point args 1 language name args 2 optional target language code instruct this function to fetch language name list in this language return language code if language name is a mediawiki recognized name and target language code is valid error message string else second return value is a boolean used by is name true when name is found false else local function code from name args local name args 1 if not name then return err msg make name empty end local target lang code msg validate target lang code args 2 if msg then return msg end local code name list mw language fetchLanguageNames target lang code all get language code name list in target lang code language indexed by language code local name code list to hold language name code list indexed by name for k v in pairs code name list do spin through the code name list and name code list v lower k make a name code list end if name code list name then return name code list name true returns code when name is found and true for is name else return err msg make language name name false return error message when name not found and false for is name end end lt C O D E F R O M N A M E gt module entry point args 1 language name args 2 optional target language code instruct this function to fetch language name list in this language return language code if language name is a mediawiki recognized name and target language code is valid error message string else local function code from name frame local args getArgs frame valueFunc function key value return value and value and value lower gsub s s 1 or nil end local result code from name args suppress true false return used by is name return result end lt I S N A M E gt return true if lt name gt is a mediawiki recognized language name false else args 1 language name args 2 optional target language code instructs code from name to fetch language name list in this language defaults to local wiki s language when this parameter not valid language name is assumed to be not valid local function is name frame local args getArgs frame valueFunc function key value return value and value and value lower gsub s s 1 or nil end local result code from name args suppress code return used by code from name return result and true or nil end lt E X P O R T E D F U N C T I O N S gt return code from name code from name is code is code is name is name name from code name from code is code is code entry point from another module ekhathungcak https th wikipedia org w index php title mxdul Mw lang amp oldid 9248179, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

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