foundryvtt-swade-fr/tools/detect_missing_strings.lua

40 lines
816 B
Lua

package.path = package.path .. ";luajson/?.lua"
local JSON = require"json"
local enjsonf = "../../swade/src/lang/en.yml"
local frjsonf = "../fr.json"
local fp = io.open(enjsonf, "r")
local line = fp:read()
local entags = {}
while line do
--print("LINE", line)
local key, value = line:match("([%w%.]*):([>%-%+%p%s%w%d%.]*)" )
if key then
entags[key] = value
end
line = fp:read()
end
fp:close()
fp = io.open(frjsonf, "r")
local frtags = JSON.decode( fp:read("*a") )
fp:close()
local todisplay = {}
for tag, value in pairs(entags) do
if not frtags[tag] then
todisplay[#todisplay+1] = { tag=tag, value=value }
end
end
table.sort(todisplay, function (a, b)
return a.tag < b.tag
end
)
for _, tagDef in pairs(todisplay) do
print('"'.. tagDef.tag ..'":"'.. tagDef.value..'",')
end