From 9250c1594017c5ed59f69d02fd03c1bb4434748f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=81=8D=E5=85=AE=E6=83=9A=E5=85=AE?= <101191390+HIllya51@users.noreply.github.com> Date: Sat, 15 Jun 2024 00:56:16 +0800 Subject: [PATCH] filter --- LunaTranslator/LunaTranslator/myutils/post.py | 19 ++++++ .../defaultconfig/postprocessconfig.json | 58 +++++++++++++++++++ LunaTranslator/files/lang/ar.json | 9 ++- LunaTranslator/files/lang/cht.json | 9 ++- LunaTranslator/files/lang/en.json | 9 ++- LunaTranslator/files/lang/es.json | 9 ++- LunaTranslator/files/lang/fr.json | 9 ++- LunaTranslator/files/lang/it.json | 9 ++- LunaTranslator/files/lang/ja.json | 9 ++- LunaTranslator/files/lang/ko.json | 9 ++- LunaTranslator/files/lang/pl.json | 9 ++- LunaTranslator/files/lang/ru.json | 9 ++- LunaTranslator/files/lang/th.json | 9 ++- LunaTranslator/files/lang/tr.json | 9 ++- LunaTranslator/files/lang/uk.json | 9 ++- LunaTranslator/files/lang/vi.json | 9 ++- LunaTranslator/files/lang/zh.json | 9 ++- 17 files changed, 197 insertions(+), 15 deletions(-) diff --git a/LunaTranslator/LunaTranslator/myutils/post.py b/LunaTranslator/LunaTranslator/myutils/post.py index 528139df..762b9157 100644 --- a/LunaTranslator/LunaTranslator/myutils/post.py +++ b/LunaTranslator/LunaTranslator/myutils/post.py @@ -306,6 +306,23 @@ def _remove_not_in_ja_bracket(line): return line +def length_threshold(line, args): + if len(line) > args["maxzishu"] or len(line) < args["minzishu"]: + if args["cut"]: + return line[: args["maxzishu"]] + return "" + return line + + +def lines_threshold(line, args): + sps = line.split("\n") + if len(sps) > args["maxzishu"] or len(sps) < args["minzishu"]: + if args["cut"]: + return "\n".join(sps[: args["maxzishu"]]) + return "" + return line + + from myutils.utils import checkchaos @@ -349,6 +366,8 @@ def POSTSOLVE(line): "_remove_chaos": _remove_chaos, "_remove_not_in_ja_bracket": _remove_not_in_ja_bracket, "dedump": dedump, + "length_threshold": length_threshold, + "lines_threshold": lines_threshold, } useranklist = globalconfig["postprocess_rank"] usedpostprocessconfig = postprocessconfig diff --git a/LunaTranslator/files/defaultconfig/postprocessconfig.json b/LunaTranslator/files/defaultconfig/postprocessconfig.json index a359621b..c54a0c0a 100644 --- a/LunaTranslator/files/defaultconfig/postprocessconfig.json +++ b/LunaTranslator/files/defaultconfig/postprocessconfig.json @@ -27,6 +27,64 @@ "use": false, "name": "去除花括号{}" }, + "length_threshold": { + "use": false, + "name": "过滤指定字数的文本", + "args": { + "minzishu": 1, + "maxzishu": 99999, + "cut": false + }, + "argstype": { + "minzishu": { + "name": "最小字数", + "type": "intspin", + "min": 0, + "max": 99999999, + "step": 1 + }, + "maxzishu": { + "name": "最大字数", + "type": "intspin", + "min": 0, + "max": 99999999, + "step": 1 + }, + "cut": { + "name": "超过时截断而非过滤", + "type": "switch" + } + } + }, + "lines_threshold": { + "use": false, + "name": "过滤指定行数的文本", + "args": { + "minzishu": 1, + "maxzishu": 99999, + "cut": false + }, + "argstype": { + "minzishu": { + "name": "最小行数", + "type": "intspin", + "min": 0, + "max": 99999999, + "step": 1 + }, + "maxzishu": { + "name": "最大行数", + "type": "intspin", + "min": 0, + "max": 99999999, + "step": 1 + }, + "cut": { + "name": "超过时截断而非过滤", + "type": "switch" + } + } + }, "_2": { "use": false, "name": "去除重复字符_AAAABBBBCCCC->ABC", diff --git a/LunaTranslator/files/lang/ar.json b/LunaTranslator/files/lang/ar.json index 68401dec..72cc2ef4 100644 --- a/LunaTranslator/files/lang/ar.json +++ b/LunaTranslator/files/lang/ar.json @@ -791,5 +791,12 @@ "设为显示的项目": "عرض البند", "跟随默认": "اتبع التقصير", "删除行": "حذف صف", - "使用": "إستعمال" + "使用": "إستعمال", + "过滤指定字数的文本": "تصفية النص مع عدد محدد من الكلمات", + "最小字数": "الحد الأدنى من عدد الكلمات", + "最大字数": "أقصى عدد من الكلمات", + "过滤指定行数的文本": "تصفية النص مع عدد محدد من الصفوف", + "最小行数": "الحد الأدنى من عدد الصفوف", + "最大行数": "أقصى عدد من الصفوف", + "超过时截断而非过滤": "اقتطاع بدلا من الترشيح عند تجاوز" } \ No newline at end of file diff --git a/LunaTranslator/files/lang/cht.json b/LunaTranslator/files/lang/cht.json index 34c4e20b..41f25e42 100644 --- a/LunaTranslator/files/lang/cht.json +++ b/LunaTranslator/files/lang/cht.json @@ -791,5 +791,12 @@ "设为显示的项目": "設為顯示的項目", "跟随默认": "跟隨默認", "删除行": "删除行", - "使用": "使用" + "使用": "使用", + "过滤指定字数的文本": "過濾指定字數的文字", + "最小字数": "最小字數", + "最大字数": "最大字數", + "过滤指定行数的文本": "過濾指定行數的文字", + "最小行数": "最小行數", + "最大行数": "最大行數", + "超过时截断而非过滤": "超過時截斷而非過濾" } \ No newline at end of file diff --git a/LunaTranslator/files/lang/en.json b/LunaTranslator/files/lang/en.json index 38b384c7..256ecc5f 100644 --- a/LunaTranslator/files/lang/en.json +++ b/LunaTranslator/files/lang/en.json @@ -791,5 +791,12 @@ "设为显示的项目": "Set as Displayed Project", "跟随默认": "Follow default", "删除行": "Delete Rows", - "使用": "apply" + "使用": "apply", + "过滤指定字数的文本": "Filter text with specified word count", + "最小字数": "Minimum word count", + "最大字数": "Maximum word count", + "过滤指定行数的文本": "Filter text with a specified number of lines", + "最小行数": "Minimum number of rows", + "最大行数": "Maximum number of rows", + "超过时截断而非过滤": "Truncate instead of filtering when exceeded" } \ No newline at end of file diff --git a/LunaTranslator/files/lang/es.json b/LunaTranslator/files/lang/es.json index baf54efa..019cfe7b 100644 --- a/LunaTranslator/files/lang/es.json +++ b/LunaTranslator/files/lang/es.json @@ -791,5 +791,12 @@ "设为显示的项目": "Artículos configurados para mostrar", "跟随默认": "Sigue el predeterminado", "删除行": "Eliminar filas", - "使用": "Uso" + "使用": "Uso", + "过滤指定字数的文本": "Filtrar el texto del número de palabras especificado", + "最小字数": "Número mínimo de palabras", + "最大字数": "Número máximo de palabras", + "过滤指定行数的文本": "Filtrar el texto del número de líneas especificadas", + "最小行数": "Número mínimo de líneas", + "最大行数": "Número máximo de líneas", + "超过时截断而非过滤": "Cortar en lugar de filtrar cuando se supera el tiempo" } \ No newline at end of file diff --git a/LunaTranslator/files/lang/fr.json b/LunaTranslator/files/lang/fr.json index 55bff58f..bea5c0ae 100644 --- a/LunaTranslator/files/lang/fr.json +++ b/LunaTranslator/files/lang/fr.json @@ -791,5 +791,12 @@ "设为显示的项目": "Les éléments à afficher", "跟随默认": "Suivre par défaut", "删除行": "Supprimer une ligne", - "使用": "Utilisation" + "使用": "Utilisation", + "过滤指定字数的文本": "Filtrer le texte pour le nombre de mots spécifié", + "最小字数": "Nombre minimum de mots", + "最大字数": "Nombre maximal de mots", + "过滤指定行数的文本": "Filtrer le texte pour le nombre de lignes spécifié", + "最小行数": "Nombre minimum de lignes", + "最大行数": "Nombre maximal de lignes", + "超过时截断而非过滤": "Troncation au - delà du temps plutôt que filtrage" } \ No newline at end of file diff --git a/LunaTranslator/files/lang/it.json b/LunaTranslator/files/lang/it.json index e01d9719..a3a62bda 100644 --- a/LunaTranslator/files/lang/it.json +++ b/LunaTranslator/files/lang/it.json @@ -791,5 +791,12 @@ "设为显示的项目": "Imposta come progetto visualizzato", "跟随默认": "Segui default", "删除行": "Elimina righe", - "使用": "applicare" + "使用": "applicare", + "过滤指定字数的文本": "Filtra testo con numero di parole specificato", + "最小字数": "Numero minimo di parole", + "最大字数": "Numero massimo di parole", + "过滤指定行数的文本": "Filtra testo con un numero specificato di righe", + "最小行数": "Numero minimo di righe", + "最大行数": "Numero massimo di righe", + "超过时截断而非过滤": "Truncare invece di filtrare quando superato" } \ No newline at end of file diff --git a/LunaTranslator/files/lang/ja.json b/LunaTranslator/files/lang/ja.json index 78373d74..1fb09950 100644 --- a/LunaTranslator/files/lang/ja.json +++ b/LunaTranslator/files/lang/ja.json @@ -791,5 +791,12 @@ "设为显示的项目": "表示する項目として設定", "跟随默认": "デフォルトに従う", "删除行": "行の削除", - "使用": "使用" + "使用": "使用", + "过滤指定字数的文本": "指定した文字数のテキストをフィルタする", + "最小字数": "最小文字数", + "最大字数": "最大文字数", + "过滤指定行数的文本": "指定した行数のテキストをフィルタする", + "最小行数": "最小行数", + "最大行数": "最大行数", + "超过时截断而非过滤": "フィルタではなく超過時にトランケート" } \ No newline at end of file diff --git a/LunaTranslator/files/lang/ko.json b/LunaTranslator/files/lang/ko.json index 528f7eb2..97af93c9 100644 --- a/LunaTranslator/files/lang/ko.json +++ b/LunaTranslator/files/lang/ko.json @@ -791,5 +791,12 @@ "设为显示的项目": "표시할 항목으로 설정", "跟随默认": "기본 따르기", "删除行": "행 삭제", - "使用": "사용" + "使用": "사용", + "过滤指定字数的文本": "지정된 단어 수의 텍스트 필터링", + "最小字数": "최소 단어 수", + "最大字数": "최대 단어 수", + "过滤指定行数的文本": "지정된 행 수의 텍스트 필터링", + "最小行数": "최소 행 수", + "最大行数": "최대 행 수", + "超过时截断而非过滤": "필터링 대신 시간 초과 자르기" } \ No newline at end of file diff --git a/LunaTranslator/files/lang/pl.json b/LunaTranslator/files/lang/pl.json index c0d40850..9328bddd 100644 --- a/LunaTranslator/files/lang/pl.json +++ b/LunaTranslator/files/lang/pl.json @@ -791,5 +791,12 @@ "设为显示的项目": "Ustaw jako wyświetlany projekt", "跟随默认": "Postępuj zgodnie z domyślnym", "删除行": "Usuń wiersze", - "使用": "stosować" + "使用": "stosować", + "过滤指定字数的文本": "Filtruj tekst z określoną liczbą słów", + "最小字数": "Minimalna liczba słów", + "最大字数": "Maksymalna liczba słów", + "过滤指定行数的文本": "Filtruj tekst z określoną liczbą wierszy", + "最小行数": "Minimalna liczba wierszy", + "最大行数": "Maksymalna liczba wierszy", + "超过时截断而非过滤": "Przycięcie zamiast filtrowania po przekroczeniu" } \ No newline at end of file diff --git a/LunaTranslator/files/lang/ru.json b/LunaTranslator/files/lang/ru.json index 43d4a3f5..a2f006ea 100644 --- a/LunaTranslator/files/lang/ru.json +++ b/LunaTranslator/files/lang/ru.json @@ -791,5 +791,12 @@ "设为显示的项目": "Показать проект", "跟随默认": "Следуйте по умолчанию", "删除行": "Удалить строку", - "使用": "Использование" + "使用": "Использование", + "过滤指定字数的文本": "Фильтровать текст с указанным числом слов", + "最小字数": "Минимальное количество слов", + "最大字数": "Максимальное количество слов", + "过滤指定行数的文本": "Фильтровать текст с указанным числом строк", + "最小行数": "Минимальное число строк", + "最大行数": "Максимальное число строк", + "超过时截断而非过滤": "Преодоление времени вместо фильтрации" } \ No newline at end of file diff --git a/LunaTranslator/files/lang/th.json b/LunaTranslator/files/lang/th.json index 986a5d9e..ab0cc5ab 100644 --- a/LunaTranslator/files/lang/th.json +++ b/LunaTranslator/files/lang/th.json @@ -791,5 +791,12 @@ "设为显示的项目": "รายการที่ตั้งเป็นจอแสดงผล", "跟随默认": "ติดตามค่าเริ่มต้น", "删除行": "ลบบรรทัด", - "使用": "การใช้" + "使用": "การใช้", + "过滤指定字数的文本": "กรองข้อความที่ระบุจำนวนคำ", + "最小字数": "จำนวนคำน้อยที่สุด", + "最大字数": "จำนวนคำสูงสุด", + "过滤指定行数的文本": "กรองข้อความที่ระบุจำนวนแถว", + "最小行数": "จำนวนแถวขั้นต่ำ", + "最大行数": "จำนวนแถวสูงสุด", + "超过时截断而非过滤": "ตัดตอนแทนการกรองเมื่อเกิน" } \ No newline at end of file diff --git a/LunaTranslator/files/lang/tr.json b/LunaTranslator/files/lang/tr.json index 93b35aa2..ad78a60f 100644 --- a/LunaTranslator/files/lang/tr.json +++ b/LunaTranslator/files/lang/tr.json @@ -791,5 +791,12 @@ "设为显示的项目": "Gösterilen Proje olarak ayarlayın", "跟随默认": "Öntanımlı takip et", "删除行": "Satırları Sil", - "使用": "uygulama" + "使用": "uygulama", + "过滤指定字数的文本": "Belirtilen kelime sayısıyla metin sil", + "最小字数": "Minimal kelime sayısı", + "最大字数": "Maksimum kelime sayısı", + "过滤指定行数的文本": "Belirtilen bir sayı hatlarla metin sil", + "最小行数": "En az satır sayısı", + "最大行数": "Azamik satır sayısı", + "超过时截断而非过滤": "Üstünde filtrelemek yerine küçük" } \ No newline at end of file diff --git a/LunaTranslator/files/lang/uk.json b/LunaTranslator/files/lang/uk.json index b2877fa1..b73320a7 100644 --- a/LunaTranslator/files/lang/uk.json +++ b/LunaTranslator/files/lang/uk.json @@ -791,5 +791,12 @@ "设为显示的项目": "Встановити як показаний проект", "跟随默认": "Слідувати типово", "删除行": "Вилучити рядки", - "使用": "застосовувати" + "使用": "застосовувати", + "过滤指定字数的文本": "Фільтрувати текст з вказаною кількістю слів", + "最小字数": "Мінімальна кількість слів", + "最大字数": "Максимальна кількість слів", + "过滤指定行数的文本": "Фільтрувати текст з вказаною кількістю рядків", + "最小行数": "Мінімальна кількість рядків", + "最大行数": "Максимальна кількість рядків", + "超过时截断而非过滤": "Вирізати замість фільтрування, якщо перевищено" } \ No newline at end of file diff --git a/LunaTranslator/files/lang/vi.json b/LunaTranslator/files/lang/vi.json index 57115879..97107bc8 100644 --- a/LunaTranslator/files/lang/vi.json +++ b/LunaTranslator/files/lang/vi.json @@ -791,5 +791,12 @@ "设为显示的项目": "Mục được đặt làm Hiển thị", "跟随默认": "Theo mặc định", "删除行": "Xoá dòng", - "使用": "Sử dụng" + "使用": "Sử dụng", + "过滤指定字数的文本": "Lọc văn bản xác định số lượng từ", + "最小字数": "Số từ tối thiểu", + "最大字数": "Số từ tối đa", + "过滤指定行数的文本": "Lọc văn bản xác định số dòng", + "最小行数": "Số dòng tối thiểu", + "最大行数": "Số dòng tối đa", + "超过时截断而非过滤": "Cắt ngắn thay vì lọc khi vượt quá" } \ No newline at end of file diff --git a/LunaTranslator/files/lang/zh.json b/LunaTranslator/files/lang/zh.json index acf95d22..44a19210 100644 --- a/LunaTranslator/files/lang/zh.json +++ b/LunaTranslator/files/lang/zh.json @@ -791,5 +791,12 @@ "指定的": "", "设为显示的项目": "", "跟随默认": "", - "使用": "" + "使用": "", + "过滤指定字数的文本": "", + "最小字数": "", + "最大字数": "", + "过滤指定行数的文本": "", + "最小行数": "", + "最大行数": "", + "超过时截断而非过滤": "" } \ No newline at end of file