Difference between revisions of "Module:Language/name/data"

From annadreambrush.com/wiki
Jump to navigation Jump to search
imported>Lfdder
imported>Lfdder
Line 22: Line 22:
 
   
 
   
 
return {
 
return {
     lang  = __unmeta  (mw.loadData("Module:Language/data/languages")),
+
     lang  = __unmeta  (require("Module:Language/data/languages")),
     script = __coalesce(mw.loadData("Module:Language/data/iso 15924")),
+
     script = __coalesce(require("Module:Language/data/iso 15924")),
     region = __coalesce(mw.loadData("Module:Language/data/iso 3166-1"), mw.loadData("Module:Language/data/un m.49"))
+
     region = __coalesce(require("Module:Language/data/iso 3166-1"), require("Module:Language/data/un m.49"))
 
}
 
}

Revision as of 02:47, 15 April 2014

Documentation for this module may be created at Module:Language/name/data/doc

local function __coalesce(...)
    local coalesced = {}
    for k, v in ipairs(arg) do
        for x, y in pairs(v) do
            coalesced[x:lower()] = y
        end
    end
 
    return coalesced
end

local function __unmeta(metatable)
  local unmetaed = {}
  for k, v in pairs(metatable) do
    for x, y in pairs(v) do
      unmetaed[k:lower() .. "_" .. x] = y
    end
  end

  return unmetaed
end
 
return {
    lang   = __unmeta  (require("Module:Language/data/languages")),
    script = __coalesce(require("Module:Language/data/iso 15924")),
    region = __coalesce(require("Module:Language/data/iso 3166-1"), require("Module:Language/data/un m.49"))
}