Lv100版本源码上传

This commit is contained in:
西瓜°
2024-11-04 14:45:20 +08:00
parent a98bdaf4e0
commit a6dbccdead
3431 changed files with 139917 additions and 75 deletions
+44
View File
@@ -0,0 +1,44 @@
from ctypes import sizeof
from operator import le
import os
import json
class Language():
def __init__(self):
self.dicts = {}
self.dicts[""] = ""
pass
def load_json(self, path):
if os.path.exists(path):
with open(path, encoding='utf-8') as fp:
self.dicts.update(json.load(fp))
fp.close()
def __getitem__(self, key):
return self.dicts.get(key, key)
## key: 原始文本 使用{word}的格式 可以格式化为对应的值
## **kwargs: 键值对可变参数 在{word} 之前 将#key转换为对应的value
def trans(self, text, **kwargs):
if isinstance(text, list):
return list(map(lambda i: self.trans(i, **kwargs), text))
text = str(text)
value = text
if self.dicts.__contains__(text):
value = self.dicts.get(text)
if value == '':
value = text
else:
for kw in kwargs.keys():
_old = "${}".format(kw)
_new = str(kwargs.get(kw))
text = text.replace(_old, _new)
try:
value = text.format_map(self)
except Exception:
# 后续待完善
return value
value = value.replace("$", "{}")
return value