From 7e2f7b7098350c64835a7447dceb5c50ef1245dc Mon Sep 17 00:00:00 2001 From: J-Rios Date: Fri, 30 Oct 2020 19:01:16 +0100 Subject: [PATCH] Ukrainian language support. --- README.md | 2 + docker/Makefile | 2 +- sources/constants.py | 10 +- sources/join_captcha_bot.py | 4 +- sources/language/uk.json | 181 ++++++++++++++++++++++++++++++ sources/language/update_languages | 1 + 6 files changed, 193 insertions(+), 7 deletions(-) create mode 100644 sources/language/uk.json diff --git a/README.md b/README.md index 03a9af9..b92f202 100644 --- a/README.md +++ b/README.md @@ -200,3 +200,5 @@ To add support for a new language you must follow this steps: - Arabic: [@damascene](https://github.com/damascene) - Dutch: [@weerdenburg](https://github.com/weerdenburg) + +- Ukrainian: Vadym Zhushman (@zhushman00) diff --git a/docker/Makefile b/docker/Makefile index 6869ee4..f73492b 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -1,7 +1,7 @@ SHELL = /bin/bash NAME = captcha-bot BOT_LANG ?= EN -SUPPORTED_LANGUAGES = AR CA DE EN EO ES EU FR GL ID IT NL PL PT_BR RU TR ZH_CN +SUPPORTED_LANGUAGES = AR CA DE EN EO ES EU FR GL ID IT NL PL PT_BR RU TR UK ZH_CN DOCKERFILE = Dockerfile # Check if Bot token has been provided diff --git a/sources/constants.py b/sources/constants.py index 0db2ab7..aa96b89 100644 --- a/sources/constants.py +++ b/sources/constants.py @@ -10,9 +10,9 @@ Author: Creation date: 09/09/2018 Last modified date: - 18/10/2020 + 30/10/2020 Version: - 1.14.2 + 1.14.3 ''' ################################################################################ @@ -159,7 +159,8 @@ CONST = { "\nPortuguese-Brazil / Português-Brasil\n/language pt_br\n" \ "\nRussian / Pусский\n/language ru\n" \ "\nSpanish / Español\n/language es\n" \ - "\nTurkish / Türkçe\n/language tr\n", + "\nTurkish / Türkçe\n/language tr\n" \ + "\nUkrainian / Українську\n/language tr\n", # Bot developer "DEVELOPER": "@JoseTLG", @@ -174,7 +175,7 @@ CONST = { "DEV_BTC": "3N9wf3FunR6YNXonquBeWammaBZVzTXTyR", # Bot version - "VERSION": "1.14.2 (18/10/2020)" + "VERSION": "1.14.3 (30/10/2020)" } @@ -196,5 +197,6 @@ TEXT = { "PT_BR": {}, # Portuguese (Brasil) "RU": {}, # Rusian "TR": {}, # Turkish + "UK": {}, # Ukrainian "ZH_CN": {} # Chinese (Mainland) } diff --git a/sources/join_captcha_bot.py b/sources/join_captcha_bot.py index f9c21c4..ccf3bf0 100644 --- a/sources/join_captcha_bot.py +++ b/sources/join_captcha_bot.py @@ -13,9 +13,9 @@ Author: Creation date: 09/09/2018 Last modified date: - 18/10/2020 + 30/10/2020 Version: - 1.14.2 + 1.14.3 ''' ################################################################################ diff --git a/sources/language/uk.json b/sources/language/uk.json new file mode 100644 index 0000000..a1a66f2 --- /dev/null +++ b/sources/language/uk.json @@ -0,0 +1,181 @@ +{ + "START": + "Привіт, я бот, який надсилає капчу для кожного нового користувача, який приєднується до групи, і викидує всіх, хто не може розв’язати капчу протягом певного часу.\n\nЯкщо користувач намагається приєднатися до групи 5 разів поспіль і ніколи не вирішує капчу, я вважаю, що цей \"користувач\" є ботом, і він буде заблокований. Також будь-яке повідомлення, що містить URL-адресу, надіслану новим \"користувачем\" до завершення введення капчі буде розглянуто як спам і буде видалено.\n\nНе забудьте надати мені адміністративні привілеї для блокування користувачів і видалення повідомлень.\n\nПеревірте команду /help для отримання додаткової інформації про моє використання.\n\nЯ корисний? Перевірте команду /about і подумайте про пожертвування, щоб я залишався активним.", + + "HELP": + "Довідка бота:\n————————————————\n- Я бот, який надсилає капчу для кожного нового користувача, який приєднується до групи, і викидую будь-кого з них, який не може вирішити капчу протягом певного часу.\n\n- Якщо користувач намагається приєднатися до групи 5 разів поспіль і ніколи не вирішує капчу, я вважаю, що цей \"користувач\" є ботом, і його буде заблоковано.\n\n- Будь-яке повідомлення, яке містить URL-адресу, надіслану новим \"користувачем\" до завершення введення капчі буде розглянуто як спам і його буде видалено.\n\n- Вам потрібно надати мені права адміністратора, щоб я міг викидувати користувачів і видаляти повідомлення.\n\n- Щоб зберегти чисту групу, я автоматично видаляю всі повідомлення, пов’язані зі мною, коли капчу не вдається вирішити і користувача викинуто (через 5 хвилин).\n\n- Час за який нові користувачі мають вирішити капчу, за замовчуванням становить 5 хвилин, але її можна налаштувати за допомогою команди /time.\n\n- Ви можете увімкнути/вимкнути захист капчею за допомогою команд /enable та /disable.\n\n- Команди конфігурації можуть використовувати лише адміністратори групи.\n\n- Ви можете змінити мову, якою я розмовляю, за допомогою команди /language.\n\n- Ви можете налаштувати рівень складності капчі за допомогою команди /difficulty.\n\n- Ви можете встановити капчу для використання повних цифр і букв A–Z, або цифри та літери A–F, або просто цифри (за замовчуванням), або просто кнопку, використовуючи команду /captcha_mode.\n\n- Ви можете налаштувати власне привітальне повідомлення за допомогою команди /welcome_msg.\n\n- Ви можете увімкнути опцію дозволити мені застосовувати обмеження до нових приєднаних користувачів для надсилання нетекстових повідомлень за допомогою команди /restrict_non_text.\n\n- Якщо бот в приваті, дозвольте її з командою /allowgroup.\n\n- Перевірте /commands отримати список усіх доступних команд та короткий опис усіх них.", + + "CMD_NOT_ALLOW": + "Цю команду може використовувати лише адміністратор.", + + "LANG_CHANGE": + "Мова змінена на Українську.", + + "LANG_SAME": + "Я вже спілкуюся Українською.\n\nПідтримувані мови:\n{}", + + "LANG_BAD_LANG": + "Надано недійсну мову.\n\nПідтримувані мови:\n{}", + + "LANG_NOT_ARG": + "Команді потрібна мова для встановлення.\n\nПриклади:\n{}", + + "TIME_CHANGE": + "Час вирішення капчі успішно змінено до {} хвилин.", + + "TIME_MAX_NOT_ALLOW": + "Максимально допустимий час розв’язання капчі - 120 хвилин. Час не змінився.", + + "TIME_NOT_NUM": + "Наданий час не є цілим числом.", + + "TIME_NOT_ARG": + "Команді потрібно встановити значення часу (у хвилинах).\n\nПриклади:\n/time 3\n/time 5\n/time 10", + + "DIFFICULTY_CHANGE": + "Складність капчі успішно змінено на рівень {}.", + + "DIFFICULTY_NOT_NUM": + "Надана складність капчі - це не число.", + + "DIFFICULTY_NOT_ARG": + "Команді потрібно встановити рівень складності (від 1 до 5). Не має ефекту в \"кнопковому\" режимі.\n\nПриклади:\n/difficulty 1\n/difficulty 2\n/difficulty 3\n/difficulty 4\n/difficulty 5", + + "CAPTCHA_MODE_CHANGE": + "Режим капчі успішно змінено на \"{}\".", + + "CAPTCHA_MODE_INVALID": + "Недійсний режим капчі. Підтримувані режими: \"nums\", \"hex\", \"ascii\", та \"button\".\n\nПриклад:\n/captcha_mode nums\n/captcha_mode hex\n/captcha_mode ascii\n/captcha_mode button", + + "CAPTCHA_MODE_NOT_ARG": + "Для встановлення команди потрібен режим. Доступні режими:\n- Цифрова капча (\"nums\").\n- Шістнадцяткова капча, цифри та символи A-F (\"hex\").\n- Цифри та символи A-Z капча (\"ascii\").\n- Лише кнопка (\"button\").\n\nПриклади:\n/captcha_mode nums\n/captcha_mode hex\n/captcha_mode ascii\n/captcha_mode button", + + "WELCOME_MSG_SET": + "Вітальне повідомлення успішно налаштовано.", + + "WELCOME_MSG_UNSET": + "Вітальне повідомлення вимкнено.", + + "WELCOME_MSG_SET_NOT_ARG": + "Розмістіть привітальне повідомлення після команди.\n\nПриклад:\n/welcome_msg Вітаю $user, ласкаво просимо до групи та пам’ятаємо про повагу до інших користувачів.\n\nВимкнути повідомлення:\n/welcome_msg disable", + + "RESTRICT_NON_TEXT_MSG_ENABLED": + "Увімкнено обмеження надсилання нетекстових повідомлень для нових користувачів. Я збираюся видалити нещодавно приєднані повідомлення користувачів, які не є текстовими повідомленнями.", + + "RESTRICT_NON_TEXT_MSG_DISABLED": + "Обмеження надсилати нетекстові повідомлення для нових користувачів вимкнено.", + + "RESTRICT_NON_TEXT_MSG_NOT_ARG": + "Встановіть, якщо ви хочете ввімкнути або вимкнути обмеження до нещодавно приєднаних користувачів для надсилання нетекстових повідомлень (забороняти користувачеві надсилати медіа чи інші повідомлення, а не текст. Адміністратори можуть надавати ці дозволи користувачам знову в майбутньому).\n\nПриклад:\n/restrict_non_text enable\n/restrict_non_text disable", + + "IGNORE_LIST_ADD_NOT_ARG": + "Будь ласка, розмістіть ідентифікатор/псевдонім користувача після команди.\n\nПриклад:\n/add_ignore 1234567890\n/add_ignore @peter", + + "IGNORE_LIST_ADD_DUPLICATED": + "Цей ідентифікатор/псевдонім вже є у списку ігнорувань.", + + "IGNORE_LIST_ADD_LIMIT_EXCEEDED": + "На жаль, ви досягли максимального ліміту користувачів, доданих до списку ігнорувань, видаліть когось, щоб додати ще.", + + "IGNORE_LIST_ADD_INVALID": + "Цей ідентифікатор/псевдонім недійсний.", + + "IGNORE_LIST_ADD_SUCCESS": + "Ідентифікатор/псевдонім успішно додано!", + + "IGNORE_LIST_REMOVE_NOT_ARG": + "Будь ласка, розмістіть ідентифікатор/псевдонім користувача після команди.\n\nПриклад:\n/remove_ignore 1234567890\n/remove_ignore @peter", + + "IGNORE_LIST_REMOVE_SUCCESS": + "Ідентифікатор/псевдонім успішно видалено!", + + "IGNORE_LIST_REMOVE_NOT_IN_LIST": + "Ідентифікатор/псевдонім відсутній у списку ігнорування, нічого не зроблено.", + + "IGNORE_LIST_EMPTY": + "Список ігнорування чату порожній.", + + "NEW_USER_CAPTCHA_CAPTION": + "Вітаю {}, ласкаво просимо у {}. Будь ласка, напишіть повідомлення з цифрами та/або літерами, які відображаються на цьому зображенні, щоб підтвердити, що ви людина. Якщо ви не вирішите капчу протягом {} хвилин, вас автоматично викинуть із групи.", + + "NEW_USER_BUTTON_MODE": + "Вітаю {}, ласкаво просимо у {}. Натисніть кнопку нижче, щоб підтвердити, що ви людина. Якщо ви цього не зробите протягом {} хвилин, вас автоматично викинуть із групи.", + + "CAPTCHA_SOLVED": + "Капча вирішена, користувача підтверджено.\nЛаскаво просимо до групи, {}", + + "CAPTCHA_INCORRECT_0": + "Це не правильний код. Спробуйте ще раз...", + + "CAPTCHA_INCORRECT_1": + "Це не правильна цифра. Перевірте уважно, капча має 4 цифри...", + + "NEW_USER_KICK": + "{} не виконав капчу вчасно. \"Користувача\" викинуто.", + + "NEW_USER_KICK_NOT_RIGHTS": + "{} не виконав капчу вчасно. Я намагався вигнати \"користувача\", але я не маю прав адміністратора, щоб виганяти користувачів із групи.", + + "NEW_USER_KICK_NOT_IN_CHAT": + "{} не виконав капчу вчасно. Я намагався вигнати \"користувача\", але користувач більше не входить до групи (покинув групу або був вигнаний адміністратором).", + + "BOT_CANT_KICK": + "{} не виконав капчу вчасно. Я намагався вигнати \"користувача\", але через несподівану проблему (можливо, пов'язану з мережею/сервером), я не можу цього зробити.", + + "CANT_DEL_MSG": + "Я намагався видалити це повідомлення, але у мене немає прав адміністратора на видалення повідомлень, які я не надсилав.", + + "NEW_USER_BAN": + "Попередження: Це вже вп’яте {} спробував приєднатися до групи і не зміг вирішити капчу. \"Користувача\" заблоковано. Щоб дозволити йому/їй увійти знову, адміністратор повинен вручну зняти обмеження цього \"користувача\".", + + "NEW_USER_BAN_NOT_IN_CHAT": + "Попередження: Це вже вп’яте {} спробував приєднатися до групи і не зміг вирішити капчу. Я намагався заборонити \"користувача\", але користувач більше не в групі (покинув групу або був вигнаний/заблокований адміністратором).", + + "NEW_USER_BAN_NOT_RIGHTS": + "Попередження: Це вже вп’яте {} спробував приєднатися до групи і не зміг вирішити капчу. Я намагався заборонити \"користувача\", але Я не маю прав адміністратора, щоб блокувати користувачів у групі.", + + "BOT_CANT_BAN": + "Попередження: Це вже вп’яте {} спробував приєднатися до групи і не зміг вирішити капчу. Я намагався заборонити \"користувача\", але через несподівану проблему (можливо, пов'язану з мережею/сервером), я не можу цього зробити.", + + "SPAM_DETECTED_RM": + "Виявлено повідомлення з URL-адресою (або псевдонімом) від {}, який ще не вирішив капчу. Повідомлення було видалено заради збереження Telegram від спаму :)", + + "SPAM_DETECTED_NOT_RM": + "Повідомлення з URL-адресою (або псевдонімом), виявлене у {}, який ще не вирішив капчу. Я намагався видалити спам-повідомлення, але у мене немає прав адміністратора на видалення повідомлень, які я не надсилав.", + + "NOT_TEXT_MSG_ALLOWED": + "Видалено нетекстове повідомлення (зображення, аудіо, файл...) з {}, заради збереження Telegram від спаму.\n\nВи можете надсилати нетекстові повідомлення після того, як вирішите капчу.", + + "OTHER_CAPTCHA_BTN_TEXT": + "Інша капча", + + "PASS_BTN_TEXT": + "Я не бот", + + "BOT_LEAVE_CHANNEL": + "Цього бота не можна використовувати в каналах, лише в групах.", + + "ENABLE": + "Захист капчі ввімкнено. Вимкніть його за допомогою команди /disable.", + + "DISABLE": + "Захист капчі вимкнено. Увімкніть його за допомогою команди /enable.", + + "ALREADY_ENABLE": + "Захист капчі вже ввімкнено.", + + "ALREADY_DISABLE": + "Захист капчі вже вимкнено.", + + "CAN_NOT_GET_ADMINS": + "Не вдається використати цю команду в поточному чаті.", + + "VERSION": + "Поточна версія бота: {}", + + "ABOUT_MSG": + "Цей бот є безкоштовним програмним забезпеченням та відкритим кодом під ліцензією GNU-GPL.\nБот розроблено {}.\n\nВи можете перевірити код тут:\n{}\n\nВам подобається моя робота? Купіть мені каву.\n\nPaypal:\n{}\n\nBTC:\n{}", + + "COMMANDS": + "Список команд:\n————————————————\n/start - Показує початкову інформацію про бота.\n\n/help - Показує довідкову інформацію.\n\n/commands - Показує це повідомлення. Інформація про всі доступні команди та їх опис.\n\n/language - Дозволяє змінювати мову повідомлень бота.\n\n/time - Дозволяє змінювати час, доступний для вирішення капчі.\n\n/difficulty - Дозволяє змінювати рівень складності капчі (від 1 до 5).\n\n/captcha_mode - Дозволяє змінювати режим капчі (nums: цифри, hex: цифри та A-F букви, ascii: цифри та A-Z букви, button: лише кнопка).\n\n/welcome_msg - Дозволяє налаштувати привітальне повідомлення, яке надсилається після вирішення капчі.\n\n/restrict_non_text - Увімкніть застосовувати обмеження до нещодавно приєднаних користувачів для надсилання нетекстових повідомлень.\n\n/add_ignore - Не запитувати у проігнорованого користувача капчу.\n\n/remove_ignore - Припинити ігнорувати користувача.\n\n/ignore_list - список ідентифікаторів ігнорованих користувачів.\n\n/allowgroup - Дозвольте групі використовувати бота (якщо бот в приваті).\n\n/enable - Увімкніть захист капчею для групи.\n\n/disable - Вимкніть захист капчею для групи.\n\n/version - Показати версію бота.\n\n/about - Показати інформацію про бота." +} diff --git a/sources/language/update_languages b/sources/language/update_languages index de4b69f..6facc8f 100644 --- a/sources/language/update_languages +++ b/sources/language/update_languages @@ -17,6 +17,7 @@ wget https://raw.githubusercontent.com/J-Rios/TLG_JoinCaptchaBot/master/sources/ wget https://raw.githubusercontent.com/J-Rios/TLG_JoinCaptchaBot/master/sources/language/pt_br.json wget https://raw.githubusercontent.com/J-Rios/TLG_JoinCaptchaBot/master/sources/language/ru.json wget https://raw.githubusercontent.com/J-Rios/TLG_JoinCaptchaBot/master/sources/language/tr.json +wget https://raw.githubusercontent.com/J-Rios/TLG_JoinCaptchaBot/master/sources/language/uk.json wget https://raw.githubusercontent.com/J-Rios/TLG_JoinCaptchaBot/master/sources/language/zh_cn.json exit 0