mirror of
https://github.com/ntop/ntopng.git
synced 2026-05-03 01:10:10 +00:00
94 lines
2.1 KiB
Lua
94 lines
2.1 KiB
Lua
--
|
|
-- A script to find unused strings in en.lua localization script
|
|
--
|
|
|
|
package.path = "../scripts/locales/?.lua"
|
|
|
|
-- ************************************************************
|
|
|
|
-- The locale file to check
|
|
local locale = "en"
|
|
|
|
-- If true, only unused strings will be printed
|
|
local quiet = true
|
|
|
|
-- This contains a list of paths to search the localized strings uses
|
|
local search_paths = {
|
|
"../scripts/lua",
|
|
"../pro/scripts/lua",
|
|
}
|
|
|
|
-- This contains a list of key prefixes to ignore
|
|
local prefix_ignore = {
|
|
"alert_messages.",
|
|
"show_alerts.host_delete_config_confirm",
|
|
"show_alerts.network_delete_config_confirm",
|
|
"show_alerts.iface_delete_config_confirm",
|
|
"policy_presets.",
|
|
}
|
|
|
|
-- ************************************************************
|
|
|
|
local locale_strings = require(locale)
|
|
|
|
local function execCmd(command)
|
|
local handle = io.popen(command)
|
|
local result = handle:read("*a")
|
|
handle:close()
|
|
return result
|
|
end
|
|
|
|
-- Checks for unused strings
|
|
local function check_unused(key, value)
|
|
local paths = table.concat(search_paths, " ")
|
|
local found = false
|
|
|
|
for _, ignore in pairs(prefix_ignore) do
|
|
if string.sub(key, 1, string.len(ignore)) == ignore then
|
|
return
|
|
end
|
|
end
|
|
|
|
for _, quotes in ipairs({"\\\"", "'"}) do
|
|
local cmd = "find " .. paths .. " -name \"*.lua\" -type f -exec grep -m 1 -F \"i18n(" .. quotes .. key .. quotes .. "\" {} \\;"
|
|
|
|
local res = execCmd(cmd)
|
|
if res ~= "" and res ~= nil then
|
|
found = true
|
|
break
|
|
end
|
|
end
|
|
|
|
if not quiet or not found then
|
|
print(key)
|
|
end
|
|
|
|
if not found and not quiet then
|
|
print("\tNot Found!")
|
|
end
|
|
end
|
|
|
|
local function expand_keys(prefix, key_vals)
|
|
for k, v in pairs(key_vals) do
|
|
local value_type = type(v)
|
|
-- push
|
|
prefix[#prefix + 1] = k
|
|
|
|
if value_type == "string" then
|
|
local key = table.concat(prefix, ".")
|
|
|
|
check_unused(key, v)
|
|
elseif value_type == "table" then
|
|
-- recursion
|
|
expand_keys(prefix, v)
|
|
else
|
|
print("Error: unknown type '" .. value_type .. "'")
|
|
os.exit(1)
|
|
end
|
|
|
|
-- pop
|
|
prefix[#prefix] = nil
|
|
end
|
|
end
|
|
|
|
expand_keys({}, locale_strings[locale])
|