Difference between revisions of "Module:Language/name/data"
Jump to navigation
Jump to search
imported>Lfdder |
imported>Lfdder |
||
| Line 3: | Line 3: | ||
for r, t in ipairs(arg) do | for r, t in ipairs(arg) do | ||
for k, v in pairs(t) do | for k, v in pairs(t) do | ||
| − | coalesced[k:lower()] | + | for x, y in pairs(v) do |
| + | table.insert(coalesced[k:lower()], y) | ||
| + | end | ||
end | end | ||
end | end | ||
return coalesced | return coalesced | ||
| + | end | ||
| + | |||
| + | local function __strip(t) | ||
| + | local stripped = {} | ||
| + | for k, v in pairs(t) do | ||
| + | stripped[k] = {v[0]} | ||
| + | end | ||
| + | |||
| + | return stripped | ||
end | end | ||
local __iso_639_3 = require("Module:Language/data/iso 639-3") | local __iso_639_3 = require("Module:Language/data/iso 639-3") | ||
local __iana_languages = require("Module:Language/data/iana languages") | local __iana_languages = require("Module:Language/data/iana languages") | ||
| − | local __wp_languages = require("Module:Language/data/wp languages") | + | local __wp_languages = __strip(require("Module:Language/data/wp languages")) |
local iana_scripts = __coalesce(require("Module:Language/data/iana scripts")) | local iana_scripts = __coalesce(require("Module:Language/data/iana scripts")) | ||
local iana_regions = __coalesce(require("Module:Language/data/iana regions")) | local iana_regions = __coalesce(require("Module:Language/data/iana regions")) | ||
| Line 18: | Line 29: | ||
return { | return { | ||
iana = { | iana = { | ||
| − | lang = __coalesce(__iso_639_3 | + | lang = __coalesce(__iana_languages, __iso_639_3), |
script = iana_scripts, | script = iana_scripts, | ||
region = iana_regions | region = iana_regions | ||
}, | }, | ||
wikipedia = { | wikipedia = { | ||
| − | lang = __coalesce( | + | lang = __coalesce(__wp_languages, __iana_languages, __iso_639_3), |
script = iana_scripts, | script = iana_scripts, | ||
region = iana_regions | region = iana_regions | ||
} | } | ||
} | } | ||
Revision as of 15:28, 15 April 2014
Documentation for this module may be created at Module:Language/name/data/doc
local function __coalesce(...)
local coalesced = {}
for r, t in ipairs(arg) do
for k, v in pairs(t) do
for x, y in pairs(v) do
table.insert(coalesced[k:lower()], y)
end
end
end
return coalesced
end
local function __strip(t)
local stripped = {}
for k, v in pairs(t) do
stripped[k] = {v[0]}
end
return stripped
end
local __iso_639_3 = require("Module:Language/data/iso 639-3")
local __iana_languages = require("Module:Language/data/iana languages")
local __wp_languages = __strip(require("Module:Language/data/wp languages"))
local iana_scripts = __coalesce(require("Module:Language/data/iana scripts"))
local iana_regions = __coalesce(require("Module:Language/data/iana regions"))
return {
iana = {
lang = __coalesce(__iana_languages, __iso_639_3),
script = iana_scripts,
region = iana_regions
},
wikipedia = {
lang = __coalesce(__wp_languages, __iana_languages, __iso_639_3),
script = iana_scripts,
region = iana_regions
}
}