diff --git a/LunaTranslator/LunaTranslator/gui/showword.py b/LunaTranslator/LunaTranslator/gui/showword.py index bcb351f5..ab779200 100644 --- a/LunaTranslator/LunaTranslator/gui/showword.py +++ b/LunaTranslator/LunaTranslator/gui/showword.py @@ -149,8 +149,11 @@ class AnkiWindow(QWidget): def langdu2(self): if gobject.baseobject.reader: + example_text = self.example.toPlainText() + example_text = example_text.replace("", "") + example_text = example_text.replace("", "") gobject.baseobject.reader.ttscallback( - self.example.toPlainText(), + example_text, functools.partial(self.callbacktts, self.audiopath_sentence), ) @@ -737,7 +740,7 @@ class selectviewer(QWidget): class searchwordW(closeashidewindow): - getnewsentencesignal = pyqtSignal(str, bool) + getnewsentencesignal = pyqtSignal(str, str, bool) showtabsignal = pyqtSignal(float, str, str) def __init__(self, parent): @@ -846,16 +849,19 @@ class searchwordW(closeashidewindow): res.insert(idx, {"source": k, "content": v}) return res - def getnewsentence(self, sentence, append): + def getnewsentence(self, sentence, sentence_trans, append): sentence = sentence.strip() + sentence_trans = sentence_trans.strip() self.showNormal() if append: sentence = self.searchtext.text() + sentence self.searchtext.setText(sentence) self.search(sentence) - - self.ankiwindow.example.setPlainText(gobject.baseobject.currenttext) + example_text = gobject.baseobject.currenttext + if sentence_trans in example_text: + example_text = example_text.replace(sentence_trans, f"{sentence_trans}") + self.ankiwindow.example.setPlainText(example_text) if globalconfig["ankiconnect"]["autoruntts"]: self.ankiwindow.langdu() if globalconfig["ankiconnect"]["autoruntts2"]: diff --git a/LunaTranslator/LunaTranslator/gui/translatorUI.py b/LunaTranslator/LunaTranslator/gui/translatorUI.py index 47e656ca..5d33cf3f 100644 --- a/LunaTranslator/LunaTranslator/gui/translatorUI.py +++ b/LunaTranslator/LunaTranslator/gui/translatorUI.py @@ -238,6 +238,7 @@ class QUnFrameWindow(resizableframeless): if hira: def callback(word, append): + word_in_sentence = word["orig"] if globalconfig["usewordorigin"] == False: word = word["orig"] else: @@ -252,7 +253,7 @@ class QUnFrameWindow(resizableframeless): winsharedutils.clipboard_set(word) if globalconfig["usesearchword"]: gobject.baseobject.searchwordW.getnewsentencesignal.emit( - word, append + word, word_in_sentence, append ) self.translate_text.addsearchwordmask(hira, text, callback)