| 55 | |
| 56 | |
| 57 | class TranslationCaching: |
| 58 | def __init__(self): |
| 59 | self.cache = [] |
| 60 | |
| 61 | def add_translation(self, lang, key, value): |
| 62 | for lang_obj in self.cache: |
| 63 | if lang_obj["language"] == lang: |
| 64 | lang_obj["entry"][key] = value |
| 65 | return |
| 66 | self.cache.append({ |
| 67 | "language": lang, |
| 68 | "entry": {key: value} |
| 69 | }) |
| 70 | |
| 71 | def check_translation(self, lang, key): |
| 72 | for lang_obj in self.cache: |
| 73 | if lang_obj["language"] == lang: |
| 74 | return key in lang_obj["entry"] |
| 75 | return False |
| 76 | |
| 77 | def get_translation(self, lang, key): |
| 78 | for lang_obj in self.cache: |
| 79 | if lang_obj["language"] == lang: |
| 80 | return lang_obj["entry"].get(key, key) |
| 81 | return key |
| 82 | |
| 83 | |
| 84 | # 将编码后的中文字符替换成可阅读的中文字符 |