From d57b0fa50480b63146e1e72e6211082a6e70269b Mon Sep 17 00:00:00 2001 From: test123456654321 <16307130148@fudan.edu.cn> Date: Sat, 26 Oct 2024 00:12:31 +0800 Subject: [PATCH] repeat --- docs/en/hooksettings.md | 14 +++++--------- docs/ru/hooksettings.md | 14 +++++--------- docs/zh/hooksettings.md | 14 +++++--------- src/LunaTranslator/gui/dialog_savedgame_setting.py | 9 --------- src/LunaTranslator/gui/setting_textinput.py | 4 ---- src/LunaTranslator/textsource/texthook.py | 2 +- src/files/defaultconfig/config.json | 1 - src/files/lang/ar.json | 1 - src/files/lang/cht.json | 1 - src/files/lang/cs.json | 1 - src/files/lang/de.json | 1 - src/files/lang/en.json | 1 - src/files/lang/es.json | 1 - src/files/lang/fr.json | 1 - src/files/lang/it.json | 1 - src/files/lang/ja.json | 1 - src/files/lang/ko.json | 1 - src/files/lang/nl.json | 1 - src/files/lang/pl.json | 1 - src/files/lang/pt.json | 1 - src/files/lang/ru.json | 1 - src/files/lang/sv.json | 1 - src/files/lang/th.json | 1 - src/files/lang/tr.json | 1 - src/files/lang/uk.json | 1 - src/files/lang/vi.json | 1 - src/files/lang/zh.json | 1 - 27 files changed, 16 insertions(+), 62 deletions(-) diff --git a/docs/en/hooksettings.md b/docs/en/hooksettings.md index 58c5ae635fe..ca88766f358 100644 --- a/docs/en/hooksettings.md +++ b/docs/en/hooksettings.md @@ -8,11 +8,7 @@ This setting generally does not need to be modified. It is only necessary when some old engines (e.g., Yuris) may have GBK/BIG5/UTF8 in their official Chinese versions. If you cannot find the correct text, please send an [issue](https://lunatranslator.org/Resource/game_support) directly to me; modifying this setting is usually futile. -**3. Filter Repeatedly Refreshing Sentences** - -A simple text filter implemented internally by the HOOK engine. This filter can slightly improve performance in cases of crazy repeated text refreshing, but it is generally not recommended because the rules are too simplistic and may sometimes disrupt genuine repetition patterns. - -**4. Refresh Delay** +**2. Refresh Delay** ?> Relatively speaking, this is the most practical option. @@ -28,21 +24,21 @@ For **1 and 2**, because the game text is displayed too slowly, and the refresh For **3**, you can **appropriately reduce the refresh delay** while paying attention not to cause situations **1 and 2**. -**5. Maximum Buffer Length** +**3. Maximum Buffer Length** Sometimes, text will refresh repeatedly without stopping. If the refresh delay is high and cannot be reduced, it will continue to receive text until the buffer is filled or the text stops refreshing to meet the refresh delay (usually when the game loses focus, so it generally waits until the buffer is filled). To solve this problem, you can appropriately reduce the buffer length, but be careful not to make the buffer length too short to be less than the actual text length. -**6. Maximum Cached Text Length** +**4. Maximum Cached Text Length** Received historical text is cached. When viewing the content of a text item in the text selection window, the historical cached text is queried. If there are too many text items or the text refreshes repeatedly, it will cause too much cached text, making it more sluggish to view text (sometimes even when not viewing). In fact, most of the cached text here is useless; useful historical text can be viewed in historical translations. You can arbitrarily lower this value (default is 1000000, but it can be lowered to 1000). -**7. Filter Lines Containing Garbled Text** +**5. Filter Lines Containing Garbled Text** The garbled text filtering in text processing only filters out garbled characters, while this filter, upon receiving text, will discard the entire line of text if any garbled characters are detected. When the game refreshes a large number of sentences containing garbled text, you can appropriately use this option to filter out invalid sentences and improve performance. -**8. Use YAPI Injection** +**6. Use YAPI Injection** This option can sometimes slightly improve comfort, but it may have compatibility issues, so it is not recommended. diff --git a/docs/ru/hooksettings.md b/docs/ru/hooksettings.md index 883ec112209..e2ec5198b78 100644 --- a/docs/ru/hooksettings.md +++ b/docs/ru/hooksettings.md @@ -8,11 +8,7 @@ Эта настройка обычно не требует изменения. Она необходима только для некоторых старых движков (например, Yuris), официальные китайские версии которых могут иметь GBK/BIG5/UTF8. Если вы не можете найти правильный текст, отправьте [issue](https://lunatranslator.org/Resource/game_support) напрямую мне; изменение этой настройки обычно бесполезно. -**3. Фильтрация повторяющихся предложений** - -Простой фильтр текста, реализованный внутри движка HOOK. Этот фильтр может немного повысить производительность в случаях безумного повторения текста, но обычно не рекомендуется использовать его, так как правила слишком просты и иногда могут разрушить истинные повторяющиеся шаблоны. - -**4. Задержка обновления** +**2. Задержка обновления** ?> Относительно, это самый практичный вариант. @@ -28,21 +24,21 @@ Для **3**, вы можете **уменьшить задержку обновления**, одновременно обращая внимание на то, чтобы не возникали ситуации **1 и 2**. -**5. Максимальная длина буфера** +**3. Максимальная длина буфера** Иногда текст будет повторяться без остановки. В этом случае, если задержка обновления высокая и не может быть уменьшена, это приведет к постоянному получению текста до тех пор, пока текст не заполнит буфер или не перестанет обновляться, чтобы удовлетворить задержку обновления (обычно игра теряет фокус, чтобы остановить обновление, поэтому обычно ждут, пока буфер не заполнится). Чтобы решить эту проблему, можно соответствующим образом уменьшить длину буфера, но обратите внимание, чтобы длина буфера не была слишком низкой, чтобы быть меньше фактической длины текста. -**6. Максимальная длина кэшированного текста** +**4. Максимальная длина кэшированного текста** Полученный исторический текст будет кэшироваться, и когда вы просматриваете содержимое какого-либо текста в окне выбора текста, будет запрашиваться исторический кэшированный текст. Если есть слишком много элементов текста или текст повторяется, это приведет к слишком большому кэшированному тексту, что сделает просмотр текста более медленным (иногда даже без просмотра). На самом деле большая часть кэшированного текста здесь бесполезна; полезный исторический текст можно просмотреть в исторических переводах, и это значение можно свободно уменьшить (по умолчанию 1000000, но на самом деле достаточно 1000). -**7. Фильтрация строк, содержащих глифы** +**5. Фильтрация строк, содержащих глифы** Фильтрация глифов в обработке текста будет фильтровать только глифы, а эта фильтрация, при получении текста, если обнаруживается, что строка текста содержит какие-либо глифы, будет полностью отброшена. Когда игра обновляет большое количество предложений, содержащих глифы, можно соответствующим образом использовать этот параметр, чтобы отфильтровать недействительные предложения и повысить производительность. -**8. Использование YAPI для инъекции** +**6. Использование YAPI для инъекции** Этот параметр иногда может немного повысить комфорт, но может быть проблемы с совместимостью, поэтому не рекомендуется использовать. diff --git a/docs/zh/hooksettings.md b/docs/zh/hooksettings.md index 043abadc27f..87a00c80778 100644 --- a/docs/zh/hooksettings.md +++ b/docs/zh/hooksettings.md @@ -8,12 +8,8 @@ 这一设置一般没有修改的必要,当且仅当部分古老引擎(例如Yuris)的官方中文版可能会有GBK/BIG5/UTF8。如果找不到正确的文本,直接向我发[issue](https://lunatranslator.org/Resource/game_support),修改这个设置通常是徒劳的。 -**3. 过滤反复刷新的句子** -HOOK引擎内部实现的一个简易文本过滤器。这个过滤器在文本疯狂反复刷新的情况下可以稍微提高性能,但一般也是不推荐使用的,因为其中的规则太过于简陋了,有时可能会导致破坏真正的重复模式。 - - -**4. 刷新延迟** +**2. 刷新延迟** ?> 相对来说,这个算是最实用的选项了 @@ -30,7 +26,7 @@ HOOK引擎内部实现的一个简易文本过滤器。这个过滤器在文本 对于**3**,你可以**适当的降低刷新延迟**,降低值的同时注意不要出现**1、2**的情况。 -**5. 最大缓冲区长度** +**3. 最大缓冲区长度** 有时,文本会反复的不停刷新,这时,如果刷新延迟较高且不能降低,会导致一直接收文本直到文本填满缓冲区、或不再刷新以满足刷新延迟(通常是游戏失去焦点时才停止刷新,因此一般是等到填满缓冲区)。 @@ -38,17 +34,17 @@ HOOK引擎内部实现的一个简易文本过滤器。这个过滤器在文本 -**6. 最大缓存文本长度** +**4. 最大缓存文本长度** 接收到的历史文本会被缓存下来,当在文本选择窗口中,查看某条文本的内容时,会查询历史缓存文本。如果文本条目过多,或因文本反复刷新,会导致缓存的文本过多,查看文本时会变得较为卡顿(有时甚至不查看时也会卡顿)。实际上这里缓存的大部分都是无用文本,有用的历史文本可以在历史翻译里面查看,可以将这个数值随意调低(默认是1000000,但其实调到1000就行)。 -**7. 过滤包含乱码的文本行** +**5. 过滤包含乱码的文本行** 文本处理中的过滤乱码只会过滤掉其中的乱码字符,而这个过滤会在接收到文本时,如果检查到文本行中包含任意乱码字符,会将整行文本直接整个舍弃。当游戏刷新大量包含乱码的句子时,可以适当使用这个选项,来筛选掉无效句子,提高性能。 -**8. 使用YAPI注入** +**6. 使用YAPI注入** 这个选项有时可以稍微提高一下舒适度,但可能有兼容性问题,因此不推荐使用。 diff --git a/src/LunaTranslator/gui/dialog_savedgame_setting.py b/src/LunaTranslator/gui/dialog_savedgame_setting.py index 4a22b285c15..a7b184f548f 100644 --- a/src/LunaTranslator/gui/dialog_savedgame_setting.py +++ b/src/LunaTranslator/gui/dialog_savedgame_setting.py @@ -1004,7 +1004,6 @@ def gethooktab(self, formLayout: LFormLayout, gameuid): for k in [ "codepage_index", - "direct_filterrepeat", "textthreaddelay", "maxBufferSize", "maxHistorySize", @@ -1059,14 +1058,6 @@ def gethooktab(self, formLayout: LFormLayout, gameuid): callback=lambda x: gobject.baseobject.textsource.setsettings(), ), ) - formLayout2.addRow( - "过滤反复刷新的句子", - getsimpleswitch( - savehook_new_data[gameuid]["hooksetting_private"], - "direct_filterrepeat", - callback=lambda x: gobject.baseobject.textsource.setsettings(), - ), - ) formLayout2.addRow( "过滤包含乱码的文本行", getsimpleswitch( diff --git a/src/LunaTranslator/gui/setting_textinput.py b/src/LunaTranslator/gui/setting_textinput.py index b138335aec4..0f7ae7e0e1f 100644 --- a/src/LunaTranslator/gui/setting_textinput.py +++ b/src/LunaTranslator/gui/setting_textinput.py @@ -133,10 +133,6 @@ def gethookgrid(self): 2, ), ], - [ - "过滤反复刷新的句子", - D_getsimpleswitch(globalconfig, "direct_filterrepeat"), - ], [ "过滤包含乱码的文本行", D_getsimpleswitch(globalconfig, "filter_chaos_code"), diff --git a/src/LunaTranslator/textsource/texthook.py b/src/LunaTranslator/textsource/texthook.py index 988f5dacc06..da43e411fb5 100644 --- a/src/LunaTranslator/textsource/texthook.py +++ b/src/LunaTranslator/textsource/texthook.py @@ -531,7 +531,7 @@ def onnewhook(self, hc, hn, tp, isembedable): def setsettings(self): self.Luna_Settings( self.config["textthreaddelay"], - self.config["direct_filterrepeat"], + False, # 不使用内置去重 self.codepage(), self.config["maxBufferSize"], self.config["maxHistorySize"], diff --git a/src/files/defaultconfig/config.json b/src/files/defaultconfig/config.json index ece96c093cb..1db65f433ea 100644 --- a/src/files/defaultconfig/config.json +++ b/src/files/defaultconfig/config.json @@ -293,7 +293,6 @@ ] ], "hooklossless": true, - "direct_filterrepeat": false, "textoutputer": { "clipboard": { "use": false diff --git a/src/files/lang/ar.json b/src/files/lang/ar.json index 6a65dd0d57e..39613ac82d2 100644 --- a/src/files/lang/ar.json +++ b/src/files/lang/ar.json @@ -428,7 +428,6 @@ "接口": "واجهة .", "sqlite翻译记录": "SQLite سجل الترجمة", "json翻译文件": "جسون ترجمة الملف", - "过滤反复刷新的句子": "تصفية الجمل التي يتم تحديثها مرارا وتكرارا", "选择图标": "اختيار الرموز", "图标2": "أيقونات", "刷新": "منعش", diff --git a/src/files/lang/cht.json b/src/files/lang/cht.json index 54915e440dc..e8426a2c097 100644 --- a/src/files/lang/cht.json +++ b/src/files/lang/cht.json @@ -428,7 +428,6 @@ "接口": "介面", "sqlite翻译记录": "SQLite 翻譯紀錄", "json翻译文件": "JSON 翻譯檔案", - "过滤反复刷新的句子": "過濾反覆重新整理的句子", "选择图标": "選擇圖示", "图标2": "圖示 2", "刷新": "重新整理", diff --git a/src/files/lang/cs.json b/src/files/lang/cs.json index 35326d43d42..e550817737f 100644 --- a/src/files/lang/cs.json +++ b/src/files/lang/cs.json @@ -368,7 +368,6 @@ "百度": "Baidu.", "不绘制光标": "Nekreslit kurzor", "搜索结果数上限": "Maximální počet výsledků hledání", - "过滤反复刷新的句子": "Filtrovat opakovaně aktualizované věty", "当前版本": "aktuální verze", "搜索持续时间(s)": "Doba vyhledávání (s)", "添加行": "přidat řádky", diff --git a/src/files/lang/de.json b/src/files/lang/de.json index 5a978a73f13..9978269566d 100644 --- a/src/files/lang/de.json +++ b/src/files/lang/de.json @@ -368,7 +368,6 @@ "百度": "Baidu", "不绘制光标": "Cursor nicht zeichnen", "搜索结果数上限": "Maximale Anzahl der Suchergebnisse", - "过滤反复刷新的句子": "Wiederholt aktualisierte Sätze filtern", "当前版本": "aktuelle Version", "搜索持续时间(s)": "Suchdauer (s)", "添加行": "Zeilen hinzufügen", diff --git a/src/files/lang/en.json b/src/files/lang/en.json index 6e322a0265e..7e67531cecf 100644 --- a/src/files/lang/en.json +++ b/src/files/lang/en.json @@ -428,7 +428,6 @@ "接口": "Interface", "sqlite翻译记录": "SQLite Translation Records", "json翻译文件": "JSON Translation Reords", - "过滤反复刷新的句子": "Filter Repeatedly Refreshed Sentences", "选择图标": "Select Icon", "图标2": "Icon 2", "刷新": "Refresh", diff --git a/src/files/lang/es.json b/src/files/lang/es.json index 694c302cdf7..25eb401c9ce 100644 --- a/src/files/lang/es.json +++ b/src/files/lang/es.json @@ -428,7 +428,6 @@ "接口": "Interfaz", "sqlite翻译记录": "Registro de traducción de squlite", "json翻译文件": "Documento de traducción json", - "过滤反复刷新的句子": "Filtrar oraciones actualizadas repetidamente", "选择图标": "Seleccionar icono", "图标2": "Icono 2", "刷新": "Refrescar", diff --git a/src/files/lang/fr.json b/src/files/lang/fr.json index 9ef4e77cd36..90f213b3f03 100644 --- a/src/files/lang/fr.json +++ b/src/files/lang/fr.json @@ -428,7 +428,6 @@ "接口": "Interface", "sqlite翻译记录": "Sqlite enregistrement de traduction", "json翻译文件": "Json traduire le fichier", - "过滤反复刷新的句子": "Filtrer phrases rafraîchies à plusieurs reprises", "选择图标": "Sélectionner une icône", "图标2": "Icône 2", "刷新": "Rafraîchir", diff --git a/src/files/lang/it.json b/src/files/lang/it.json index f964c7f069b..7b7ed84f227 100644 --- a/src/files/lang/it.json +++ b/src/files/lang/it.json @@ -428,7 +428,6 @@ "接口": "interfaccia", "sqlite翻译记录": "Record di traduzione Sqlite", "json翻译文件": "File di traduzione JSON", - "过滤反复刷新的句子": "Filtra frasi aggiornate ripetutamente", "选择图标": "Seleziona icona", "图标2": "Icona 2", "刷新": "Aggiorna", diff --git a/src/files/lang/ja.json b/src/files/lang/ja.json index 862256967fa..f928ed47eef 100644 --- a/src/files/lang/ja.json +++ b/src/files/lang/ja.json @@ -428,7 +428,6 @@ "接口": "インタフェース", "sqlite翻译记录": "sqlite翻訳履歴", "json翻译文件": "json翻訳ファイル", - "过滤反复刷新的句子": "繰り返し更新された文をフィルタリングする", "选择图标": "アイコンを選択", "图标2": "アイコン2", "刷新": "リフレッシュ", diff --git a/src/files/lang/ko.json b/src/files/lang/ko.json index 97db72aab77..07e23e465a1 100644 --- a/src/files/lang/ko.json +++ b/src/files/lang/ko.json @@ -428,7 +428,6 @@ "接口": "인터페이스", "sqlite翻译记录": "sqlite 번역 기록", "json翻译文件": "json 번역 파일", - "过滤反复刷新的句子": "반복적으로 새로 고친 문장 필터링", "选择图标": "아이콘 선택", "图标2": "아이콘 2", "刷新": "새로 고침", diff --git a/src/files/lang/nl.json b/src/files/lang/nl.json index c00d55d97a8..ff433270b20 100644 --- a/src/files/lang/nl.json +++ b/src/files/lang/nl.json @@ -368,7 +368,6 @@ "百度": "Baidu", "不绘制光标": "Cursor niet tekenen", "搜索结果数上限": "Maximaal aantal zoekresultaten", - "过滤反复刷新的句子": "Herhaaldelijk vernieuwde zinnen filteren", "当前版本": "huidige versie", "搜索持续时间(s)": "Zoekduur (s)", "添加行": "rijen toevoegen", diff --git a/src/files/lang/pl.json b/src/files/lang/pl.json index 9087bd653f0..98ef8b76859 100644 --- a/src/files/lang/pl.json +++ b/src/files/lang/pl.json @@ -428,7 +428,6 @@ "接口": "interfejs", "sqlite翻译记录": "Zapisy tłumaczeń Sqlite", "json翻译文件": "Plik tłumaczenia JSON", - "过滤反复刷新的句子": "Filtruj wielokrotnie odświeżane zdania", "选择图标": "Wybierz ikonę", "图标2": "Ikona 2", "刷新": "Odśwież", diff --git a/src/files/lang/pt.json b/src/files/lang/pt.json index c65d319ccc2..b6a13032f3c 100644 --- a/src/files/lang/pt.json +++ b/src/files/lang/pt.json @@ -368,7 +368,6 @@ "百度": "Baidu", "不绘制光标": "Não desenhar o cursor", "搜索结果数上限": "Número máximo de resultados da pesquisa", - "过滤反复刷新的句子": "Filtrar frases repetidamente actualizadas", "当前版本": "versão actual", "搜索持续时间(s)": "Duração (s) da pesquisa", "添加行": "adicionar linhas", diff --git a/src/files/lang/ru.json b/src/files/lang/ru.json index 32f032a1448..1c746c028a1 100644 --- a/src/files/lang/ru.json +++ b/src/files/lang/ru.json @@ -428,7 +428,6 @@ "接口": "Интерфейс", "sqlite翻译记录": "SQlite Перевод записей", "json翻译文件": "JSON Перевод документов", - "过滤反复刷新的句子": "Фильтровать повторяющиеся предложения", "选择图标": "Выберите значок", "图标2": "Значок 2", "刷新": "Обновить", diff --git a/src/files/lang/sv.json b/src/files/lang/sv.json index ee2652026bc..fe398af007a 100644 --- a/src/files/lang/sv.json +++ b/src/files/lang/sv.json @@ -368,7 +368,6 @@ "百度": "Baiduworld. kgm", "不绘制光标": "Rita inte markör", "搜索结果数上限": "Maximalt antal sökresultat", - "过滤反复刷新的句子": "Filtrera upprepade uppdaterade meningar", "当前版本": "nuvarande version", "搜索持续时间(s)": "Söktid (s)", "添加行": "lägg till rader", diff --git a/src/files/lang/th.json b/src/files/lang/th.json index 603de7e9dd6..27b3af293c7 100644 --- a/src/files/lang/th.json +++ b/src/files/lang/th.json @@ -367,7 +367,6 @@ "百度": "ไป่ตู้", "不绘制光标": "ไม่มีการวาดเคอร์เซอร์", "搜索结果数上限": "จำนวนผลการค้นหา Cap", - "过滤反复刷新的句子": "กรองประโยคที่รีเฟรชซ้ำ ๆ", "当前版本": "รุ่นปัจจุบัน", "搜索持续时间(s)": "ระยะเวลาการค้นหา", "添加行": "เพิ่มบรรทัด", diff --git a/src/files/lang/tr.json b/src/files/lang/tr.json index da1aa0b7073..0fcae716544 100644 --- a/src/files/lang/tr.json +++ b/src/files/lang/tr.json @@ -428,7 +428,6 @@ "接口": "arayüz", "sqlite翻译记录": "Sqlite çevirim kayıtları", "json翻译文件": "JSON çevirim dosyası", - "过滤反复刷新的句子": "Süzgücü tekrar yenilenmiş cümleler", "选择图标": "İşaretçiyi seç", "图标2": "İşaretçi 2", "刷新": "Tazele", diff --git a/src/files/lang/uk.json b/src/files/lang/uk.json index a3f13f0b927..7787f9caa9b 100644 --- a/src/files/lang/uk.json +++ b/src/files/lang/uk.json @@ -428,7 +428,6 @@ "接口": "інтерфейс", "sqlite翻译记录": "Записи перекладу Sqlite", "json翻译文件": "Файл перекладу JSON", - "过滤反复刷新的句子": "Фільтрувати повторно оновлені речення", "选择图标": "Виберіть піктограму", "图标2": "Піктограма 2", "刷新": "Оновити", diff --git a/src/files/lang/vi.json b/src/files/lang/vi.json index 075da95248f..fe52dc4b965 100644 --- a/src/files/lang/vi.json +++ b/src/files/lang/vi.json @@ -428,7 +428,6 @@ "接口": "Giao diện", "sqlite翻译记录": "Bản dịch sqlite", "json翻译文件": "JSON dịch tài liệu", - "过滤反复刷新的句子": "Lọc các câu được làm mới nhiều lần", "选择图标": "Chọn biểu tượng", "图标2": "Biểu tượng 2", "刷新": "Làm mới", diff --git a/src/files/lang/zh.json b/src/files/lang/zh.json index 997da76233d..2f9d9c793d9 100644 --- a/src/files/lang/zh.json +++ b/src/files/lang/zh.json @@ -369,7 +369,6 @@ "百度": "", "不绘制光标": "", "搜索结果数上限": "", - "过滤反复刷新的句子": "", "当前版本": "", "搜索持续时间(s)": "", "添加行": "",