summaryrefslogtreecommitdiffhomepage
path: root/libs/web/luasrc/i18n.lua
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2008-05-31 13:57:30 +0000
committerSteven Barth <steven@midlink.org>2008-05-31 13:57:30 +0000
commit8f7f03a0c56190b02a8922f01f2c36c62d1dbfe7 (patch)
tree92946baadddf89af1ea738211e67356c0e9cbb71 /libs/web/luasrc/i18n.lua
parent218ff77599d776dcf47e5522292406ba26130915 (diff)
* Core translation part 2
Diffstat (limited to 'libs/web/luasrc/i18n.lua')
-rw-r--r--libs/web/luasrc/i18n.lua20
1 files changed, 13 insertions, 7 deletions
diff --git a/libs/web/luasrc/i18n.lua b/libs/web/luasrc/i18n.lua
index 3a8a9a6c7..7ace708e9 100644
--- a/libs/web/luasrc/i18n.lua
+++ b/libs/web/luasrc/i18n.lua
@@ -29,6 +29,7 @@ require("luci.sys")
table = {}
i18ndir = luci.sys.libpath() .. "/i18n/"
+loaded = {}
-- Clears the translation table
function clear()
@@ -36,14 +37,19 @@ function clear()
end
-- Loads a translation and copies its data into the global translation table
-function load(file)
- local f = loadfile(i18ndir .. file)
- if f then
- setfenv(f, table)
- f()
- return true
+function load(file, force)
+ if force or not loaded[file] then
+ local f = loadfile(i18ndir .. file)
+ if f then
+ setfenv(f, table)
+ f()
+ loaded[file] = true
+ return true
+ else
+ return false
+ end
else
- return false
+ return true
end
end