#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Language translations for menu system # Supported languages: en (English), zh (Chinese), ru (Russian) TRANSLATIONS = { 'en': { 'title': 'Xiaomi MiR Patcher', 'main_menu': [ 'Set IP-address (current value: {})', 'Connect to device (install exploit)', 'Read full device info', 'Create full backup', 'Install EN/RU/ZH languages', 'Install permanent SSH', 'Install firmware (from directory "firmware")', '{{{ Other functions }}}', '[[ Reboot device ]]', 'Exit' ], 'extended_menu': [ 'Set IP-address (current value: {})', 'Change root password', 'Read dmesg and syslog', 'Create a backup of the specified partition', 'Uninstall EN/RU/ZH languages', 'Set kernel boot address', 'Install Breed bootloader', '__test__', '[[ Reboot device ]]', 'Return to main menu' ], 'prompts': { 'select': 'Select: ', 'choice': 'Choice: ', 'enter_ip': 'Enter device IP-address: ', 'extended_functions': '(extended functions)', 'language_menu': 'Language / 语言 / Язык', 'language_prompt': 'Select language [1-English, 2-中文, 3-Русский]: ' } }, 'zh': { 'title': '小米路由器破解工具', 'main_menu': [ '设置IP地址 (当前值: {})', '连接设备 (安装漏洞利用)', '读取完整设备信息', '创建完整备份', '安装 英文/俄文/中文 语言包', '安装永久SSH', '安装固件 (从 "firmware" 目录)', '{{{ 其他功能 }}}', '[[ 重启设备 ]]', '退出' ], 'extended_menu': [ '设置IP地址 (当前值: {})', '修改root密码', '读取dmesg和系统日志', '创建指定分区备份', '卸载 英文/俄文/中文 语言包', '设置内核启动地址', '安装Breed引导程序', '__测试__', '[[ 重启设备 ]]', '返回主菜单' ], 'prompts': { 'select': '请选择: ', 'choice': '请选择: ', 'enter_ip': '请输入设备IP地址: ', 'extended_functions': '(扩展功能)', 'language_menu': 'Language / 语言 / Язык', 'language_prompt': '选择语言 [1-English, 2-中文, 3-Русский]: ' } }, 'ru': { 'title': 'Xiaomi MiR Patcher', 'main_menu': [ 'Установить IP-адрес (текущее значение: {})', 'Подключиться к устройству (установить эксплойт)', 'Читать полную информацию об устройстве', 'Создать полную резервную копию', 'Установить языки EN/RU/ZH', 'Установить постоянный SSH', 'Установить прошивку (из папки "firmware")', '{{{ Другие функции }}}', '[[ Перезагрузить устройство ]]', 'Выход' ], 'extended_menu': [ 'Установить IP-адрес (текущее значение: {})', 'Изменить пароль root', 'Прочитать dmesg и syslog', 'Создать резервную копию указанного раздела', 'Удалить языки EN/RU/ZH', 'Установить адрес загрузки ядра', 'Установить загрузчик Breed', '__тест__', '[[ Перезагрузить устройство ]]', 'Вернуться в главное меню' ], 'prompts': { 'select': 'Выбрать: ', 'choice': 'Выбор: ', 'enter_ip': 'Введите IP-адрес устройства: ', 'extended_functions': '(расширенные функции)', 'language_menu': 'Language / 语言 / Язык', 'language_prompt': 'Выберите язык [1-English, 2-中文, 3-Русский]: ' } } } def get_translation(lang, key, *args): """Get translated text for given language and key""" if lang not in TRANSLATIONS: lang = 'en' # fallback to English trans = TRANSLATIONS[lang] if key in trans: if isinstance(trans[key], list): return trans[key] elif args: return trans[key].format(*args) else: return trans[key] elif key in trans.get('prompts', {}): text = trans['prompts'][key] if args: return text.format(*args) return text else: # fallback to English only if we're not already using English if lang != 'en': return get_translation('en', key, *args) else: # If key not found even in English, return a default message return f"[Missing translation: {key}]" def get_supported_languages(): """Get list of supported language codes""" return list(TRANSLATIONS.keys())