modules/admin-mini, modules/admin-full: fix language selection, broke with lua->lmo...
[project/luci.git] / modules / admin-full / luasrc / model / cbi / admin_index / luci.lua
index 3fdccbf..dc9eb1e 100644 (file)
@@ -12,16 +12,27 @@ You may obtain a copy of the License at
 $Id$
 ]]--
 require("luci.config")
-m = Map("luci", translate("webui"), translate("a_i_luci1", 
+m = Map("luci", translate("webui"), translate("a_i_luci1",
  "Hier können Eigenschaften und die Funktionalität der Oberfläche angepasst werden."))
 
+local fs = require "nixio.fs"
+
+-- force reload of global luci config namespace to reflect the changes
+function m.commit_handler(self)
+       package.loaded["luci.config"] = nil
+       require("luci.config")
+end
+
+
 c = m:section(NamedSection, "main", "core", translate("general"))
 
 l = c:option(ListValue, "lang", translate("language"))
+l:value("auto")
 
 local i18ndir = luci.i18n.i18ndir .. "default."
-for k, v in pairs(luci.config.languages) do
-       if k:sub(1, 1) ~= "." and luci.fs.isfile(i18ndir .. k .. ".lua") then
+for k, v in luci.util.kspairs(luci.config.languages) do
+       local file = i18ndir .. k:gsub("_", "-")
+       if k:sub(1, 1) ~= "." and fs.access(file .. ".lmo") then
                l:value(k, v)
        end
 end
@@ -41,4 +52,4 @@ f = m:section(NamedSection, "flash_keep", "extern", translate("a_i_keepflash"),
  translate("a_i_keepflash1"))
 f.dynamic = true
 
-return m
\ No newline at end of file
+return m