File size: 1,130 Bytes
8a469fd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from scripts.physton_prompt.storage import Storage

storage = Storage()
from scripts.physton_prompt.get_i18n import get_i18n


def replace_vars(text, vars):
    for key, value in vars.items():
        text = text.replace("{" + key + "}", value)
    return text


def get_lang(key, vars={}):
    i18n = get_i18n()
    code = storage.get('languageCode')

    def find_lang(code):
        for item in i18n['languages']:
            if item['code'] == code:
                return True
        return False

    if not find_lang(code):
        code = i18n['default']

    if not find_lang(code):
        code = 'en_US'

    def find_key(key, code):
        for item in i18n['languages']:
            if item['code'] == code:
                if key in item['lang']:
                    if vars == {}:
                        return item['lang'][key]
                    else:
                        return replace_vars(item['lang'][key], vars)
        return False

    find = find_key(key, code)
    if find:
        return find

    find = find_key(key, 'en_US')
    if find:
        return find

    return replace_vars(key, vars)