Update & Fix reset machine problem

This commit is contained in:
yeongpin 2025-01-15 17:14:05 +08:00
parent 54cd8cf323
commit eb69f933af
5 changed files with 58 additions and 9 deletions

View File

@ -136,6 +136,8 @@
"get_cursor_session_token": "Get Cursor Session Token", "get_cursor_session_token": "Get Cursor Session Token",
"get_cursor_session_token_success": "Get Cursor Session Token Success", "get_cursor_session_token_success": "Get Cursor Session Token Success",
"get_cursor_session_token_failed": "Get Cursor Session Token Failed", "get_cursor_session_token_failed": "Get Cursor Session Token Failed",
"save_token_failed": "Save Token Failed" "save_token_failed": "Save Token Failed",
"database_updated_successfully": "Database Updated Successfully",
"database_connection_closed": "Database Connection Closed"
} }
} }

View File

@ -26,6 +26,27 @@
"timeout": "以下进程未能在规定时间内关闭: {pids}", "timeout": "以下进程未能在规定时间内关闭: {pids}",
"error": "关闭 Cursor 进程时发生错误: {error}" "error": "关闭 Cursor 进程时发生错误: {error}"
}, },
"reset": {
"title": "Cursor 机器标识重置工具",
"checking": "检查配置文件",
"not_found": "配置文件未找到",
"no_permission": "无法读取或写入配置文件,请检查文件权限",
"reading": "读取当前配置",
"creating_backup": "创建配置备份",
"backup_exists": "备份文件已存在,跳过备份步骤",
"generating": "生成新机器标识",
"saving_json": "保存新配置到JSON",
"success": "机器标识重置成功",
"new_id": "新机器标识",
"permission_error": "权限错误: {error}",
"run_as_admin": "请尝试以管理员身份运行此程序",
"process_error": "重置进程错误: {error}",
"updating_sqlite": "更新SQLite数据库",
"updating_pair": "更新键值对",
"sqlite_success": "SQLite数据库更新成功",
"sqlite_error": "SQLite数据库更新失败: {error}",
"press_enter": "按回车键退出"
},
"register": { "register": {
"title": "Cursor 注册工具", "title": "Cursor 注册工具",
"start": "开始注册流程", "start": "开始注册流程",

View File

@ -26,6 +26,27 @@
"timeout": "以下進程未能在規定時間內關閉: {pids}", "timeout": "以下進程未能在規定時間內關閉: {pids}",
"error": "關閉 Cursor 進程時發生錯誤: {error}" "error": "關閉 Cursor 進程時發生錯誤: {error}"
}, },
"reset": {
"title": "Cursor 機器標識重置工具",
"checking": "檢查配置文件",
"not_found": "配置文件未找到",
"no_permission": "無法讀取或寫入配置文件,請檢查文件權限",
"reading": "讀取當前配置",
"creating_backup": "創建配置備份",
"backup_exists": "備份文件已存在,跳過備份步驟",
"generating": "生成新機器標識",
"saving_json": "保存新配置到JSON",
"success": "機器標識重置成功",
"new_id": "新機器標識",
"permission_error": "權限錯誤: {error}",
"run_as_admin": "請嘗試以管理員身份運行此程序",
"process_error": "重置進程錯誤: {error}",
"updating_sqlite": "更新SQLite數據庫",
"updating_pair": "更新鍵值對",
"sqlite_success": "SQLite數據庫更新成功",
"sqlite_error": "SQLite數據庫更新失敗: {error}",
"press_enter": "按回車鍵退出"
},
"register": { "register": {
"title": "Cursor 註冊工具", "title": "Cursor 註冊工具",
"start": "開始註冊流程", "start": "開始註冊流程",

16
main.py
View File

@ -42,11 +42,17 @@ class Translator:
def get(self, key, **kwargs): def get(self, key, **kwargs):
"""获取翻译文本""" """获取翻译文本"""
keys = key.split('.') try:
value = self.translations.get(self.current_language, {}) keys = key.split('.')
for k in keys: value = self.translations.get(self.current_language, {})
value = value.get(k, key) for k in keys:
return value.format(**kwargs) if kwargs else value if isinstance(value, dict):
value = value.get(k, key)
else:
return key # 如果中間值不是字典返回原始key
return value.format(**kwargs) if kwargs else value
except Exception:
return key # 出現任何錯誤時返回原始key
def set_language(self, lang_code): def set_language(self, lang_code):
"""设置当前语言""" """设置当前语言"""

View File

@ -160,18 +160,17 @@ class MachineIDResetter:
return False return False
def run(translator=None): def run(translator=None):
"""Main function to be called from main.py""" """便捷函数,用于直接调用重置功能"""
print(f"\n{Fore.CYAN}{'='*50}{Style.RESET_ALL}") print(f"\n{Fore.CYAN}{'='*50}{Style.RESET_ALL}")
print(f"{Fore.CYAN}{EMOJI['RESET']} {translator.get('reset.title')}{Style.RESET_ALL}") print(f"{Fore.CYAN}{EMOJI['RESET']} {translator.get('reset.title')}{Style.RESET_ALL}")
print(f"{Fore.CYAN}{'='*50}{Style.RESET_ALL}") print(f"{Fore.CYAN}{'='*50}{Style.RESET_ALL}")
resetter = MachineIDResetter(translator) resetter = MachineIDResetter(translator) # 正確傳遞 translator
resetter.reset_machine_ids() resetter.reset_machine_ids()
print(f"\n{Fore.CYAN}{'='*50}{Style.RESET_ALL}") print(f"\n{Fore.CYAN}{'='*50}{Style.RESET_ALL}")
input(f"{EMOJI['INFO']} {translator.get('reset.press_enter')}...") input(f"{EMOJI['INFO']} {translator.get('reset.press_enter')}...")
if __name__ == "__main__": if __name__ == "__main__":
# 如果直接运行,使用默认翻译器
from main import translator as main_translator from main import translator as main_translator
run(main_translator) run(main_translator)