Jump to content
Toggle menu
  • 8 articles
  • 75 files
  • 7 users
  • 37.8K edits
Neodyland Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:Conversion-zh: Difference between revisions

From Neodyland Wiki
https://meta.wikimedia.org/w/index.php?title=Module:Conversion-zh&oldid=19400964
 
No edit summary
Line 1: Line 1:
local l={}
local this = {}
local getArgs


local args
this.fallbackList = {
l.fallbackList={
['zh']={'zh','zh-hant','zh-tw','zh-hk','zh-mo','zh-hans','zh-cn','zh-sg','zh-my'},
['zh']={'zh','zh-hans','zh-cn','zh-sg','zh-my','zh-hant','zh-tw','zh-hk','zh-mo'}
['zh-hans']={'zh-hans','zh-cn','zh-sg','zh-my','zh'},
,['zh-hans']={'zh-hans','zh-cn','zh-sg','zh-my','zh'}
['zh-cn']={'zh-cn','zh-hans','zh-my','zh-sg','zh'},
,['zh-hant']={'zh-hant','zh-tw','zh-hk','zh-mo','zh'}
['zh-sg']={'zh-sg','zh-hans','zh-cn','zh-my','zh'},
,['zh-cn']={'zh-cn','zh-hans','zh-my','zh-sg','zh'}
['zh-my']={'zh-my','zh-hans','zh-cn','zh-sg','zh'},
,['zh-sg']={'zh-sg','zh-hans','zh-cn','zh-my','zh'}
['zh-hant']={'zh-hant','zh-tw','zh-hk','zh-mo','zh'},
,['zh-my']={'zh-my','zh-hans','zh-cn','zh-sg','zh'}
['zh-tw']={'zh-tw','zh-hant','zh-hk','zh-mo','zh'},
,['zh-tw']={'zh-tw','zh-hant','zh-hk','zh-mo','zh'}
['zh-hk']={'zh-hk','zh-hant','zh-tw','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'}
,['zh-mo']={'zh-mo','zh-hant','zh-tw','zh-hk','zh'}
}
}


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


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


return l
return this

Revision as of 00:06, 29 February 2020

Module documentation[ create · purge ]
This documentation is transcluded from Module:Conversion-zh/doc.
local this = {}

this.fallbackList = {
	 ['zh']={'zh','zh-hant','zh-tw','zh-hk','zh-mo','zh-hans','zh-cn','zh-sg','zh-my'},
	 ['zh-hans']={'zh-hans','zh-cn','zh-sg','zh-my','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-hant']={'zh-hant','zh-tw','zh-hk','zh-mo','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 this._main(args)
	local frame = mw.getCurrentFrame()
	local userlanguage = frame:callParserFunction{ name = 'int', args = {'lang'} }
	local fallback = this.fallbackList[userlanguage]
	if (not fallback) then
		fallback = this.fallbackList['zh']
	end
	for _,langArgName in ipairs(fallback)  do
		if args[langArgName] ~= nil then
			return args[langArgName]
		end
	end
	return ''
end

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

return this
Cookies help us deliver our services. By using our services, you agree to our use of cookies.