-
Notifications
You must be signed in to change notification settings - Fork 0
/
LCLang.lua
32 lines (32 loc) · 880 Bytes
/
LCLang.lua
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
LCLang = {};
LCLang.data = {};
LCLang.currentLang = 0;
LCLang.languages = {
en = 'English',
es = 'Spanish',
fr = 'French',
};
LCLang.loadLang = function(lang)
LCLang['loadLang_'..lang]();
LCLang.currentLang = lang;
if(LCU and LCU.sendMsg) then LCU.sendMsg('LostControl: '..LCLang.get(LCLang.languages[lang]),true); end;
end
LCLang.get = function(key,lang)
if(LCLang.currentLang==0) then LCLang.loadLang('en'); end
if(lang ~= nil) then
local cLang = LCLang.currentLang;
LCLang.loadLang(lang);
local ret = LCLang.data[key]~= nil and LCLang.data[key] or key;
LCLang.loadLang(cLang);
return ret;
else
return LCLang.data[key]~= nil and LCLang.data[key] or key;
end
end
LCLang.dynaGet = function(key,lang)
return function() return LCLang.get(key,lang); end;
end
local function defaultFunc(LCLang, key)
return key;
end
setmetatable(LCLang, {__index=defaultFunc});