comp-tg/src/parts/locale.moon

31 lines
502 B
Plaintext

Locale =
__newindex: -> -- ro
list: {
'en'
'ru'
}
main: 'en'
get: (cat, k, lang) =>
assert cat, 'Give category'
assert k, 'Give key'
lang or= @main
v = (@[lang] or {})[cat]
if not v
@[@main][cat][k] or {}
else v[k] or {}
Locale.__index = Locale
(C) ->
json = require 'etc.json'
for i = 1, #Locale.list
n = Locale.list[i]
f = io.open "src/locales/#{n}.json"
Locale[n] = json.decode f\read 'a'
C.locale = setmetatable {}, Locale