You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.0 KiB
64 lines
2.0 KiB
-- imports
|
|
local WIM = WIM;
|
|
local _G = _G;
|
|
local setmetatable = setmetatable;
|
|
local pairs = pairs;
|
|
local type = type;
|
|
local tostring = tostring;
|
|
local table = table;
|
|
local setglobal = setglobal;
|
|
|
|
-- set WIM Namespace
|
|
setfenv(1, WIM);
|
|
|
|
local UnlocalizedStrings = {};
|
|
L = {};
|
|
|
|
-- we never want nil, so if string is undecalred, return the requested key
|
|
setmetatable(L, {
|
|
__index = function(t, k)
|
|
--dPrint("String not localized: '"..tostring(k).."'"); -- for debugging purposes only.
|
|
table.insert(UnlocalizedStrings, tostring(k));
|
|
return tostring(k);
|
|
end
|
|
});
|
|
|
|
local function initKeyBindingStrings()
|
|
setglobal("BINDING_HEADER_WIM", L["WIM (WoW Instant Messenger)"]);
|
|
setglobal("BINDING_NAME_WIMSHOWALL", L["Show All Windows"]);
|
|
setglobal("BINDING_NAME_WIMHIDEALL", L["Hide All Windows"]);
|
|
setglobal("BINDING_NAME_WIMUNREAD", L["Show Unread Messages"]);
|
|
setglobal("BINDING_NAME_WIMVISIBLE", L["Expose"]);
|
|
setglobal("BINDING_NAME_WIMHISTORY", L["History Viewer"]);
|
|
setglobal("BINDING_NAME_WIMOPTIONS", L["Options"]);
|
|
end
|
|
|
|
function getLocale()
|
|
local locale = _G.GetLocale();
|
|
local isGB = _G.GetCVar("locale") == "enGB";
|
|
return isGB and "enGB" or locale;
|
|
end
|
|
|
|
function AddLocale(Locale, lTable)
|
|
if(getLocale() == Locale or Locale == "enUS") then
|
|
for k, v in pairs(lTable) do
|
|
v = (type(v) ~= "boolean") and v or k;
|
|
L[k] = v;
|
|
lTable[k] = nil; -- clean up the garbage now.
|
|
end
|
|
initKeyBindingStrings();
|
|
else
|
|
-- other locale isn't used, clear tables out don't waste the memory.
|
|
for k, v in pairs(lTable) do
|
|
lTable[k] = nil;
|
|
end
|
|
end
|
|
end
|
|
|
|
-- a debugging function
|
|
function ShowUnlocalizedStrings()
|
|
for i = 1, #UnlocalizedStrings do
|
|
_G.DEFAULT_CHAT_FRAME:AddMessage(i..". '"..UnlocalizedStrings[i].."'");
|
|
end
|
|
_G.DEFAULT_CHAT_FRAME:AddMessage("Total strings not localized: "..#UnlocalizedStrings);
|
|
end
|
|
|