Module:Mw lang: Difference between revisions
Appearance
Content deleted Content added
create; |
No edit summary |
||
Line 1: | Line 1: | ||
require('Module:No globals'); |
|||
--[[--------------------------< 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: language ' .. msg .. 'not recognized</span>' |
|||
end |
|||
--[[--------------------------< C O D E _ T O _ N A M E >------------------------------------------------------ |
--[[--------------------------< C O D E _ T O _ N A M E >------------------------------------------------------ |
||
Line 8: | Line 19: | ||
local function code_to_name (frame) |
local function code_to_name (frame) |
||
local |
local name = mw.language.fetchLanguageName (frame.args[1]:lower(), mw.getContentLanguage():getCode()); |
||
return '' ~= |
return '' ~= name and name or err_msg_make ('code: ' .. frame.args[1]); |
||
end |
end |
||
Line 30: | Line 41: | ||
end |
end |
||
return name_list[name |
return name_list[name] or err_msg_make ('name: ' .. frame.args[1]) |
||
end |
end |
||
Revision as of 15:09, 9 March 2020
![]() | This Lua module is used on approximately 91,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
![]() | This module depends on the following other modules: |
Implements {{Mw lang}}
require('Module:No globals');
--[[--------------------------< 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: language ' .. msg .. 'not recognized</span>'
end
--[[--------------------------< C O D E _ T O _ N A M E >------------------------------------------------------
module entry point
return language-name if language-code is a mediawiki recognized code; error message string else
]]
local function code_to_name (frame)
local name = mw.language.fetchLanguageName (frame.args[1]:lower(), mw.getContentLanguage():getCode());
return '' ~= name and name or err_msg_make ('code: ' .. frame.args[1]);
end
--[[--------------------------< N A M E _ T O _ C O D E >------------------------------------------------------
module entry point
return language-code if language-name is a mediawiki recognized name; error message string else
]]
local function name_to_code (frame)
local name = frame.args[1]:lower();
local source_list = mw.language.fetchLanguageNames(mw.getContentLanguage():getCode(), 'all');
local name_list = {}
for k, v in pairs (source_list) do
name_list[v:lower()] = k;
end
return name_list[name] or err_msg_make ('name: ' .. frame.args[1])
end
--[[--------------------------< I S _ L A N G _ C O D E >------------------------------------------------------
module entry point
return true if code is a mediawiki recognized code; empty string else
]]
local function is_lang_code (frame)
local code = mw.language.fetchLanguageName (frame.args[1]:lower(), mw.getContentLanguage():getCode());
return '' ~= code and true or '';
end
--[[--------------------------< E X P O R T E D F U N C T I O N S >------------------------------------------
]]
return {
code_to_name = code_to_name,
is_lang_code = is_lang_code,
name_to_code = name_to_code,
}