EVOLUTION-MANAGER
Edit File: locale.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); } ]]