Expand loop translations and rename max_history
Replace the single "loop" translation with three explicit keys ("loopOff", "loopTrack", "loopQueue") across all language files to support distinct loop modes. Also standardize the settings key from "max-history" to "max_history" and update main.py to read LOG_SETTINGS.get("max_history", 30) for the TimedRotatingFileHandler backupCount. Files changed: langs/*.json, main.py, settings Example.json.
This commit is contained in:
@@ -28,8 +28,9 @@
|
|||||||
"resume": "Weiter",
|
"resume": "Weiter",
|
||||||
"skip": "Überspringen",
|
"skip": "Überspringen",
|
||||||
"leave": "Verlassen",
|
"leave": "Verlassen",
|
||||||
"loop": "Endlosschleife",
|
"loopOff": "Aus",
|
||||||
"volumeUp": "Lauter",
|
"loopTrack": "Track",
|
||||||
|
"loopQueue": "Warteschlange",
|
||||||
"volumeDown": "Leiser",
|
"volumeDown": "Leiser",
|
||||||
"volumeMute": "Stummschalten",
|
"volumeMute": "Stummschalten",
|
||||||
"volumeUnmute": "Stummschaltung aufheben",
|
"volumeUnmute": "Stummschaltung aufheben",
|
||||||
|
|||||||
@@ -28,7 +28,9 @@
|
|||||||
"resume": "Resume",
|
"resume": "Resume",
|
||||||
"skip": "Skip",
|
"skip": "Skip",
|
||||||
"leave": "Leave",
|
"leave": "Leave",
|
||||||
"loop": "Loop",
|
"loopOff": "Off",
|
||||||
|
"loopTrack": "Track",
|
||||||
|
"loopQueue": "Queue",
|
||||||
"volumeUp": "Volume Up",
|
"volumeUp": "Volume Up",
|
||||||
"volumeDown": "Volume Down",
|
"volumeDown": "Volume Down",
|
||||||
"volumeMute": "Mute",
|
"volumeMute": "Mute",
|
||||||
|
|||||||
@@ -28,7 +28,9 @@
|
|||||||
"resume": "Reanudar",
|
"resume": "Reanudar",
|
||||||
"skip": "Saltar",
|
"skip": "Saltar",
|
||||||
"leave": "Salir",
|
"leave": "Salir",
|
||||||
"loop": "Bucle",
|
"loopOff": "Apagar",
|
||||||
|
"loopTrack": "Pista",
|
||||||
|
"loopQueue": "Cola",
|
||||||
"volumeUp": "Subir Volumen",
|
"volumeUp": "Subir Volumen",
|
||||||
"volumeDown": "Bajar Volumen",
|
"volumeDown": "Bajar Volumen",
|
||||||
"volumeMute": "Silenciar",
|
"volumeMute": "Silenciar",
|
||||||
|
|||||||
@@ -28,7 +28,9 @@
|
|||||||
"resume": "Reprendre",
|
"resume": "Reprendre",
|
||||||
"skip": "Passer",
|
"skip": "Passer",
|
||||||
"leave": "Quitter",
|
"leave": "Quitter",
|
||||||
"loop": "Boucle",
|
"loopOff": "Désactivé",
|
||||||
|
"loopTrack": "Piste",
|
||||||
|
"loopQueue": "File d'attente",
|
||||||
"volumeUp": "Volume +",
|
"volumeUp": "Volume +",
|
||||||
"volumeDown": "Volume -",
|
"volumeDown": "Volume -",
|
||||||
"volumeMute": "Muet",
|
"volumeMute": "Muet",
|
||||||
|
|||||||
@@ -28,7 +28,9 @@
|
|||||||
"resume": "再開",
|
"resume": "再開",
|
||||||
"skip": "スキップ",
|
"skip": "スキップ",
|
||||||
"leave": "退出",
|
"leave": "退出",
|
||||||
"loop": "ループ",
|
"loopOff": "オフ",
|
||||||
|
"loopTrack": "トラック",
|
||||||
|
"loopQueue": "キュー",
|
||||||
"volumeUp": "音量を上げる",
|
"volumeUp": "音量を上げる",
|
||||||
"volumeDown": "音量を下げる",
|
"volumeDown": "音量を下げる",
|
||||||
"volumeMute": "消音",
|
"volumeMute": "消音",
|
||||||
|
|||||||
@@ -28,7 +28,9 @@
|
|||||||
"resume": "재개",
|
"resume": "재개",
|
||||||
"skip": "스킵",
|
"skip": "스킵",
|
||||||
"leave": "나가기",
|
"leave": "나가기",
|
||||||
"loop": "반복",
|
"loopOff": "끄기",
|
||||||
|
"loopTrack": "트랙",
|
||||||
|
"loopQueue": "대기열",
|
||||||
"volumeUp": "볼륨 높이기",
|
"volumeUp": "볼륨 높이기",
|
||||||
"volumeDown": "볼륨 낮추기",
|
"volumeDown": "볼륨 낮추기",
|
||||||
"volumeMute": "음소거",
|
"volumeMute": "음소거",
|
||||||
|
|||||||
@@ -28,7 +28,9 @@
|
|||||||
"resume": "Wznów",
|
"resume": "Wznów",
|
||||||
"skip": "Pomiń",
|
"skip": "Pomiń",
|
||||||
"leave": "Opuść",
|
"leave": "Opuść",
|
||||||
"loop": "Pętla",
|
"loopOff": "Wyłącz",
|
||||||
|
"loopTrack": "Ścieżka",
|
||||||
|
"loopQueue": "Kolejka",
|
||||||
"volumeUp": "Głośność +",
|
"volumeUp": "Głośność +",
|
||||||
"volumeDown": "Głośność -",
|
"volumeDown": "Głośność -",
|
||||||
"volumeMute": "Wycisz",
|
"volumeMute": "Wycisz",
|
||||||
|
|||||||
@@ -28,7 +28,9 @@
|
|||||||
"resume": "Пуск",
|
"resume": "Пуск",
|
||||||
"skip": "Вперед",
|
"skip": "Вперед",
|
||||||
"leave": "СТОП",
|
"leave": "СТОП",
|
||||||
"loop": "Зациклить",
|
"loopOff": "Выключить",
|
||||||
|
"loopTrack": "Трек",
|
||||||
|
"loopQueue": "Очередь",
|
||||||
"volumeUp": "Громкость +",
|
"volumeUp": "Громкость +",
|
||||||
"volumeDown": "Громкость -",
|
"volumeDown": "Громкость -",
|
||||||
"volumeMute": "Выключить звук",
|
"volumeMute": "Выключить звук",
|
||||||
|
|||||||
@@ -28,7 +28,9 @@
|
|||||||
"resume": "Продовжити",
|
"resume": "Продовжити",
|
||||||
"skip": "Скіпнути трек",
|
"skip": "Скіпнути трек",
|
||||||
"leave": "СТОП",
|
"leave": "СТОП",
|
||||||
"loop": "Зациклити",
|
"loopOff": "Вимкнути",
|
||||||
|
"loopTrack": "Трек",
|
||||||
|
"loopQueue": "Черга",
|
||||||
"volumeUp": "Гучність +",
|
"volumeUp": "Гучність +",
|
||||||
"volumeDown": "Гучність -",
|
"volumeDown": "Гучність -",
|
||||||
"volumeMute": "Вимкнути звук",
|
"volumeMute": "Вимкнути звук",
|
||||||
|
|||||||
@@ -28,7 +28,9 @@
|
|||||||
"resume": "Tiếp Tục",
|
"resume": "Tiếp Tục",
|
||||||
"skip": "Bỏ Qua",
|
"skip": "Bỏ Qua",
|
||||||
"leave": "Rời Khỏi",
|
"leave": "Rời Khỏi",
|
||||||
"loop": "Lặp Lại",
|
"loopOff": "Tắt",
|
||||||
|
"loopTrack": "Bài hát",
|
||||||
|
"loopQueue": "Hàng đợi",
|
||||||
"volumeUp": "Tăng Âm Lượng",
|
"volumeUp": "Tăng Âm Lượng",
|
||||||
"volumeDown": "Giảm Âm Lượng",
|
"volumeDown": "Giảm Âm Lượng",
|
||||||
"volumeMute": "Tắt Tiếng",
|
"volumeMute": "Tắt Tiếng",
|
||||||
|
|||||||
@@ -28,7 +28,9 @@
|
|||||||
"resume": "继续",
|
"resume": "继续",
|
||||||
"skip": "下一首",
|
"skip": "下一首",
|
||||||
"leave": "退出",
|
"leave": "退出",
|
||||||
"loop": "循环",
|
"loopOff": "关闭",
|
||||||
|
"loopTrack": "音轨",
|
||||||
|
"loopQueue": "队列",
|
||||||
"volumeUp": "音量+",
|
"volumeUp": "音量+",
|
||||||
"volumeDown": "音量-",
|
"volumeDown": "音量-",
|
||||||
"volumeMute": "静音",
|
"volumeMute": "静音",
|
||||||
|
|||||||
@@ -28,7 +28,9 @@
|
|||||||
"resume": "繼續",
|
"resume": "繼續",
|
||||||
"skip": "下一首",
|
"skip": "下一首",
|
||||||
"leave": "離開",
|
"leave": "離開",
|
||||||
"loop": "循環",
|
"loopOff": "關閉",
|
||||||
|
"loopTrack": "音軌",
|
||||||
|
"loopQueue": "隊列",
|
||||||
"volumeUp": "音量+",
|
"volumeUp": "音量+",
|
||||||
"volumeDown": "音量-",
|
"volumeDown": "音量-",
|
||||||
"volumeMute": "靜音",
|
"volumeMute": "靜音",
|
||||||
|
|||||||
2
main.py
2
main.py
@@ -211,7 +211,7 @@ if (LOG_FILE := LOG_SETTINGS.get("file", {})).get("enable", True):
|
|||||||
if not os.path.exists(log_path):
|
if not os.path.exists(log_path):
|
||||||
os.makedirs(log_path)
|
os.makedirs(log_path)
|
||||||
|
|
||||||
file_handler = TimedRotatingFileHandler(filename=f'{log_path}/vocard.log', encoding="utf-8", backupCount=LOG_SETTINGS.get("max-history", 30), when="d")
|
file_handler = TimedRotatingFileHandler(filename=f'{log_path}/vocard.log', encoding="utf-8", backupCount=LOG_SETTINGS.get("max_history", 30), when="d")
|
||||||
file_handler.namer = lambda name: name.replace(".log", "") + ".log"
|
file_handler.namer = lambda name: name.replace(".log", "") + ".log"
|
||||||
file_handler.setFormatter(logging.Formatter('{asctime} [{levelname:<8}] {name}: {message}', '%Y-%m-%d %H:%M:%S', style='{'))
|
file_handler.setFormatter(logging.Formatter('{asctime} [{levelname:<8}] {name}: {message}', '%Y-%m-%d %H:%M:%S', style='{'))
|
||||||
logging.getLogger().addHandler(file_handler)
|
logging.getLogger().addHandler(file_handler)
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
"vocard": "INFO",
|
"vocard": "INFO",
|
||||||
"ipc_client": "INFO"
|
"ipc_client": "INFO"
|
||||||
},
|
},
|
||||||
"max-history": 30
|
"max_history": 30
|
||||||
},
|
},
|
||||||
"bot_access_user": [],
|
"bot_access_user": [],
|
||||||
"embed_color":"0xb3b3b3",
|
"embed_color":"0xb3b3b3",
|
||||||
|
|||||||
Reference in New Issue
Block a user