31 lines
502 B
Plaintext
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
|