diff --git a/filter.py b/filter.py index 90bc20a..7bf7e30 100644 --- a/filter.py +++ b/filter.py @@ -5,7 +5,9 @@ startLangTokens = [x[0] for x in langTokens] tokenMap = {x[0]:x[1] for x in langTokens} -def parseTranslation(c, languagecode) -> Union[Tuple[str, str], None]: +def parseTranslation(c, languagecode, doTranslation) -> Union[Tuple[str, str], None]: + if doTranslation: + return True message = c.message trimmed = message.strip() if len(trimmed) > 0: diff --git a/livetl.py b/livetl.py index 4c3915a..b2fee1c 100644 --- a/livetl.py +++ b/livetl.py @@ -78,14 +78,18 @@ def change_video(): translate_chat = tk.OptionMenu(text_frame, is_translate_chat, 'Translate Chat', "Don't Translate chat") tl_language = tk.OptionMenu(text_frame, selected_tl_language, *TL_LANGUAGES) chat_area = tk.scrolledtext.ScrolledText(text_frame, wrap=tk.WORD, width=50, height=15, font=tk.NORMAL) + is_translate_tls = tk.StringVar(top) + is_translate_tls.set("Don't Translate TLs") + translate_tls = tk.OptionMenu(text_frame, is_translate_tls, 'Translate TLs', "Don't Translate TLs") tl_area = tk.scrolledtext.ScrolledText(text_frame, wrap=tk.WORD, width=50, height=15, font=tk.NORMAL) change_button = tk.Button(text_frame, command=change_video, text="Change Video", width=10) chat_language.grid(column=0, row=0, pady=5, padx=10, sticky=tk.W+tk.E) translate_chat.grid(column=0, row=1, pady=10, padx=10, sticky=tk.W+tk.E) chat_area.grid(column=0, row=2, pady=10, padx=10, sticky=tk.W+tk.E) tl_language.grid(column=0, row=3, pady=5, padx=10, sticky=tk.W+tk.E) - tl_area.grid(column=0, row=4, pady=10, padx=10, sticky=tk.W+tk.E) - change_button.grid(column=0, row=5, pady=10, padx=10) + translate_tls.grid(column=0, row=4, pady=10, padx=10, sticky=tk.W+tk.E) + tl_area.grid(column=0, row=5, pady=10, padx=10, sticky=tk.W+tk.E) + change_button.grid(column=0, row=6, pady=10, padx=10) video_area = tk.Frame(main_frame, width=1280, height=720) video_area.grid(column=0, row=0, pady=10, padx=10, sticky=tk.NSEW) text_frame.grid(column=1, row=0, pady=10, padx=10, sticky=tk.NSEW) @@ -105,7 +109,7 @@ def run_chat(): while chat.is_alive(): if not isClosed: for c in chat.get().sync_items(): - if is_translate_chat.get()[0] == "D": + if not is_translate_chat.get().startswith("T"): try: if CHAT_LANGUAGES[selected_chat_language.get()] in (langdetect.detect(c.message), 'All'): insert_in_box(chat_area, c) @@ -114,7 +118,8 @@ def run_chat(): else: c.message = translator.translate(c.message, dest=CHAT_LANGUAGES[selected_chat_language.get()]).text insert_in_box(chat_area, c) - if parseTranslation(c, selected_tl_language.get()) != None or c.author.isChatOwner or c.author.isChatModerator: + if parseTranslation(c, selected_tl_language.get(), is_translate_tls.get().startswith("T")) != None or c.author.isChatOwner or c.author.isChatModerator: + c.message = translator.translate(c.message, dest=selected_tl_language.get()).text insert_in_box(tl_area, c) else: break