| 
							
								 | 
							
							#!/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 }}}',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Change language',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '[[ 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 bootloader (Breed/U-Boot)',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '__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-Русский]: ',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'bootloader_choice': 'Select bootloader [1-Breed, 2-U-Boot]: '
 | 
						
						
						
						
							 | 
							
								 | 
							
							        }
 | 
						
						
						
						
							 | 
							
								 | 
							
							    },
 | 
						
						
						
						
							 | 
							
								 | 
							
							    'zh': {
 | 
						
						
						
						
							 | 
							
								 | 
							
							        'title': '小米路由器破解工具',
 | 
						
						
						
						
							 | 
							
								 | 
							
							        'main_menu': [
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '设置IP地址 (当前值: {})',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '连接设备 (安装漏洞利用)',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '读取完整设备信息',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '创建完整备份',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '安装 英文/俄文/中文 语言包',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '安装永久SSH',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '安装固件 (从 "firmware" 目录)',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '{{{ 其他功能 }}}',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '更改语言',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '[[ 重启设备 ]]',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '退出'
 | 
						
						
						
						
							 | 
							
								 | 
							
							        ],
 | 
						
						
						
						
							 | 
							
								 | 
							
							        'extended_menu': [
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '设置IP地址 (当前值: {})',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '修改root密码',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '读取dmesg和系统日志',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '创建指定分区备份',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '卸载 英文/俄文/中文 语言包',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '设置内核启动地址',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '安装引导程序 (Breed/U-Boot)',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '__测试__',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '[[ 重启设备 ]]',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '返回主菜单'
 | 
						
						
						
						
							 | 
							
								 | 
							
							        ],
 | 
						
						
						
						
							 | 
							
								 | 
							
							        'prompts': {
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'select': '请选择: ',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'choice': '请选择: ',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'enter_ip': '请输入设备IP地址: ',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'extended_functions': '(扩展功能)',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'language_menu': 'Language / 语言 / Язык',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'language_prompt': '选择语言 [1-English, 2-中文, 3-Русский]: ',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'bootloader_choice': '选择引导程序 [1-Breed, 2-U-Boot]: '
 | 
						
						
						
						
							 | 
							
								 | 
							
							        }
 | 
						
						
						
						
							 | 
							
								 | 
							
							    },
 | 
						
						
						
						
							 | 
							
								 | 
							
							    'ru': {
 | 
						
						
						
						
							 | 
							
								 | 
							
							        'title': 'Xiaomi MiR Patcher',
 | 
						
						
						
						
							 | 
							
								 | 
							
							        'main_menu': [
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Установить IP-адрес (текущее значение: {})',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Подключиться к устройству (установить эксплойт)',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Читать полную информацию об устройстве',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Создать полную резервную копию',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Установить языки EN/RU/ZH',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Установить постоянный SSH',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Установить прошивку (из папки "firmware")',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '{{{ Другие функции }}}',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Изменить язык',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '[[ Перезагрузить устройство ]]',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Выход'
 | 
						
						
						
						
							 | 
							
								 | 
							
							        ],
 | 
						
						
						
						
							 | 
							
								 | 
							
							        'extended_menu': [
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Установить IP-адрес (текущее значение: {})',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Изменить пароль root',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Прочитать dmesg и syslog',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Создать резервную копию указанного раздела',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Удалить языки EN/RU/ZH',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Установить адрес загрузки ядра',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Установить загрузчик (Breed/U-Boot)',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '__тест__',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            '[[ Перезагрузить устройство ]]',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'Вернуться в главное меню'
 | 
						
						
						
						
							 | 
							
								 | 
							
							        ],
 | 
						
						
						
						
							 | 
							
								 | 
							
							        'prompts': {
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'select': 'Выбрать: ',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'choice': 'Выбор: ',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'enter_ip': 'Введите IP-адрес устройства: ',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'extended_functions': '(расширенные функции)',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'language_menu': 'Language / 语言 / Язык',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'language_prompt': 'Выберите язык [1-English, 2-中文, 3-Русский]: ',
 | 
						
						
						
						
							 | 
							
								 | 
							
							            'bootloader_choice': 'Выберите загрузчик [1-Breed, 2-U-Boot]: '
 | 
						
						
						
						
							 | 
							
								 | 
							
							        }
 | 
						
						
						
						
							 | 
							
								 | 
							
							    }
 | 
						
						
						
						
							 | 
							
								 | 
							
							}
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							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()) |