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.
20 lines
519 B
20 lines
519 B
|
2 years ago
|
local _, addon = ...
|
||
|
|
|
||
|
|
-- localization
|
||
|
|
local localizations = {}
|
||
|
|
local locale = GetLocale()
|
||
|
|
|
||
|
|
-- usage:
|
||
|
|
-- set: addon.L('deDE')['New string'] = 'Neue Saite'
|
||
|
|
-- get: addon.L['New string']
|
||
|
|
addon.L = setmetatable({}, {
|
||
|
|
__index = function(_, key)
|
||
|
|
local localeTable = localizations[locale]
|
||
|
|
return localeTable and localeTable[key] or tostring(key)
|
||
|
|
end,
|
||
|
|
__call = function(_, newLocale)
|
||
|
|
localizations[newLocale] = localizations[newLocale] or {}
|
||
|
|
return localizations[newLocale]
|
||
|
|
end,
|
||
|
|
})
|