Module:Lang: Difference between revisionsGive feedback
Gammaton32 (talk | contribs) changed bindings to look up binding key in Data:Lang |
Gammaton32 (talk | contribs) added replacement and binding list in case of mismatched keys |
||
| Line 160: | Line 160: | ||
end | end | ||
end) | end) | ||
-- List for keybinds with mismatched names. Replace with the correct name under "citadel_keybind_[key]" in Data:Lang | |||
KEYBINDS = { | |||
MoveForward = "forward", | |||
AltCast = "alt_cast", | |||
} | |||
-- Process citadel_binding/citadel_keybind tags to replace with keybind strings/templates | -- Process citadel_binding/citadel_keybind tags to replace with keybind strings/templates | ||
text = text:gsub("{g:citadel_binding:'(.-)'}", function(key) | text = text:gsub("{g:citadel_binding:'(.-)'}", function(key) | ||
local replacement = KEYBINDS[key] | |||
-- convert key to lowercase | -- convert key to lowercase | ||
local lower_key = key:lower() | local lower_key = key:lower() | ||
-- look up key with Module:Lang | -- look up key with Module:Lang. check if it has a replacement key first | ||
local translated = frame:preprocess('{{#invoke:Lang|get_string|citadel_keybind_'.. | local translated | ||
if replacement ~= nil then | |||
translated = frame:preprocess('{{#invoke:Lang|get_string|citadel_keybind_'.. replacement ..'}}') | |||
return "'''" .. translated .. "'''" | |||
else | else | ||
translated = frame:preprocess('{{#invoke:Lang|get_string|citadel_keybind_'.. lower_key ..'}}') | |||
if translated ~= nil and translated ~= '' then | |||
return "'''" .. translated .. "'''" | |||
else | |||
return '<span style="color:red;font-weight:bold;border-bottom:1px dotted red;" title="Missing keybind - Add \''..key..'\' to local replacements in [Module:Lang]">['..key..']</span>' | |||
end | |||
end | |||
end) | end) | ||