modules/admin-{mini,full}: sort by keys in language selection
[project/luci.git] / modules / admin-mini / luasrc / model / cbi / mini / luci.lua
1 --[[
2 LuCI - Lua Configuration Interface
3
4 Copyright 2008 Steven Barth <steven@midlink.org>
5 Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
6
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11         http://www.apache.org/licenses/LICENSE-2.0
12
13 $Id$
14 ]]--
15 require("luci.config")
16 m = Map("luci", translate("webui"), translate("a_i_luci1"))
17
18 -- force reload of global luci config namespace to reflect the changes
19 function m.commit_handler(self)
20         package.loaded["luci.config"] = nil
21         require("luci.config")
22 end
23
24
25 c = m:section(NamedSection, "main", "core", translate("general"))
26
27 l = c:option(ListValue, "lang", translate("language"))
28 l:value("auto")
29
30 local i18ndir = luci.i18n.i18ndir .. "default."
31 for k, v in luci.util.kspairs(luci.config.languages) do
32         local file = i18ndir .. k:gsub("_", "-")
33         if k:sub(1, 1) ~= "." and (
34                 luci.fs.access(file .. ".lua") or
35                 luci.fs.access(file .. ".lua.gz")
36         ) then
37                 l:value(k, v)
38         end
39 end
40
41 t = c:option(ListValue, "mediaurlbase", translate("design"))
42 for k, v in pairs(luci.config.themes) do
43         if k:sub(1, 1) ~= "." then
44                 t:value(v, k)
45         end
46 end
47
48 return m