Modul:ISO 639
Documentația acestui modul poate fi creată la Modul:ISO 639/doc
require('strict')
local p = {}
local getArgs = require('Modul:Arguments').getArgs
local warn = require('Modul:Warning')
local languageNameOverrides = mw.loadData('Modul:ISO 639/overrides')
--[=[
Obține numele unei limbi, în română, pentru un anumit cod ISO 639 (-1, -2 sau -3)
Returnează nil dacă limba dată nu este în tabelele de căutare.
]=]
function p.language_name(code, failValue)
-- Only continue if we get passed a non-empty string for the code param
if code == nil or code == '' then
warn('Nu a fost oferit niciun cod ISO pentru [[Modul:ISO 639]]')
return failValue
elseif type(code) ~= 'string' then
warn('Codul ISO \"' .. tostring(code) .. '\" nu este un șir de caractere (string)')
return failValue
end
-- If we have a local override, apply it
local language = languageNameOverrides[code]
-- Otherwise, ask MediaWiki for the language name in Romanian for this code
if language == nil or language == '' then
language = mw.language.fetchLanguageName(code, 'ro')
end
-- If we got no name from MediaWiki and have no override for this code,
-- load the big honkin' local lookup table and check there.
if language == nil or language == '' then
local localLanguageNames = mw.loadData('Modul:ISO 639/local')
language = localLanguageNames[code]
end
-- If we found a non-empty lang name we return it.
if language ~= nil and language ~= '' then
return language
end
-- otherwise we return the failure value
warn('Codul ISO \"' .. code .. '\" nu este recunoscut de [[Modul:ISO 639]]')
return failValue
end
--[=[
Implementează [[Format:Nume ISO 639]]
]=]
function p.ISO_639_name(frame)
local args = getArgs(frame)
return p.language_name(args[1] or args.code, '[[Categorie:' .. 'Erori ale formatului Nume ISO 639' .. ']]')
end
return p