forked from WeakAuras/WeakAuras2
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbabelfish.lua
More file actions
88 lines (81 loc) · 2.81 KB
/
babelfish.lua
File metadata and controls
88 lines (81 loc) · 2.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#!/usr/bin/lua
-- Prefix to all files if this script is run from a subdir, for example
local filePrefix = ""
-- find . -name "*.lua" | grep -v Localization-
local fileList = {
WeakAuras = {
"WeakAuras/BuffTrigger.lua",
"WeakAuras/GenericTrigger.lua",
"WeakAuras/Init.lua",
"WeakAuras/Prototypes.lua",
"WeakAuras/RegionTypes/aurabar.lua",
"WeakAuras/RegionTypes/dynamicgroup.lua",
"WeakAuras/RegionTypes/group.lua",
"WeakAuras/RegionTypes/icon.lua",
"WeakAuras/RegionTypes/model.lua",
"WeakAuras/RegionTypes/progresstexture.lua",
"WeakAuras/RegionTypes/text.lua",
"WeakAuras/RegionTypes/texture.lua",
"WeakAuras/Transmission.lua",
"WeakAuras/Types.lua",
"WeakAuras/WeakAuras.lua",
},
WeakAuras_Options = {
"WeakAurasOptions/RegionOptions/aurabar.lua",
"WeakAurasOptions/RegionOptions/dynamicgroup.lua",
"WeakAurasOptions/RegionOptions/group.lua",
"WeakAurasOptions/RegionOptions/icon.lua",
"WeakAurasOptions/RegionOptions/model.lua",
"WeakAurasOptions/RegionOptions/progresstexture.lua",
"WeakAurasOptions/RegionOptions/text.lua",
"WeakAurasOptions/RegionOptions/texture.lua",
"WeakAurasOptions/WeakAurasOptions.lua",
"WeakAurasOptions/AceGUI-Widgets/AceGUIWidget-WeakAurasDisplayButton.lua",
"WeakAurasOptions/AceGUI-Widgets/AceGUIWidget-WeakAurasIconButton.lua",
"WeakAurasOptions/AceGUI-Widgets/AceGUIWidget-WeakAurasImportButton.lua",
"WeakAurasOptions/AceGUI-Widgets/AceGUIWidget-WeakAurasLoadedHeaderButton.lua",
"WeakAurasOptions/AceGUI-Widgets/AceGUIWidget-WeakAurasNewButton.lua",
"WeakAurasOptions/AceGUI-Widgets/AceGUIWidget-WeakAurasNewHeaderButton.lua",
"WeakAurasOptions/AceGUI-Widgets/AceGUIWidget-WeakAurasSortedDropDown.lua",
"WeakAurasOptions/AceGUI-Widgets/AceGUIWidget-WeakAurasTextureButton.lua",
},
WeakAuras_Templates = {
"WeakAurasTemplates/TriggerTemplates.lua",
"WeakAurasTemplates/TriggerTemplatesData.lua",
},
}
local ordered = {
"WeakAuras",
"WeakAuras_Options",
"WeakAuras_Templates",
}
local function parseFile(filename)
local strings = {}
local file = assert(io.open(string.format("%s%s", filePrefix or "", filename), "r"), "Could not open " .. filename)
local text = file:read("*all")
file:close()
for match in string.gmatch(text, "L%[\"(.-)\"%]") do
strings[match] = true
end
return strings
end
-- extract data from specified lua files
for _, namespace in ipairs(ordered) do
print(namespace)
local ns_file = assert(io.open(namespace .. ".lua", "w"), "Error opening file")
for _, file in ipairs(fileList[namespace]) do
local strings = parseFile(file)
local sorted = {}
for k in next, strings do
table.insert(sorted, k)
end
table.sort(sorted)
if #sorted > 0 then
for _, v in ipairs(sorted) do
ns_file:write(string.format("L[\"%s\"] = true\n", v))
end
end
print(" (" .. #sorted .. ") " .. file)
end
ns_file:close()
end