projects
/
project
/
luci.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d415e9a
)
Automatic language detection
author
Steven Barth
<steven@midlink.org>
Wed, 14 Jan 2009 23:47:56 +0000
(23:47 +0000)
committer
Steven Barth
<steven@midlink.org>
Wed, 14 Jan 2009 23:47:56 +0000
(23:47 +0000)
libs/web/luasrc/dispatcher.lua
patch
|
blob
|
history
libs/web/root/etc/config/luci
patch
|
blob
|
history
modules/admin-full/luasrc/model/cbi/admin_index/luci.lua
patch
|
blob
|
history
modules/admin-mini/luasrc/model/cbi/mini/luci.lua
patch
|
blob
|
history
diff --git
a/libs/web/luasrc/dispatcher.lua
b/libs/web/luasrc/dispatcher.lua
index
5f450eb
..
c0d8b98
100644
(file)
--- a/
libs/web/luasrc/dispatcher.lua
+++ b/
libs/web/luasrc/dispatcher.lua
@@
-130,7
+130,18
@@
function dispatch(request)
ctx.path = request
ctx.urltoken = ctx.urltoken or {}
ctx.path = request
ctx.urltoken = ctx.urltoken or {}
- require "luci.i18n".setlanguage(require "luci.config".main.lang)
+ local conf = require "luci.config"
+ local lang = conf.main.lang
+ if lang == "auto" then
+ local aclang = http.getenv("HTTP_ACCEPT_LANGUAGE") or ""
+ for lpat in aclang:gmatch("[%w]+") do
+ if conf.languages[lpat] then
+ lang = lpat
+ break
+ end
+ end
+ end
+ require "luci.i18n".setlanguage(lang)
local c = ctx.tree
local stat
local c = ctx.tree
local stat
diff --git
a/libs/web/root/etc/config/luci
b/libs/web/root/etc/config/luci
index
0178f6c
..
207b962
100644
(file)
--- a/
libs/web/root/etc/config/luci
+++ b/
libs/web/root/etc/config/luci
@@
-1,5
+1,5
@@
config core main
config core main
- option lang
en
+ option lang
auto
option mediaurlbase /luci-static/openwrt.org
option resourcebase /luci-static/resources
option mediaurlbase /luci-static/openwrt.org
option resourcebase /luci-static/resources
diff --git
a/modules/admin-full/luasrc/model/cbi/admin_index/luci.lua
b/modules/admin-full/luasrc/model/cbi/admin_index/luci.lua
index
9a0282f
..
20d50cc
100644
(file)
--- a/
modules/admin-full/luasrc/model/cbi/admin_index/luci.lua
+++ b/
modules/admin-full/luasrc/model/cbi/admin_index/luci.lua
@@
-25,6
+25,7
@@
end
c = m:section(NamedSection, "main", "core", translate("general"))
l = c:option(ListValue, "lang", translate("language"))
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
local i18ndir = luci.i18n.i18ndir .. "default."
for k, v in pairs(luci.config.languages) do
diff --git
a/modules/admin-mini/luasrc/model/cbi/mini/luci.lua
b/modules/admin-mini/luasrc/model/cbi/mini/luci.lua
index
819a9b6
..
9eea871
100644
(file)
--- a/
modules/admin-mini/luasrc/model/cbi/mini/luci.lua
+++ b/
modules/admin-mini/luasrc/model/cbi/mini/luci.lua
@@
-25,6
+25,7
@@
end
c = m:section(NamedSection, "main", "core", translate("general"))
l = c:option(ListValue, "lang", translate("language"))
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
local i18ndir = luci.i18n.i18ndir .. "default."
for k, v in pairs(luci.config.languages) do