-- Copyright 2008 Steven Barth <steven@midlink.org>
-- Licensed to the public under the Apache License 2.0.
-module("luci.i18n", package.seeall)
-require("luci.util")
+local tparser = require "luci.template.parser"
+local util = require "luci.util"
+local tostring = tostring
-local tparser = require "luci.template.parser"
+module "luci.i18n"
-table = {}
-i18ndir = luci.util.libpath() .. "/i18n/"
-loaded = {}
-context = luci.util.threadlocal()
+i18ndir = util.libpath() .. "/i18n/"
+context = util.threadlocal()
default = "en"
-function clear()
-end
-
-function load(file, lang, force)
-end
-
--- Alternatively load the translation of the fallback language.
-function loadc(file, force)
-end
function setlanguage(lang)
local code, subcode = lang:match("^([A-Za-z][A-Za-z])[%-_]([A-Za-z][A-Za-z])$")
return tostring(translate(key)):format(...)
end
--- and ensure that the returned value is a Lua string value.
--- This is the same as calling <code>tostring(translate(...))</code>
-function string(key)
- return tostring(translate(key))
-end
-
--- Ensure that the returned value is a Lua string value.
--- This is the same as calling <code>tostring(translatef(...))</code>
-function stringf(key, ...)
- return tostring(translate(key)):format(...)
-end
-
function dump()
local rv = {}
tparser.get_translations(function(k, v) rv[k] = v end)
]]
module "luci.i18n"
----[[
-Clear the translation table.
-
-@class function
-@name clear
-]]
-
----[[
-Load a translation and copy its data into the translation table.
-
-@class function
-@name load
-@param file Language file
-@param lang Two-letter language code
-@param force Force reload even if already loaded (optional)
-@return Success status
-]]
-
----[[
-Load a translation file using the default translation language.
-
-Alternatively load the translation of the fallback language.
-
-@class function
-@name loadc
-@param file Language file
-@param force Force reload even if already loaded (optional)
-]]
-
---[[
Set the context default translation language.
@return Translated and formatted string
]]
----[[
-Return the translated value for a specific translation key
-and ensure that the returned value is a Lua string value.
-
-This is the same as calling <code>tostring(translate(...))</code>
-
-@class function
-@name string
-@param key Default translation text
-@return Translated string
-]]
-
----[[
-Return the translated value for a specific translation key and use it as sprintf pattern.
-
-Ensure that the returned value is a Lua string value.
-
-This is the same as calling <code>tostring(translatef(...))</code>
-
-@class function
-@name stringf
-@param key Default translation text
-@param ... Format parameters
-@return Translated and formatted string
-]]
-
---[[
Return all currently loaded translation strings as a key-value table. The key is the
hexadecimal representation of the translation key while the value is the translated