56 lines
1.3 KiB
Lua
56 lines
1.3 KiB
Lua
-- 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"
|
|
|
|
table = {}
|
|
i18ndir = luci.util.libpath() .. "/i18n/"
|
|
loaded = {}
|
|
context = luci.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)
|
|
context.lang = lang:gsub("_", "-")
|
|
context.parent = (context.lang:match("^([a-z][a-z])_"))
|
|
if not tparser.load_catalog(context.lang, i18ndir) then
|
|
if context.parent then
|
|
tparser.load_catalog(context.parent, i18ndir)
|
|
return context.parent
|
|
end
|
|
end
|
|
return context.lang
|
|
end
|
|
|
|
function translate(key)
|
|
return tparser.translate(key) or key
|
|
end
|
|
|
|
function translatef(key, ...)
|
|
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
|