mirror of
https://github.com/ntop/ntopng.git
synced 2026-04-28 15:09:33 +00:00
68 lines
1.9 KiB
Lua
68 lines
1.9 KiB
Lua
--
|
|
-- (C) 2013-24 - ntop.org
|
|
--
|
|
local dirs = ntop.getDirs()
|
|
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
|
package.path = dirs.installdir .. "/scripts/locales/?.lua;" .. package.path
|
|
|
|
require "lua_utils"
|
|
local json = require "dkjson"
|
|
|
|
-- ################################
|
|
|
|
local info = ntop.getInfo(false)
|
|
local lines = {'Cache-Control: public, max-age=3600', 'Last-Modified: ' .. os.date("!%a, %m %B %Y %X %Z"),
|
|
'Server: ntopng ' .. info["version"] .. ' [' .. info["platform"] .. ']', 'Content-Type: text/javascript'}
|
|
|
|
print("HTTP/1.1 200 OK\r\n" .. table.concat(lines, "\r\n") .. "\r\n\r\n")
|
|
|
|
-- ################################
|
|
|
|
local language = _GET["user_language"] or "en"
|
|
|
|
local main_language_path = require(language)
|
|
|
|
local function map_strings(main_language_path, alt_language_path)
|
|
-- Add missing strings using defaults (English)
|
|
for k, v in pairs(alt_language_path) do
|
|
if (main_language_path[k] == nil) then
|
|
main_language_path[k] = alt_language_path[k]
|
|
end
|
|
if type(main_language_path[k]) == "table" then
|
|
main_language_path[k] = map_strings(main_language_path[k], alt_language_path[k])
|
|
end
|
|
end
|
|
return main_language_path
|
|
end
|
|
|
|
if (language ~= "en") then
|
|
local alt_language_path = require("en")
|
|
-- Add missing strings using defaults (English)
|
|
map_strings(main_language_path, alt_language_path)
|
|
end
|
|
local info = ntop.getInfo(true)
|
|
main_language_path["ntopng_release_info"] = getNtopngRelease(info)
|
|
print [[ const ntop_locale = ]]
|
|
print(json.encode(main_language_path))
|
|
|
|
print [[;
|
|
|
|
function i18n(key) {
|
|
var fields = key.split('.');
|
|
var val = null;
|
|
|
|
for(var i = 0; i < fields.length; i++) {
|
|
if(i == 0) {
|
|
val = ntop_locale[ fields[0] ];
|
|
} else {
|
|
val = val[ fields[i] ];
|
|
}
|
|
|
|
if(val == null) {
|
|
return(null);
|
|
}
|
|
} /* for */
|
|
|
|
return(val);
|
|
}
|
|
]]
|