diff --git a/plugins/utilities.json b/plugins/utilities.json index ed91ac7..747eeb2 100644 --- a/plugins/utilities.json +++ b/plugins/utilities.json @@ -3,6 +3,25 @@ "description": "Utilities", "plugins_base_url": "https://github.com/bombsquad-community/plugin-manager/{content_type}/{tag}/plugins/utilities", "plugins": { + "translate": { + "description": "Translate yours/others chat. Just click on the message to translate them. Open Plugin Settings/Double click 'Trans' button to open translation settings. Compatible with other PW mods (like advanced_party_window)", + "external_url": "https://github.com/bombsquad-community/plugin-manager/assets/92618708/5860e44d-0b70-4a3f-a651-208a4452ea38", + "authors": [ + { + "name": "Freaku", + "email": "", + "discord": "" + } + ], + "versions": { + "1.0.0": { + "api_version": 8, + "commit_sha": "fcda5f0", + "released_on": "09-02-2024", + "md5sum": "2efa68f899ff04bf345ed5e8c32886d7" + } + } + }, "random_join": { "description": "Come visit the unknown servers around all the world! Plugin designed not to join servers with similar names more frequently than rare ones. Have fun!", "external_url": "", diff --git a/plugins/utilities/translate.py b/plugins/utilities/translate.py new file mode 100644 index 0000000..a304daa --- /dev/null +++ b/plugins/utilities/translate.py @@ -0,0 +1,259 @@ +# 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('