From 79cd405ca10c6f20fea8b812357fa1ea714615ac Mon Sep 17 00:00:00 2001 From: ! Freaku <92618708+Freaku17@users.noreply.github.com> Date: Fri, 9 Feb 2024 23:06:06 +0530 Subject: [PATCH] Add new mod: translate --- plugins/utilities/translate.py | 237 +++++++++++++++++++++++++++++++++ 1 file changed, 237 insertions(+) create mode 100644 plugins/utilities/translate.py diff --git a/plugins/utilities/translate.py b/plugins/utilities/translate.py new file mode 100644 index 0000000..512dbdc --- /dev/null +++ b/plugins/utilities/translate.py @@ -0,0 +1,237 @@ +# Made by your friend: Freaku + +# Translate function through google webpage by: OnurV2 (from their BombsquadDetails.py mod) +# Github: https://github.com/OnurV2 +# YT: https://m.youtube.com/@OnurV2 + + +import babase +import bauiv1 as bui +from bauiv1lib.popup import PopupMenu +import bauiv1lib.party +import urllib +import threading +import random + +show_translate_result = True +config = babase.app.config +default_config = {'O Source Trans Lang': 'Auto Detect', 'O Target Trans Lang': babase.app.lang.default_language, 'Y Source Trans Lang': 'Auto Detect', 'Y Target Trans Lang': babase.app.lang.default_language} + +for key in default_config: + if not key in config: + config[key] = default_config[key] + +translate_languages = {'Auto Detect': 'auto', 'Arabic': 'ar', 'Chinese (simplified)': 'zh-CN', 'Chinese (traditional)': 'zh-TW', 'Croatian': 'hr', 'Czech': 'cs', + 'Danish': 'da', 'Dutch': 'nl', 'English': 'en', 'Esperanto': 'eo', + 'Finnish': 'fi', + 'Tagalog': 'tl', 'French': 'fr', 'German': 'de', 'Greek': 'el', + 'Hindi': 'hi', 'Hungarian': 'hu', 'Indonesian': 'id', 'Italian': 'it', + 'Japanese': 'ja', + 'Korean': 'ko', 'Malay': 'ms', 'Malayalam': 'ml', 'Marathi': 'mr', 'Persian': 'fa', 'Polish': 'pl', + 'Portuguese': 'pt', 'Romanian': 'ro', 'Russian': 'ru', 'Serbian': 'sr', + 'Slovak': 'sk', 'Spanish': 'es', 'Swedish': 'sv', 'Tamil': 'ta', + 'Telugu': 'te', + 'Thai': 'th', 'Turkish': 'tr', 'Ukrainian': 'uk', 'Vietnamese': 'vi'} +available_translate_languages = [] +for lang in translate_languages: + available_translate_languages.append(lang) +available_translate_languages.sort() +available_translate_languages.remove('Auto Detect') +available_translate_languages.insert(0, 'Auto Detect') + + + +def translate(text, _callback, source='auto', target='en'): + text = urllib.parse.quote(text) + url = f'https://translate.google.com/m?tl={target}&sl={source}&q={text}' + request = urllib.request.Request(url) + data = urllib.request.urlopen(request).read().decode('utf-8') + result = data[(data.find('"result-container">'))+len('"result-container">'):data.find('