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 } }