Módulo:Mwlanguage
Aspeto
Este módulo não apresenta nenhuma documentação. Por favor, documente-o caso o saiba usar ou tenha conhecimentos para tal. |
-- Wrapper for mw.language Lua functions
-- https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Language_library
--
-- Not implemented
-- mw.language.new( code )
local mwlanguage = {}
function table.ipairs(t)
ret = {}
for key, value in ipairs(t) do
ret[key] = value
end
return ret
end
function boolean( str )
-- Interpret string as boolean
-- * Returns False if nil, "false" or "0"; returns True otherwise
return not (str == nil or str == "false" or str == "0")
end
function mwlanguage.fetchLanguageName(frame)
-- mw.language.fetchLanguageName( code, inLanguage )
code = frame.args["code"] or frame.args[1]
inLanguage = frame.args["inLanguage"] or frame.args[2]
return mw.language.fetchLanguageName( code, inLanguage )
end
function mwlanguage.fetchLanguageNames(frame)
-- mw.language.fetchLanguageNames( inLanguage, include [, reverse, separator, sort] )
inLanguage = frame.args["inLanguage"] or frame.args[1]
include = frame.args["include"] or frame.args[2]
reverse = boolean(frame.args["reverse"] or frame.args[3])
separator = frame.args["separator"] or frame.args[4] or '|'
sort = boolean(frame.args["sort"] or frame.args[5])
ret = {}
for key, value in pairs( mw.language.fetchLanguageNames( inLanguage, include ) ) do
if reverse then
str = value .. '=' .. key
else
str = key .. '=' .. value
end
table.insert( ret, str )
end
if sort then
table.sort( ret )
end
return table.concat( ret, separator )
end
function mwlanguage.getContentLanguage(frame)
-- mw.language.getContentLanguage():getCode()
return mwlanguage.getCode(frame)
end
function mwlanguage.getFallbacksFor(frame)
-- mw.language.getFallbacksFor( code )
code = frame.args["code"] or frame.args[1]
return mw.language.getFallbacksFor( code )
end
function mwlanguage.isKnownLanguageTag(frame)
-- mw.language.isKnownLanguageTag( code )
code = frame.args["code"] or frame.args[1]
return tostring( mw.language.isKnownLanguageTag( code ) )
end
function mwlanguage.isSupportedLanguage(frame)
-- mw.language.isSupportedLanguage( code )
code = frame.args["code"] or frame.args[1]
return tostring( mw.language.isSupportedLanguage( code ) )
end
function mwlanguage.isValidBuiltInCode(frame)
-- mw.language.isValidBuiltInCode( code )
code = frame.args["code"] or frame.args[1]
return tostring( mw.language.isValidBuiltInCode( code ) )
end
function mwlanguage.isValidCode(frame)
-- mw.language.isValidCode( code )
code = frame.args["code"] or frame.args[1]
return tostring( mw.language.isValidCode( code ) )
end
function mwlanguage.getCode(frame)
-- mw.language:getCode
lang = mw.language.getContentLanguage()
return lang:getCode()
end
function mwlanguage.getFallbackLanguages(frame)
-- mw.language:getFallbackLanguages
lang = mw.language.getContentLanguage()
return table.concat( lang:getFallbackLanguages(), '|' )
end
function mwlanguage.isRTL(frame)
-- mw.language:isRTL
lang = mw.language.getContentLanguage()
return tostring( lang:isRTL() )
end
function mwlanguage.lc(frame)
-- mw.language:lc( s )
lang = mw.language.getContentLanguage()
s = frame.args["s"] or frame.args[1]
return lang:lc( s )
end
function mwlanguage.lcfirst(frame)
-- mw.language:lcfirst( s )
lang = mw.language.getContentLanguage()
s = frame.args["s"] or frame.args[1]
return lang:lcfirst( s )
end
function mwlanguage.uc(frame)
-- mw.language:uc( s )
lang = mw.language.getContentLanguage()
s = frame.args["s"] or frame.args[1]
return lang:uc( s )
end
function mwlanguage.ucfirst(frame)
-- mw.language:ucfirst( s )
lang = mw.language.getContentLanguage()
s = frame.args["s"] or frame.args[1]
return lang:ucfirst( s )
end
function mwlanguage.caseFold(frame)
-- mw.language:caseFold( s )
lang = mw.language.getContentLanguage()
s = frame.args["s"] or frame.args[1]
return lang:caseFold( s )
end
function mwlanguage.formatNum(frame)
-- mw.language:formatNum( n )
lang = mw.language.getContentLanguage()
n = frame.args["n"] or frame.args[1]
return lang:formatNum( n )
end
function mwlanguage.formatDate(frame)
-- mw.language:formatDate
lang = mw.language.getContentLanguage()
format_ = frame.args["format"] or frame.args[1]
timestamp = frame.args["timestamp"] or frame.args[2]
local_ = boolean(frame.args["local"] or frame.args[3])
return lang:formatDate( format_, timestamp, local_ )
end
function mwlanguage.formatDuration(frame)
-- mw.language:formatDuration( seconds, ... )
lang = mw.language.getContentLanguage()
seconds = frame.args["seconds"]
allowedIntervals = table.ipairs( frame.args )
return lang:formatDuration( seconds, allowedIntervals )
end
function mwlanguage.parseFormattedNumber(frame)
-- mw.language:parseFormattedNumber( s )
lang = mw.language.getContentLanguage()
s = frame.args["s"] or frame.args[1]
return lang:parseFormattedNumber( s )
end
function mwlanguage.convertPlural(frame)
-- mw.language:convertPlural( n, ... )
lang = mw.language.getContentLanguage()
n = frame.args["n"]
forms = table.ipairs( frame.args )
return lang:convertPlural( n, forms )
end
function mwlanguage.plural(frame)
-- mw.language:plural( n, ... )
return mwlanguage.convertPlural( frame )
end
function mwlanguage.convertGrammar(frame)
-- mw.language:convertGrammar( word, case )
lang = mw.language.getContentLanguage()
word = frame.args["word"] or frame.args[1]
case = frame.args["case"] or frame.args[2]
return lang:convertGrammar( word, case )
end
function mwlanguage.grammar(frame)
-- mw.language:grammar( case, word )
lang = mw.language.getContentLanguage()
case = frame.args["case"] or frame.args[1]
word = frame.args["word"] or frame.args[2]
return lang:grammar( case, word )
end
function mwlanguage.gender(frame)
-- mw.language:gender( what, masculine, feminine, neutral )
lang = mw.language.getContentLanguage()
what = frame.args["what"] or frame.args[1]
masculine = frame.args["masculine"] or frame.args[2]
feminine = frame.args["feminine"] or frame.args[3]
neutral = frame.args["neutral"] or frame.args[4]
return lang:gender( what, masculine, feminine, neutral )
end
function mwlanguage.getArrow(frame)
-- mw.language:getArrow( direction )
lang = mw.language.getContentLanguage()
direction = frame.args["direction"] or frame.args[1]
return lang:getArrow( direction )
end
function mwlanguage.getDir(frame)
-- mw.language:getDir()
lang = mw.language.getContentLanguage()
return lang:getDir()
end
function mwlanguage.getDirMark(frame)
-- mw.language:getDirMark( opposite )
lang = mw.language.getContentLanguage()
opposite = frame.args["opposite"] or frame.args[1]
return lang:getDirMark( opposite )
end
function mwlanguage.getDirMarkEntity(frame)
-- mw.language:getDirMarkEntity( opposite )
lang = mw.language.getContentLanguage()
opposite = frame.args["opposite"] or frame.args[1]
return lang:getDirMarkEntity( opposite )
end
function mwlanguage.getDurationIntervals(frame)
-- mw.language:getDurationIntervals( seconds, allowedIntervals )
lang = mw.language.getContentLanguage()
seconds = frame.args["seconds"]
allowedIntervals = table.ipairs( frame.args )
return table.concat( lang:getDurationIntervals( seconds, allowedIntervals ), '|' )
end
return mwlanguage