mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
72 lines
1.9 KiB
Python
72 lines
1.9 KiB
Python
import json
|
||
import os
|
||
|
||
FILE_PATH = os.path.dirname(__file__)
|
||
|
||
QIU_QIU_WORD = {}
|
||
QIU_QIU_PHRASE = {}
|
||
|
||
with open(os.path.join(FILE_PATH, 'qiu_qiu_dictionary.json'), 'r', encoding='UTF-8') as f:
|
||
data = json.load(f)
|
||
QIU_QIU_WORD = data["word"]
|
||
QIU_QIU_PHRASE = data["phrase"]
|
||
|
||
|
||
def compare_words(word):
|
||
# 比对word库是否有匹配的单词,有的话返回翻译,没有返回原词
|
||
if word in QIU_QIU_WORD:
|
||
return QIU_QIU_WORD[word]
|
||
|
||
return word
|
||
|
||
|
||
def compare_phrase(phrase):
|
||
# 比对phrase库是否有匹配的单词,有的话返回翻译,没有的话匹配word库,都没有返回原词
|
||
if phrase in QIU_QIU_PHRASE:
|
||
return QIU_QIU_PHRASE[phrase]
|
||
if phrase in QIU_QIU_WORD:
|
||
return QIU_QIU_WORD[phrase]
|
||
|
||
return phrase
|
||
|
||
|
||
def qiu_qiu_word_translation(txt: str):
|
||
# 对语句按空格分隔替换单词翻译
|
||
txt_list = txt.split(" ")
|
||
mes = "你查询的的丘丘语意思为:\n"
|
||
|
||
for word in txt_list:
|
||
tra_word = compare_words(word)
|
||
|
||
if tra_word == word:
|
||
# 如果是原词表示没有翻译,前后加空格接回语句里
|
||
if not mes[-1] == " ":
|
||
mes += " "
|
||
mes += tra_word
|
||
mes += " "
|
||
else:
|
||
mes += tra_word
|
||
mes += "\n"
|
||
return mes
|
||
|
||
|
||
def qiu_qiu_phrase_translation(phrase):
|
||
# 语句翻译,先看phrase库是不是有匹配的语句
|
||
# 没有的话把单词拆开返回单词的意思
|
||
tra_phrase = compare_phrase(phrase)
|
||
if tra_phrase != phrase:
|
||
return f"\n翻译丘丘语意思为:\n【{tra_phrase}】\n"
|
||
|
||
txt_list = phrase.split(" ")
|
||
mes = "没有查到这句丘丘语,以下是单词的翻译\n"
|
||
for word in txt_list:
|
||
if word == " ":
|
||
continue
|
||
tra_word = compare_phrase(word)
|
||
if tra_word == word:
|
||
mes += f"{word} : 没有这个词的翻译\n"
|
||
else:
|
||
mes += f"{word} : {tra_word}\n"
|
||
|
||
return mes
|