"""Multi language support""" # disable pylint: disable = C0301 from enum import Enum class Language(Enum): """Language for ui""" EN = 1 # english ZH = 2 # china RU = 3 # russian UA = 4 # ukrainian _language = Language.EN def set_language(language: Language): """Set Lanaguage""" # pylint: disable = W0603 global _language _language = language translations = { "Forward": ["转发", "Переслать", "Переслати"], "Total": ["总数", "Всего", "Всього"], "Success": ["成功", "Успешно", "Успішно"], "Failed": ["失败", "Не удалось", "Не вдалося"], "Skipped": ["跳过", "Пропущено", "Пропущено"], "Message ID": ["消息ID", "ID сообщения", "ID повідомлення"], "Telegram Media Downloader": [ "电报媒体下载器", "Telegram Media Downloader", "Telegram Media Downloader", ], "Version": ["版本", "Версия", "Версія"], "Downloading": ["下载", "Скачивание", "Скачування"], "Available commands:": ["可用命令:", "Доступные команды:", "Доступні команди:"], "Show available commands": [ "显示可用命令", "Показать доступные команды", "Показати доступні команди", ], "Download messages": ["下载消息", "Скачать сообщения", "Скачати повідомлення"], "Forward messages": ["转发消息", "Переслать сообщения", "Переслати повідомлення"], "Listen for forwarded messages": [ "监听转发消息", "Прослушивать пересланные сообщения", "Прослуховувати переслані повідомлення", ], "Set language": ["设置语言", "Установить язык", "Встановити мову"], "**Note**: 1 means the start of the entire chat": [ "**注意**: 1表示整个聊天的开始", "**Примечание**: 1 означает начало всего чата", "**Увага**: 1 означає початок всього чату", ], "0 means the end of the entire chat": [ "0表示整个聊天的结束", "0 означает конец всего чата", "0 означає кінець всього чату", ], "means optional, not required": [ "表示可选项,非必填", "означает необязательный параметр", "означає необов'язковий параметр", ], "To download the video, use the method to directly enter /download to view": [ "下载视频,使用方法直接输入/download查看", "Чтобы скачать видео, введите /download для просмотра", "Щоб скачати відео, введіть /download для перегляду", ], "Forward video, use the method to directly enter /forward to view": [ "转发视频,使用方法直接输入/forward查看", "Переслать видео, введите /forward для просмотра", "Переслати відео, введіть /forward для перегляду", ], "Listen forward, use the method to directly enter /listen_forward to view": [ "监控转发,使用方法直接输入/listen_forward查看", "Слушать пересылку, введите /listen_forward для просмотра", "Слухати пересилання, введіть /listen_forward для перегляду", ], "Add download filter, use the method to directly enter /add_filter to view": [ "添加下载过滤器", "Добавить фильтр загрузки, используйте метод, чтобы непосредственно ввести /add_filter для просмотра", "Додати фільтр завантаження, використовуйте метод, щоб безпосередньо ввести /add_filter для перегляду", ], "Help": ["帮助", "Помощь", "Допомога"], "Invalid command format": [ "无效的命令格式", "Неверный формат команды", "Невірний формат команди", ], "Invalid command format. Please use /set_language en/ru/zh/ua": [ "无效的命令格式。请使用 /set_language en/ru/zh/ua", "Неверный формат команды. Пожалуйста, используйте /set_language en/ru/zh/ua", "Невірний формат команди. Будь ласка, використовуйте /set_language en/ru/zh/ua", ], "Language set to English": [ "语言设置为中文", "Выбран английский язык", "Обрано англійську мову", ], "Language set to": [ "语言设置为", "Выбран язык", "Обрано мову", ], "Invalid command format. Please use /add_filter your filter": [ "无效的命令格式。请使用 /add_filter 你的过滤规则", "Неверный формат команды. Пожалуйста, используйте /add_filter ВашФильтр", "Невірний формат команди. Будь ласка, використовуйте /add_filter ВашФільтр", ], "Add download filter": [ "添加下载过滤器", "Добавить фильтр скачивания", "Додати фільтр скачування", ], "Check error, please add again": [ "检验错误,请重新添加", "Ошибка проверки, пожалуйста, добавьте еще раз", "Помилка перевірки, будь ласка, додайте ще раз", ], "Direct download, directly forward the message to your robot": [ "直接下载,直接转发消息给你的机器人", "Скачивание напрямую, пересылка сообщения напрямую вашему роботу", "Безпосереднє скачування, безспесередня пересилка повідомлення вашому роботу", ], "Directly download a single message": [ "直接下载单条消息", "Прямое скачивание одного сообщения", "Безпосереднє скачування одного повідомлення", ], "From": ["从", "От", "Від"], "download": ["下载", "скачать", "скачати"], "error": ["错误", "ошибка", "помилка"], "Parameter error, please enter according to the reference format": [ "参数错误,请根据参考格式输入", "Ошибка параметра, введите в соответствии с форматом ссылки", "Помилка параметра, введіть відповідно до формату посилання", ], "Download all messages of common group": [ "下载公共群组的所有消息", "Скачать все сообщения общей группы", "Скачати всі повідомлення спільної групи", ], "The private group (channel) link is a random group message link": [ "私密群组(频道) 链接为随便复制一条群组消息链接", "Ссылка на частную группу (канал) - это ссылка на случайное сообщение группы", "Посилання на приватну групу (канал) - це посилання на випадкове повідомлення групи", ], "The download starts from the N message to the end of the M message": [ "下载从第N条消息开始的到第M条信息结束", "Скачивание начинается с сообщения N до конца сообщения M", "Скачування починається з повідомлення N до кінця повідомлення M", ], "When M is 0, it means the last message. The filter is optional": [ "M为0的时候表示到最后一条信息,过滤器为可选", "Когда M равно 0, это означает последнее сообщение. Фильтр необязателен", "Коли M дорівнює 0, це означає останнє повідомлення. Фільтр необов'язковий", ], "chat input error, please enter the channel or group link": [ "chat输入错误,请输入频道或群组的链接", "Ошибка ввода чата, введите ссылку на канал или группу", "Помилка введеня чату, введіть посилання на канал або групу", ], "Error type": ["错误类型", "Тип ошибки", "Тип помилки"], "Exception message": ["异常消息", "Сообщение исключения", "Повідомлення винятка"], "Invalid chat link": [ "无效的聊天链接", "Ошибочная ссылка на чат", "Помилкове посилання на чат", ], "Cannot be forwarded to this bot, will cause an infinite loop": [ "不能转发给该机器人,会导致无限循环", "Невозможно переслать этому боту, это вызовет бесконечный цикл", "Неможливо переслати цьому боту, це спричинить безкінечний цикл", ], "Please use": ["请使用", "Пожалуйста, используйте", "Будь ласка, використовуйте"], "Filter": ["过滤器", "Фильтр", "Фільтр"], "Error forwarding message": [ "失败的转发消息", "Ошибка пересылки сообщения", "Помилка пересилки повідомлення", ], "file reference expired, refetching": [ "文件引用过期,重新获取中", "Ссылка на файл истекла, повторное получение", "Посилання на файл минуло, повторне отримання", ], "file reference expired for 3 retries, download skipped": [ "文件引用过期重试超过3次,跳过下载", "Ссылка на файл истекла после 3 попыток, загрузка пропущена", "Посилання на файл минуло після 3 спроб, завантаження пропущено", ], "Timeout Error occurred when downloading Message": [ "下载消息超时错误", "Ошибка времени ожидания при скачивании сообщения", "Помилка часу очікування при скачуванні повідомлення", ], "retrying": ["重试", "повторная попытка", "повторна спроба"], "seconds": ["秒", "секунд", "секунд"], "Timing out after 3 reties, download skipped": [ "超时重试超过3次,跳过下载", "Истекло время ожидания после 3 попыток, загрузка пропущена", "Час очікування закінчився після 3 спроб, завантаження пропущено", ], "could not be downloaded due to following exception": [ "无法下载,因为以下异常", "не может быть скачен по следующей причине", "не може бути скачаний з наступної причини", ], "Downloading files failed during last run": [ "下载最后一次运行失败的文件", "Скачивание файлов не удалось во время последнего запуска", "Скачування файлів не вдалося під час останнього запуску", ], "Successfully started (Press Ctrl+C to stop)": [ "成功启动(按Ctrl+C停止)", "Запуск успешный (нажмите Ctrl + C для остановки)", "Запуск успішний (натисніть Ctrl + C для зупинки)", ], "KeyboardInterrupt": ["键盘中断", "KeyboardInterrupt", "KeyboardInterrupt"], "update config": ["更新配置", "обновить конфигурацию", "оновити конфігурацію"], "Updated last read message_id to config file": [ "更新最后阅读消息ID到配置文件", "Обновлен идентификатор последнего прочитанного сообщения в конфигурационном файле", "Оновлено ідентифікатор останнього прочитаного повідомлення у конфігураційному файлі", ], "total download": ["总下载", "всего скачено", "всього скачано"], "total upload file": ["总上传文件", "всего скаченных файлов", "всього скачаних файлів"], "Stopped": ["停止", "остановлено", "зупинено"], "already download,download skipped": [ "已下载,已跳过下载", "уже скачен, скачивание пропущена", "вже скачан, скачування пропущено", ], "Media downloaded with wrong size": [ "媒体下载错误的大小", "Медиафайл скачен с неправильным размером", "Медіафайл скачано з неправильним розміром", ], "actual": ["实际", "фактический", "фактичний"], "file name": ["文件名", "имя файла", "ім'я файлу"], "Successfully downloaded": ["成功下载", "Успешно скачано", "Успішно скачано"], "Get group and user info from message link": [ "从消息链接中获取群组和用户信息", "Получить информацию о группе и пользователе по ссылке на сообщение", "Отримайте інформацію про групу та користувача за посиланням у повідомленні", ], "Upload Progresses": ["上传进度", "Прогресс загрузки", "Прогрес завантаження"], "Download Progresses": ["下载进度", "Прогресс скачивания", "Прогрес завантаження"], "New Version": ["新版本", "новая версия", "нова версія"], "Stop bot download or forward": [ "停止机器人下载或转发", "Остановить загрузку или пересылку ботом", "Зупинити завантаження або пересилання ботом", ], "Forward a specific media to a comment section": [ "将特定媒体转发至评论", "Переслать определенное медиа в комментарии", "Переслати конкретне медіа в коментарі", ], } def _t(text: str): """Get translation Parameters ---------- text : str language : str Returns ------- str """ if _language is Language.EN: return text if text in translations: return translations[text][_language.value - 2] return text