Module:Conversion-zh

local l = {} local getArgs

local args l.fallbackList = { ['zh']     = {'zh', 'zh-hant', 'zh-hans', 'zh-tw', 'zh-cn', 'zh-hk', 'zh-mo', 'zh-sg', 'zh-my'} ,['zh-hans'] = {'zh-hans', 'zh-cn', 'zh-sg', 'zh-my', 'zh'} ,['zh-hant'] = {'zh-hant', 'zh-tw', 'zh-hk', 'zh-mo', 'zh'} ,['zh-cn']  = {'zh-cn', 'zh-hans', 'zh-my', 'zh-sg', 'zh'} ,['zh-sg']  = {'zh-sg', 'zh-hans', 'zh-cn', 'zh-my', 'zh'} ,['zh-my']  = {'zh-my', 'zh-hans', 'zh-cn', 'zh-sg', 'zh'} ,['zh-tw']  = {'zh-tw', 'zh-hant', 'zh-hk', 'zh-mo', 'zh'} ,['zh-hk']  = {'zh-hk', 'zh-hant', 'zh-tw', 'zh-mo', 'zh'} ,['zh-mo']  = {'zh-mo', 'zh-hant', 'zh-tw', 'zh-hk', 'zh'} }

function l._main(args, frame) local userlanguage=frame:callParserFunction{ name = 'int', args = {'lang'} } if (		(userlanguage == 'zh') or 		(userlanguage == 'zh-hans') or 		(userlanguage == 'zh-hant') or 		(userlanguage == 'zh-cn') or 		(userlanguage == 'zh-sg') or 		(userlanguage == 'zh-my') or 		(userlanguage == 'zh-tw') or 		(userlanguage == 'zh-hk') or 		(userlanguage == 'zh-mo')	) then else userlanguage = 'zh' end local fallback=l.fallbackList[userlanguage] for _,langArgName in ipairs(fallback) do		if 	args[langArgName] ~= nil then return args[langArgName] end end return '' end

function l.main(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {parentFirst=true}) return l._main(args, frame) end

return l