forked from mirrors/cursor-free-vip
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
80e9946294 | ||
|
|
4ef293da81 | ||
|
|
eb6ef6bb3b | ||
|
|
3700239c99 | ||
|
|
a8966de771 | ||
|
|
8943266f6e | ||
|
|
35ed9cb6f6 | ||
|
|
3d1450ced0 | ||
|
|
892fc85efa | ||
|
|
feaf9906ba | ||
|
|
568e38e70c | ||
|
|
ab7281921e |
@@ -1,5 +1,11 @@
|
|||||||
# Change Log
|
# Change Log
|
||||||
|
|
||||||
|
## v1.7.18
|
||||||
|
1. Fix: No Write Permission | 修復沒有寫入權限
|
||||||
|
2. Fix: Improve Linux path detection and config handling | 修正 linux 路徑和config寫入讀取
|
||||||
|
3. Fix: Locale path_no_exist missing | 修正 path_no_exist 語言遺失
|
||||||
|
4. Fix: Some Issues | 修復一些問題
|
||||||
|
|
||||||
## v1.7.17
|
## v1.7.17
|
||||||
1. Fix: Remove 10 options Totally Reset Cursor | 修復完全重置 Cursor 選項
|
1. Fix: Remove 10 options Totally Reset Cursor | 修復完全重置 Cursor 選項
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
[](https://github.com/yeongpin/cursor-free-vip/releases/latest)
|
[](https://github.com/yeongpin/cursor-free-vip/releases/latest)
|
||||||
[](https://creativecommons.org/licenses/by-nc-nd/4.0/)
|
[](https://creativecommons.org/licenses/by-nc-nd/4.0/)
|
||||||
[](https://github.com/yeongpin/cursor-free-vip/stargazers)
|
[](https://github.com/yeongpin/cursor-free-vip/stargazers)
|
||||||
[](https://github.com/yeongpin/cursor-free-vip/releases/latest)
|
[](https://github.com/yeongpin/cursor-free-vip/releases/latest)
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<h4>Support Latest 0.47.x Version | 支持最新 0.47.x 版本</h4>
|
<h4>Support Latest 0.47.x Version | 支持最新 0.47.x 版本</h4>
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
"register_manual": "Регистрирай се със свой имейл по избор",
|
"register_manual": "Регистрирай се със свой имейл по избор",
|
||||||
"quit": "Затвори приложението Курсор",
|
"quit": "Затвори приложението Курсор",
|
||||||
"select_language": "Избери език",
|
"select_language": "Избери език",
|
||||||
|
"es": "Spanish",
|
||||||
"input_choice": "Моля, въведете своя избор ({choices})",
|
"input_choice": "Моля, въведете своя избор ({choices})",
|
||||||
"invalid_choice": "Невалиден избор. Моля, въведете избор от {choices}.",
|
"invalid_choice": "Невалиден избор. Моля, въведете избор от {choices}.",
|
||||||
"program_terminated": "Програмата беше затворена от вас",
|
"program_terminated": "Програмата беше затворена от вас",
|
||||||
@@ -32,7 +33,8 @@
|
|||||||
"pt": "Portuguese",
|
"pt": "Portuguese",
|
||||||
"ru": "Russian",
|
"ru": "Russian",
|
||||||
"tr": "Turkish",
|
"tr": "Turkish",
|
||||||
"bg": "Bulgarian"
|
"bg": "Bulgarian",
|
||||||
|
"es": "Spanish"
|
||||||
},
|
},
|
||||||
"quit_cursor": {
|
"quit_cursor": {
|
||||||
"start": "Започни излизането от Курсор",
|
"start": "Започни излизането от Курсор",
|
||||||
|
|||||||
@@ -32,7 +32,8 @@
|
|||||||
"de": "Deutsch",
|
"de": "Deutsch",
|
||||||
"fr": "Französisch",
|
"fr": "Französisch",
|
||||||
"pt": "Portugiesisch",
|
"pt": "Portugiesisch",
|
||||||
"ru": "Russisch"
|
"ru": "Russisch",
|
||||||
|
"es": "Spanisch"
|
||||||
},
|
},
|
||||||
"quit_cursor": {
|
"quit_cursor": {
|
||||||
"start": "Beginne Cursor zu Beenden",
|
"start": "Beginne Cursor zu Beenden",
|
||||||
|
|||||||
@@ -35,7 +35,8 @@
|
|||||||
"pt": "Portuguese",
|
"pt": "Portuguese",
|
||||||
"ru": "Russian",
|
"ru": "Russian",
|
||||||
"tr": "Turkish",
|
"tr": "Turkish",
|
||||||
"bg": "Bulgarian"
|
"bg": "Bulgarian",
|
||||||
|
"es": "Spanish"
|
||||||
},
|
},
|
||||||
"quit_cursor": {
|
"quit_cursor": {
|
||||||
"start": "Start Quitting Cursor",
|
"start": "Start Quitting Cursor",
|
||||||
@@ -102,8 +103,9 @@
|
|||||||
"package_not_found": "Package.json Not Found: {path}",
|
"package_not_found": "Package.json Not Found: {path}",
|
||||||
"check_version_failed": "Check Version Failed: {error}",
|
"check_version_failed": "Check Version Failed: {error}",
|
||||||
"stack_trace": "Stack Trace",
|
"stack_trace": "Stack Trace",
|
||||||
"version_too_low": "Cursor Version Too Low: {version} < 0.45.0"
|
"version_too_low": "Cursor Version Too Low: {version} < 0.45.0",
|
||||||
|
"no_write_permission": "No Write Permission: {path}",
|
||||||
|
"path_not_found": "Path Not Found: {path}"
|
||||||
},
|
},
|
||||||
"register": {
|
"register": {
|
||||||
"title": "Cursor Registration Tool",
|
"title": "Cursor Registration Tool",
|
||||||
|
|||||||
443
locales/es.json
Normal file
443
locales/es.json
Normal file
@@ -0,0 +1,443 @@
|
|||||||
|
{
|
||||||
|
"menu": {
|
||||||
|
"title": "Opciones Disponibles",
|
||||||
|
"exit": "Salir del Programa",
|
||||||
|
"reset": "Restablecer ID de Máquina",
|
||||||
|
"register": "Registrar Nueva Cuenta de Cursor",
|
||||||
|
"register_google": "Registrarse con Cuenta de Google",
|
||||||
|
"register_github": "Registrarse con Cuenta de GitHub",
|
||||||
|
"register_manual": "Registrar Cursor con Correo Personalizado",
|
||||||
|
"quit": "Cerrar Aplicación Cursor",
|
||||||
|
"select_language": "Cambiar Idioma",
|
||||||
|
"input_choice": "Por favor, ingrese su elección ({choices})",
|
||||||
|
"invalid_choice": "Selección inválida. Por favor ingrese un número de {choices}",
|
||||||
|
"program_terminated": "El programa fue terminado por el usuario",
|
||||||
|
"error_occurred": "Ocurrió un error: {error}. Por favor intente de nuevo",
|
||||||
|
"press_enter": "Presione Enter para Salir",
|
||||||
|
"disable_auto_update": "Deshabilitar Actualización Automática de Cursor",
|
||||||
|
"lifetime_access_enabled": "ACCESO DE POR VIDA ACTIVADO",
|
||||||
|
"totally_reset": "Restablecer Cursor Completamente",
|
||||||
|
"outdate": "Desactualizado",
|
||||||
|
"temp_github_register": "Registro Temporal de GitHub",
|
||||||
|
"admin_required": "Ejecutando como ejecutable, se requieren privilegios de administrador.",
|
||||||
|
"admin_required_continue": "Continuando sin privilegios de administrador.",
|
||||||
|
"coming_soon": "Próximamente",
|
||||||
|
"fixed_soon": "Arreglado Pronto"
|
||||||
|
},
|
||||||
|
"languages": {
|
||||||
|
"en": "Inglés",
|
||||||
|
"zh_cn": "简体中文",
|
||||||
|
"zh_tw": "繁體中文",
|
||||||
|
"vi": "Vietnamita",
|
||||||
|
"nl": "Holandés",
|
||||||
|
"de": "Alemán",
|
||||||
|
"fr": "Francés",
|
||||||
|
"pt": "Portugués",
|
||||||
|
"ru": "Ruso",
|
||||||
|
"tr": "Turco",
|
||||||
|
"bg": "Búlgaro",
|
||||||
|
"es": "Español"
|
||||||
|
},
|
||||||
|
"quit_cursor": {
|
||||||
|
"start": "Comenzando a Cerrar Cursor",
|
||||||
|
"no_process": "No Hay Procesos de Cursor en Ejecución",
|
||||||
|
"terminating": "Terminando Proceso {pid}",
|
||||||
|
"waiting": "Esperando que el Proceso Termine",
|
||||||
|
"success": "Todos los Procesos de Cursor Cerrados",
|
||||||
|
"timeout": "Tiempo de Espera Agotado: {pids}",
|
||||||
|
"error": "Ocurrió un Error: {error}"
|
||||||
|
},
|
||||||
|
"reset": {
|
||||||
|
"title": "Herramienta de Restablecimiento de ID de Máquina de Cursor",
|
||||||
|
"checking": "Verificando Archivo de Configuración",
|
||||||
|
"not_found": "Archivo de Configuración No Encontrado",
|
||||||
|
"no_permission": "No se Puede Leer o Escribir el Archivo de Configuración, Verifique los Permisos",
|
||||||
|
"reading": "Leyendo Configuración Actual",
|
||||||
|
"creating_backup": "Creando Copia de Seguridad de la Configuración",
|
||||||
|
"backup_exists": "El Archivo de Respaldo ya Existe, Omitiendo Paso de Respaldo",
|
||||||
|
"generating": "Generando Nuevo ID de Máquina",
|
||||||
|
"saving_json": "Guardando Nueva Configuración en JSON",
|
||||||
|
"success": "ID de Máquina Restablecido Exitosamente",
|
||||||
|
"new_id": "Nuevo ID de Máquina",
|
||||||
|
"permission_error": "Error de Permisos: {error}",
|
||||||
|
"run_as_admin": "Por Favor Intente Ejecutar Este Programa como Administrador",
|
||||||
|
"process_error": "Error en el Proceso de Restablecimiento: {error}",
|
||||||
|
"updating_sqlite": "Actualizando Base de Datos SQLite",
|
||||||
|
"updating_pair": "Actualizando Par Clave-Valor",
|
||||||
|
"sqlite_success": "Base de Datos SQLite Actualizada Exitosamente",
|
||||||
|
"sqlite_error": "Falló la Actualización de la Base de Datos SQLite: {error}",
|
||||||
|
"press_enter": "Presione Enter para Salir",
|
||||||
|
"unsupported_os": "Sistema Operativo No Soportado: {os}",
|
||||||
|
"linux_path_not_found": "Ruta de Linux No Encontrada",
|
||||||
|
"updating_system_ids": "Actualizando IDs del Sistema",
|
||||||
|
"system_ids_updated": "IDs del Sistema Actualizados Exitosamente",
|
||||||
|
"system_ids_update_failed": "Falló la Actualización de IDs del Sistema: {error}",
|
||||||
|
"windows_guid_updated": "GUID de Windows Actualizado Exitosamente",
|
||||||
|
"windows_permission_denied": "Permisos de Windows Denegados",
|
||||||
|
"windows_guid_update_failed": "Falló la Actualización del GUID de Windows",
|
||||||
|
"macos_uuid_updated": "UUID de macOS Actualizado Exitosamente",
|
||||||
|
"plutil_command_failed": "Falló el Comando plutil",
|
||||||
|
"start_patching": "Iniciando Parcheo de getMachineId",
|
||||||
|
"macos_uuid_update_failed": "Falló la Actualización del UUID de macOS",
|
||||||
|
"current_version": "Versión Actual de Cursor: {version}",
|
||||||
|
"patch_completed": "Parcheo de getMachineId Completado",
|
||||||
|
"patch_failed": "Falló el Parcheo de getMachineId: {error}",
|
||||||
|
"version_check_passed": "Verificación de Versión de Cursor Exitosa",
|
||||||
|
"file_modified": "Archivo Modificado",
|
||||||
|
"version_less_than_0_45": "Versión de Cursor < 0.45.0, Omitiendo Parcheo de getMachineId",
|
||||||
|
"detecting_version": "Detectando Versión de Cursor",
|
||||||
|
"patching_getmachineid": "Parcheando getMachineId",
|
||||||
|
"version_greater_than_0_45": "Versión de Cursor >= 0.45.0, Parcheando getMachineId",
|
||||||
|
"permission_denied": "Permiso Denegado: {error}",
|
||||||
|
"backup_created": "Copia de Seguridad Creada",
|
||||||
|
"update_success": "Actualización Exitosa",
|
||||||
|
"update_failed": "Falló la Actualización: {error}",
|
||||||
|
"windows_machine_guid_updated": "GUID de Máquina Windows Actualizado Exitosamente",
|
||||||
|
"reading_package_json": "Leyendo package.json {path}",
|
||||||
|
"invalid_json_object": "Objeto JSON Inválido",
|
||||||
|
"no_version_field": "No se Encontró el Campo de Versión en package.json",
|
||||||
|
"version_field_empty": "El Campo de Versión está Vacío",
|
||||||
|
"invalid_version_format": "Formato de Versión Inválido: {version}",
|
||||||
|
"found_version": "Versión Encontrada: {version}",
|
||||||
|
"version_parse_error": "Error al Analizar Versión: {error}",
|
||||||
|
"package_not_found": "Package.json No Encontrado: {path}",
|
||||||
|
"check_version_failed": "Falló la Verificación de Versión: {error}",
|
||||||
|
"stack_trace": "Traza de la Pila",
|
||||||
|
"version_too_low": "Versión de Cursor Muy Baja: {version} < 0.45.0"
|
||||||
|
|
||||||
|
},
|
||||||
|
"register": {
|
||||||
|
"title": "Herramienta de Registro de Cursor",
|
||||||
|
"start": "Iniciando proceso de registro...",
|
||||||
|
"handling_turnstile": "Procesando verificación de seguridad...",
|
||||||
|
"retry_verification": "Reintentando verificación...",
|
||||||
|
"detect_turnstile": "Comprobando verificación de seguridad...",
|
||||||
|
"verification_success": "Verificación de seguridad exitosa",
|
||||||
|
"starting_browser": "Abriendo navegador...",
|
||||||
|
"form_success": "Formulario enviado exitosamente",
|
||||||
|
"browser_started": "Navegador abierto exitosamente",
|
||||||
|
"waiting_for_second_verification": "Esperando verificación por correo electrónico...",
|
||||||
|
"waiting_for_verification_code": "Esperando código de verificación...",
|
||||||
|
"password_success": "Contraseña establecida exitosamente",
|
||||||
|
"password_error": "No se pudo establecer la contraseña: {error}. Por favor intente de nuevo",
|
||||||
|
"waiting_for_page_load": "Cargando página...",
|
||||||
|
"first_verification_passed": "Verificación inicial exitosa",
|
||||||
|
"mailbox": "Acceso exitoso a la bandeja de entrada",
|
||||||
|
"register_start": "Iniciar Registro",
|
||||||
|
"form_submitted": "Formulario Enviado, Iniciando Verificación...",
|
||||||
|
"filling_form": "Rellenando Formulario",
|
||||||
|
"visiting_url": "Visitando URL",
|
||||||
|
"basic_info": "Información Básica Enviada",
|
||||||
|
"handle_turnstile": "Manejar Turnstile",
|
||||||
|
"no_turnstile": "No se Detectó Turnstile",
|
||||||
|
"turnstile_passed": "Turnstile Superado",
|
||||||
|
"verification_start": "Comenzar a Obtener Código de Verificación",
|
||||||
|
"verification_timeout": "Tiempo de Espera Agotado para Código de Verificación",
|
||||||
|
"verification_not_found": "No se Encontró Código de Verificación",
|
||||||
|
"try_get_code": "Intento | {attempt} Obtener Código de Verificación | Tiempo Restante: {time}s",
|
||||||
|
"get_account": "Obteniendo Información de la Cuenta",
|
||||||
|
"get_token": "Obtener Token de Sesión de Cursor",
|
||||||
|
"token_success": "Token Obtenido Exitosamente",
|
||||||
|
"token_attempt": "Intento | {attempt} veces para obtener Token | Se reintentará en {time}s",
|
||||||
|
"token_max_attempts": "Alcanzado Máximo de Intentos ({max}) | No se pudo obtener Token",
|
||||||
|
"token_failed": "Falló al Obtener Token: {error}",
|
||||||
|
"account_error": "Falló al Obtener Información de la Cuenta: {error}",
|
||||||
|
"press_enter": "Presione Enter para Salir",
|
||||||
|
"browser_start": "Iniciando Navegador",
|
||||||
|
"open_mailbox": "Abriendo Página de Correo",
|
||||||
|
"email_error": "Falló al Obtener Dirección de Correo",
|
||||||
|
"setup_error": "Error de Configuración de Correo: {error}",
|
||||||
|
"start_getting_verification_code": "Comenzando a Obtener Código de Verificación, Se Intentará en 60s",
|
||||||
|
"get_verification_code_timeout": "Tiempo de Espera Agotado para Código de Verificación",
|
||||||
|
"get_verification_code_success": "Código de Verificación Obtenido Exitosamente",
|
||||||
|
"try_get_verification_code": "Intento | {attempt} Obtener Código de Verificación | Tiempo Restante: {remaining_time}s",
|
||||||
|
"verification_code_filled": "Código de Verificación Completado",
|
||||||
|
"login_success_and_jump_to_settings_page": "Inicio de Sesión Exitoso y Salto a Página de Configuración",
|
||||||
|
"detect_login_page": "Página de Inicio de Sesión Detectada, Iniciando Sesión...",
|
||||||
|
"cursor_registration_completed": "¡Registro de Cursor Completado!",
|
||||||
|
"set_password": "Establecer Contraseña",
|
||||||
|
"basic_info_submitted": "Información Básica Enviada",
|
||||||
|
"cursor_auth_info_updated": "Información de Autenticación de Cursor Actualizada",
|
||||||
|
"cursor_auth_info_update_failed": "Falló la Actualización de Información de Autenticación de Cursor",
|
||||||
|
"reset_machine_id": "Restablecer ID de Máquina",
|
||||||
|
"account_info_saved": "Información de Cuenta Guardada",
|
||||||
|
"save_account_info_failed": "Falló al Guardar Información de Cuenta",
|
||||||
|
"get_email_address": "Obtener Dirección de Correo",
|
||||||
|
"update_cursor_auth_info": "Actualizar Información de Autenticación de Cursor",
|
||||||
|
"register_process_error": "Error en el Proceso de Registro: {error}",
|
||||||
|
"setting_password": "Estableciendo Contraseña",
|
||||||
|
"manual_code_input": "Entrada Manual de Código",
|
||||||
|
"manual_email_input": "Entrada Manual de Correo",
|
||||||
|
"password": "Contraseña",
|
||||||
|
"first_name": "Nombre",
|
||||||
|
"last_name": "Apellido",
|
||||||
|
"exit_signal": "Señal de Salida",
|
||||||
|
"email_address": "Dirección de Correo",
|
||||||
|
"config_created": "Configuración Creada",
|
||||||
|
"verification_failed": "Verificación Fallida",
|
||||||
|
"verification_error": "Error de Verificación: {error}",
|
||||||
|
"config_option_added": "Opción de Configuración Añadida: {option}",
|
||||||
|
"config_updated": "Configuración Actualizada",
|
||||||
|
"password_submitted": "Contraseña Enviada",
|
||||||
|
"total_usage": "Uso Total: {usage}",
|
||||||
|
"setting_on_password": "Estableciendo Contraseña",
|
||||||
|
"getting_code": "Obteniendo Código de Verificación, Se Intentará en 60s",
|
||||||
|
"human_verify_error": "No se puede verificar que el usuario es humano. Reintentando...",
|
||||||
|
"max_retries_reached": "Se alcanzó el máximo de intentos. Registro fallido."
|
||||||
|
},
|
||||||
|
"auth": {
|
||||||
|
"title": "Administrador de Autenticación de Cursor",
|
||||||
|
"checking_auth": "Verificando Archivo de Autenticación",
|
||||||
|
"auth_not_found": "Archivo de Autenticación No Encontrado",
|
||||||
|
"auth_file_error": "Error en Archivo de Autenticación: {error}",
|
||||||
|
"reading_auth": "Leyendo Archivo de Autenticación",
|
||||||
|
"updating_auth": "Actualizando Información de Autenticación",
|
||||||
|
"auth_updated": "Información de Autenticación Actualizada Exitosamente",
|
||||||
|
"auth_update_failed": "Falló la Actualización de Información de Autenticación: {error}",
|
||||||
|
"auth_file_created": "Archivo de Autenticación Creado",
|
||||||
|
"auth_file_create_failed": "Falló la Creación del Archivo de Autenticación: {error}",
|
||||||
|
"press_enter": "Presione Enter para Salir",
|
||||||
|
"reset_machine_id": "Restablecer ID de Máquina",
|
||||||
|
"database_connection_closed": "Conexión a la Base de Datos Cerrada",
|
||||||
|
"database_updated_successfully": "Base de Datos Actualizada Exitosamente",
|
||||||
|
"connected_to_database": "Conectado a la Base de Datos",
|
||||||
|
"updating_pair": "Actualizando Par Clave-Valor",
|
||||||
|
"db_not_found": "Archivo de base de datos no encontrado en: {path}",
|
||||||
|
"db_permission_error": "No se puede acceder al archivo de base de datos. Verifique los permisos",
|
||||||
|
"db_connection_error": "Falló la conexión a la base de datos: {error}"
|
||||||
|
},
|
||||||
|
"control": {
|
||||||
|
"generate_email": "Generando Nuevo Correo",
|
||||||
|
"blocked_domain": "Dominio Bloqueado",
|
||||||
|
"select_domain": "Seleccionando Dominio Aleatorio",
|
||||||
|
"copy_email": "Copiando Dirección de Correo",
|
||||||
|
"enter_mailbox": "Entrando al Buzón de Correo",
|
||||||
|
"refresh_mailbox": "Actualizando Buzón de Correo",
|
||||||
|
"check_verification": "Verificando Código de Verificación",
|
||||||
|
"verification_found": "Código de Verificación Encontrado",
|
||||||
|
"verification_not_found": "No se Encontró Código de Verificación",
|
||||||
|
"browser_error": "Error de Control del Navegador: {error}",
|
||||||
|
"navigation_error": "Error de Navegación: {error}",
|
||||||
|
"email_copy_error": "Error al Copiar Correo: {error}",
|
||||||
|
"mailbox_error": "Error en el Buzón de Correo: {error}",
|
||||||
|
"token_saved_to_file": "Token Guardado en cursor_tokens.txt",
|
||||||
|
"navigate_to": "Navegando a {url}",
|
||||||
|
"generate_email_success": "Generación de Correo Exitosa",
|
||||||
|
"select_email_domain": "Seleccionar Dominio de Correo",
|
||||||
|
"select_email_domain_success": "Selección de Dominio de Correo Exitosa",
|
||||||
|
"get_email_name": "Obtener Nombre de Correo",
|
||||||
|
"get_email_name_success": "Nombre de Correo Obtenido Exitosamente",
|
||||||
|
"get_email_address": "Obtener Dirección de Correo",
|
||||||
|
"get_email_address_success": "Dirección de Correo Obtenida Exitosamente",
|
||||||
|
"enter_mailbox_success": "Entrada al Buzón de Correo Exitosa",
|
||||||
|
"found_verification_code": "Código de Verificación Encontrado",
|
||||||
|
"get_cursor_session_token": "Obtener Token de Sesión de Cursor",
|
||||||
|
"get_cursor_session_token_success": "Token de Sesión de Cursor Obtenido Exitosamente",
|
||||||
|
"get_cursor_session_token_failed": "Falló al Obtener Token de Sesión de Cursor",
|
||||||
|
"save_token_failed": "Falló al Guardar Token",
|
||||||
|
"database_updated_successfully": "Base de Datos Actualizada Exitosamente",
|
||||||
|
"database_connection_closed": "Conexión a la Base de Datos Cerrada",
|
||||||
|
"no_valid_verification_code": "No Hay Código de Verificación Válido"
|
||||||
|
},
|
||||||
|
"email": {
|
||||||
|
"starting_browser": "Iniciando Navegador",
|
||||||
|
"visiting_site": "Visitando dominios de correo",
|
||||||
|
"create_success": "Correo Creado Exitosamente",
|
||||||
|
"create_failed": "Falló al Crear Correo",
|
||||||
|
"create_error": "Error en la Creación del Correo: {error}",
|
||||||
|
"refreshing": "Actualizando Correo",
|
||||||
|
"refresh_success": "Correo Actualizado Exitosamente",
|
||||||
|
"refresh_error": "Error al Actualizar Correo: {error}",
|
||||||
|
"refresh_button_not_found": "Botón de Actualización No Encontrado",
|
||||||
|
"verification_found": "Verificación Encontrada",
|
||||||
|
"verification_not_found": "Verificación No Encontrada",
|
||||||
|
"verification_error": "Error de Verificación: {error}",
|
||||||
|
"verification_code_found": "Código de Verificación Encontrado",
|
||||||
|
"verification_code_not_found": "Código de Verificación No Encontrado",
|
||||||
|
"verification_code_error": "Error en el Código de Verificación: {error}",
|
||||||
|
"address": "Dirección de Correo",
|
||||||
|
"all_domains_blocked": "Todos los Dominios Bloqueados, Cambiando Servicio",
|
||||||
|
"no_available_domains_after_filtering": "No Hay Dominios Disponibles Después del Filtrado",
|
||||||
|
"switching_service": "Cambiando al Servicio {service}",
|
||||||
|
"domains_list_error": "Falló al Obtener Lista de Dominios: {error}",
|
||||||
|
"failed_to_get_available_domains": "Falló al Obtener Dominios Disponibles",
|
||||||
|
"domains_excluded": "Dominios Excluidos: {domains}",
|
||||||
|
"failed_to_create_account": "Falló al Crear Cuenta",
|
||||||
|
"account_creation_error": "Error en la Creación de la Cuenta: {error}",
|
||||||
|
"blocked_domains": "Dominios Bloqueados: {domains}",
|
||||||
|
"blocked_domains_loaded": "Dominios Bloqueados Cargados: {count}",
|
||||||
|
"blocked_domains_loaded_error": "Error al Cargar Dominios Bloqueados: {error}",
|
||||||
|
"blocked_domains_loaded_success": "Dominios Bloqueados Cargados Exitosamente",
|
||||||
|
"blocked_domains_loaded_timeout": "Tiempo de Espera Agotado para Cargar Dominios Bloqueados: {timeout}s",
|
||||||
|
"blocked_domains_loaded_timeout_error": "Error de Tiempo de Espera al Cargar Dominios Bloqueados: {error}",
|
||||||
|
"available_domains_loaded": "Dominios Disponibles Cargados: {count}",
|
||||||
|
"domains_filtered": "Dominios Filtrados: {count}",
|
||||||
|
"trying_to_create_email": "Intentando crear correo: {email}",
|
||||||
|
"domain_blocked": "Dominio Bloqueado: {domain}"
|
||||||
|
},
|
||||||
|
"update": {
|
||||||
|
"title": "Deshabilitar Actualización Automática de Cursor",
|
||||||
|
"disable_success": "Actualización Automática Deshabilitada Exitosamente",
|
||||||
|
"disable_failed": "Falló al Deshabilitar Actualización Automática: {error}",
|
||||||
|
"press_enter": "Presione Enter para Salir",
|
||||||
|
"start_disable": "Comenzar a Deshabilitar Actualización Automática",
|
||||||
|
"killing_processes": "Terminando Procesos",
|
||||||
|
"processes_killed": "Procesos Terminados",
|
||||||
|
"removing_directory": "Eliminando Directorio",
|
||||||
|
"directory_removed": "Directorio Eliminado",
|
||||||
|
"creating_block_file": "Creando Archivo de Bloqueo",
|
||||||
|
"block_file_created": "Archivo de Bloqueo Creado"
|
||||||
|
},
|
||||||
|
"updater": {
|
||||||
|
"checking": "Buscando actualizaciones...",
|
||||||
|
"new_version_available": "¡Nueva versión disponible! (Actual: {current}, Última: {latest})",
|
||||||
|
"updating": "Actualizando a la última versión. El programa se reiniciará automáticamente.",
|
||||||
|
"up_to_date": "Está utilizando la última versión.",
|
||||||
|
"check_failed": "Falló al verificar actualizaciones: {error}",
|
||||||
|
"continue_anyway": "Continuando con la versión actual...",
|
||||||
|
"update_confirm": "¿Desea actualizar a la última versión? (Y/n)",
|
||||||
|
"update_skipped": "Omitiendo actualización.",
|
||||||
|
"invalid_choice": "Elección inválida. Por favor ingrese 'Y' o 'n'.",
|
||||||
|
"development_version": "Versión de Desarrollo {current} > {latest}",
|
||||||
|
"changelog_title": "Registro de Cambios"
|
||||||
|
},
|
||||||
|
"totally_reset": {
|
||||||
|
"title": "Restablecer Cursor Completamente",
|
||||||
|
"checking_config": "Verificando Archivo de Configuración",
|
||||||
|
"config_not_found": "Archivo de Configuración No Encontrado",
|
||||||
|
"no_permission": "No se Puede Leer o Escribir el Archivo de Configuración, Verifique los Permisos",
|
||||||
|
"reading_config": "Leyendo Configuración Actual",
|
||||||
|
"creating_backup": "Creando Copia de Seguridad de la Configuración",
|
||||||
|
"backup_exists": "El Archivo de Respaldo ya Existe, Omitiendo Paso de Respaldo",
|
||||||
|
"generating_new_machine_id": "Generando Nuevo ID de Máquina",
|
||||||
|
"saving_new_config": "Guardando Nueva Configuración en JSON",
|
||||||
|
"success": "Cursor Restablecido Exitosamente",
|
||||||
|
"error": "Falló el Restablecimiento de Cursor: {error}",
|
||||||
|
"press_enter": "Presione Enter para Salir",
|
||||||
|
"reset_machine_id": "Restablecer ID de Máquina",
|
||||||
|
"database_connection_closed": "Conexión a la Base de Datos Cerrada",
|
||||||
|
"database_updated_successfully": "Base de Datos Actualizada Exitosamente",
|
||||||
|
"connected_to_database": "Conectado a la Base de Datos",
|
||||||
|
"updating_pair": "Actualizando Par Clave-Valor",
|
||||||
|
"db_not_found": "Archivo de base de datos no encontrado en: {path}",
|
||||||
|
"db_permission_error": "No se puede acceder al archivo de base de datos. Verifique los permisos",
|
||||||
|
"db_connection_error": "Falló la conexión a la base de datos: {error}",
|
||||||
|
"feature_title": "CARACTERÍSTICAS",
|
||||||
|
"feature_1": "Eliminación completa de configuraciones y ajustes de Cursor AI",
|
||||||
|
"feature_2": "Limpia todos los datos en caché incluyendo historial de IA y peticiones",
|
||||||
|
"feature_3": "Restablece el ID de máquina para evitar la detección de prueba",
|
||||||
|
"feature_4": "Crea nuevos identificadores de máquina aleatorios",
|
||||||
|
"feature_5": "Elimina extensiones personalizadas y preferencias",
|
||||||
|
"feature_6": "Restablece información de prueba y datos de activación",
|
||||||
|
"feature_7": "Escaneo profundo de archivos ocultos relacionados con licencias y pruebas",
|
||||||
|
"feature_8": "Preserva de forma segura archivos y aplicaciones que no son de Cursor",
|
||||||
|
"feature_9": "Compatible con Windows, macOS y Linux",
|
||||||
|
"disclaimer_title": "AVISO IMPORTANTE",
|
||||||
|
"disclaimer_1": "Esta herramienta eliminará permanentemente todas las configuraciones de Cursor AI,",
|
||||||
|
"disclaimer_2": "ajustes y datos en caché. Esta acción no se puede deshacer.",
|
||||||
|
"disclaimer_3": "Sus archivos de código NO se verán afectados, y la herramienta está diseñada",
|
||||||
|
"disclaimer_4": "para dirigirse solo a archivos del editor Cursor AI y mecanismos de detección de prueba.",
|
||||||
|
"disclaimer_5": "Otras aplicaciones en su sistema no se verán afectadas.",
|
||||||
|
"disclaimer_6": "Necesitará configurar Cursor AI nuevamente después de ejecutar esta herramienta.",
|
||||||
|
"disclaimer_7": "Use bajo su propio riesgo",
|
||||||
|
"confirm_title": "¿Está seguro de que desea continuar?",
|
||||||
|
"confirm_1": "Esta acción eliminará todas las configuraciones de Cursor AI,",
|
||||||
|
"confirm_2": "ajustes y datos en caché. Esta acción no se puede deshacer.",
|
||||||
|
"confirm_3": "Sus archivos de código NO se verán afectados, y la herramienta está diseñada",
|
||||||
|
"confirm_4": "para dirigirse solo a archivos del editor Cursor AI y mecanismos de detección de prueba.",
|
||||||
|
"confirm_5": "Otras aplicaciones en su sistema no se verán afectadas.",
|
||||||
|
"confirm_6": "Necesitará configurar Cursor AI nuevamente después de ejecutar esta herramienta.",
|
||||||
|
"confirm_7": "Use bajo su propio riesgo",
|
||||||
|
"invalid_choice": "Por favor ingrese 'Y' o 'n'",
|
||||||
|
"skipped_for_safety": "Omitido por seguridad (no relacionado con Cursor): {path}",
|
||||||
|
"deleted": "Eliminado: {path}",
|
||||||
|
"error_deleting": "Error al eliminar {path}: {error}",
|
||||||
|
"not_found": "Archivo no encontrado: {path}",
|
||||||
|
"resetting_machine_id": "Restableciendo identificadores de máquina para evitar la detección de prueba...",
|
||||||
|
"created_machine_id": "Creado nuevo ID de máquina: {path}",
|
||||||
|
"error_creating_machine_id": "Error al crear archivo de ID de máquina {path}: {error}",
|
||||||
|
"error_searching": "Error al buscar archivos en {path}: {error}",
|
||||||
|
"created_extended_trial_info": "Creada nueva información de prueba extendida: {path}",
|
||||||
|
"error_creating_trial_info": "Error al crear archivo de información de prueba {path}: {error}",
|
||||||
|
"resetting_cursor_ai_editor": "Restableciendo Editor Cursor AI... Por favor espere.",
|
||||||
|
"reset_cancelled": "Restablecimiento cancelado. Saliendo sin realizar cambios.",
|
||||||
|
"windows_machine_id_modification_skipped": "Modificación de ID de máquina de Windows omitida: {error}",
|
||||||
|
"linux_machine_id_modification_skipped": "Modificación de machine-id de Linux omitida: {error}",
|
||||||
|
"note_complete_machine_id_reset_may_require_running_as_administrator": "Nota: El restablecimiento completo del ID de máquina puede requerir ejecutar como administrador",
|
||||||
|
"note_complete_system_machine_id_reset_may_require_sudo_privileges": "Nota: El restablecimiento completo del machine-id del sistema puede requerir privilegios sudo",
|
||||||
|
"windows_registry_instructions": "📝 NOTA: Para un restablecimiento completo en Windows, es posible que también deba limpiar entradas del registro.",
|
||||||
|
"windows_registry_instructions_2": " Ejecute 'regedit' y busque claves que contengan 'Cursor' o 'CursorAI' bajo HKEY_CURRENT_USER\\Software\\ y elimínelas.",
|
||||||
|
"reset_log_1": "¡Cursor AI ha sido completamente restablecido y se ha evitado la detección de prueba!",
|
||||||
|
"reset_log_2": "Por favor reinicie su sistema para que los cambios surtan efecto.",
|
||||||
|
"reset_log_3": "Necesitará reinstalar Cursor AI y ahora debería tener un nuevo período de prueba.",
|
||||||
|
"reset_log_4": "Para mejores resultados, considere también:",
|
||||||
|
"reset_log_5": "Usar una dirección de correo diferente al registrarse para una nueva prueba",
|
||||||
|
"reset_log_6": "Si está disponible, usar una VPN para cambiar su dirección IP",
|
||||||
|
"reset_log_7": "Limpiar las cookies y caché de su navegador antes de visitar el sitio web de Cursor AI",
|
||||||
|
"reset_log_8": "Si los problemas persisten, intente instalar Cursor AI en una ubicación diferente",
|
||||||
|
"reset_log_9": "Si encuentra algún problema, vaya al Rastreador de Problemas de Github y cree un problema en https://github.com/yeongpin/cursor-free-vip/issues",
|
||||||
|
"unexpected_error": "Ocurrió un error inesperado: {error}",
|
||||||
|
"report_issue": "Por favor reporte este problema al Rastreador de Problemas de Github en https://github.com/yeongpin/cursor-free-vip/issues",
|
||||||
|
"keyboard_interrupt": "Proceso interrumpido por el usuario. Saliendo...",
|
||||||
|
"return_to_main_menu": "Volviendo al menú principal...",
|
||||||
|
"process_interrupted": "Proceso interrumpido. Saliendo...",
|
||||||
|
"press_enter_to_return_to_main_menu": "Presione Enter para volver al menú principal...",
|
||||||
|
"removing_known": "Eliminando archivos conocidos de prueba/licencia",
|
||||||
|
"performing_deep_scan": "Realizando escaneo profundo para archivos adicionales de prueba/licencia",
|
||||||
|
"found_additional_potential_license_trial_files": "Se encontraron {count} archivos potenciales adicionales de licencia/prueba",
|
||||||
|
"checking_for_electron_localstorage_files": "Verificando archivos de localStorage de Electron",
|
||||||
|
"no_additional_license_trial_files_found_in_deep_scan": "No se encontraron archivos adicionales de licencia/prueba en el escaneo profundo",
|
||||||
|
"removing_electron_localstorage_files": "Eliminando archivos de localStorage de Electron",
|
||||||
|
"electron_localstorage_files_removed": "Archivos de localStorage de Electron eliminados",
|
||||||
|
"electron_localstorage_files_removal_error": "Error al eliminar archivos de localStorage de Electron: {error}",
|
||||||
|
"removing_electron_localstorage_files_completed": "Eliminación de archivos de localStorage de Electron completada",
|
||||||
|
"warning_title": "ADVERTENCIA",
|
||||||
|
"warning_1": "Esta acción eliminará todas las configuraciones de Cursor AI,",
|
||||||
|
"warning_2": "ajustes y datos en caché. Esta acción no se puede deshacer.",
|
||||||
|
"warning_3": "Sus archivos de código NO se verán afectados, y la herramienta está diseñada",
|
||||||
|
"warning_4": "para dirigirse solo a archivos del editor Cursor AI y mecanismos de detección de prueba.",
|
||||||
|
"warning_5": "Otras aplicaciones en su sistema no se verán afectadas.",
|
||||||
|
"warning_6": "Necesitará configurar Cursor AI nuevamente después de ejecutar esta herramienta.",
|
||||||
|
"warning_7": "Use bajo su propio riesgo",
|
||||||
|
"removed": "Eliminado: {path}",
|
||||||
|
"failed_to_reset_machine_guid": "Falló al restablecer GUID de máquina",
|
||||||
|
"failed_to_remove": "Falló al eliminar: {path}",
|
||||||
|
"failed_to_delete_file": "Falló al eliminar archivo: {path}",
|
||||||
|
"failed_to_delete_directory": "Falló al eliminar directorio: {path}",
|
||||||
|
"failed_to_delete_file_or_directory": "Falló al eliminar archivo o directorio: {path}",
|
||||||
|
"deep_scanning": "Realizando escaneo profundo para archivos adicionales de prueba/licencia",
|
||||||
|
"resetting_cursor": "Restableciendo Editor Cursor AI... Por favor espere.",
|
||||||
|
"completed_in": "Completado en {time} segundos",
|
||||||
|
"cursor_reset_completed": "¡El Editor Cursor AI ha sido completamente restablecido y se ha evitado la detección de prueba!",
|
||||||
|
"cursor_reset_failed": "Falló el restablecimiento del Editor Cursor AI: {error}",
|
||||||
|
"cursor_reset_cancelled": "Restablecimiento del Editor Cursor AI cancelado. Saliendo sin realizar cambios.",
|
||||||
|
"operation_cancelled": "Operación cancelada. Saliendo sin realizar cambios."
|
||||||
|
},
|
||||||
|
"github_register": {
|
||||||
|
"title": "Automatización de Registro de GitHub + Cursor AI",
|
||||||
|
"features_header": "Características",
|
||||||
|
"feature1": "Genera un correo temporal usando 1secmail.",
|
||||||
|
"feature2": "Registra una nueva cuenta de GitHub con credenciales aleatorias.",
|
||||||
|
"feature3": "Verifica el correo de GitHub automáticamente.",
|
||||||
|
"feature4": "Inicia sesión en Cursor AI usando autenticación de GitHub.",
|
||||||
|
"feature5": "Restablece el ID de máquina para evitar la detección de prueba.",
|
||||||
|
"feature6": "Guarda todas las credenciales en un archivo.",
|
||||||
|
"warnings_header": "Advertencias",
|
||||||
|
"warning1": "Este script automatiza la creación de cuentas, lo que puede violar los términos de servicio de GitHub/Cursor.",
|
||||||
|
"warning2": "Requiere acceso a internet y privilegios administrativos.",
|
||||||
|
"warning3": "CAPTCHA o verificación adicional pueden interrumpir la automatización.",
|
||||||
|
"warning4": "Use responsablemente y bajo su propio riesgo.",
|
||||||
|
"confirm": "¿Está seguro de que desea continuar?",
|
||||||
|
"invalid_choice": "Elección inválida. Por favor ingrese 'yes' o 'no'",
|
||||||
|
"cancelled": "Operación cancelada",
|
||||||
|
"program_terminated": "Programa terminado por el usuario",
|
||||||
|
"starting_automation": "Iniciando automatización...",
|
||||||
|
"github_username": "Nombre de Usuario de GitHub",
|
||||||
|
"github_password": "Contraseña de GitHub",
|
||||||
|
"email_address": "Dirección de Correo",
|
||||||
|
"credentials_saved": "Estas credenciales han sido guardadas en github_cursor_accounts.txt",
|
||||||
|
"completed_successfully": "¡Registro de GitHub + Cursor completado exitosamente!",
|
||||||
|
"registration_encountered_issues": "El registro de GitHub + Cursor encontró problemas.",
|
||||||
|
"check_browser_windows_for_manual_intervention_or_try_again_later": "Revise las ventanas del navegador para intervención manual o intente nuevamente más tarde."
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -30,7 +30,8 @@
|
|||||||
"de": "Allemand",
|
"de": "Allemand",
|
||||||
"fr": "Français",
|
"fr": "Français",
|
||||||
"pt": "Portugais",
|
"pt": "Portugais",
|
||||||
"ru": "Russe"
|
"ru": "Russe",
|
||||||
|
"es": "Espagnol"
|
||||||
},
|
},
|
||||||
"quit_cursor": {
|
"quit_cursor": {
|
||||||
"start": "Début de la Fermeture de Cursor",
|
"start": "Début de la Fermeture de Cursor",
|
||||||
|
|||||||
@@ -30,7 +30,8 @@
|
|||||||
"de": "Duits",
|
"de": "Duits",
|
||||||
"fr": "Frans",
|
"fr": "Frans",
|
||||||
"pt": "Portugees",
|
"pt": "Portugees",
|
||||||
"ru": "Russisch"
|
"ru": "Russisch",
|
||||||
|
"es": "Spaans"
|
||||||
},
|
},
|
||||||
"quit_cursor": {
|
"quit_cursor": {
|
||||||
"start": "Start met afsluiten van Cursor",
|
"start": "Start met afsluiten van Cursor",
|
||||||
|
|||||||
@@ -30,7 +30,8 @@
|
|||||||
"de": "Alemão",
|
"de": "Alemão",
|
||||||
"fr": "Francês",
|
"fr": "Francês",
|
||||||
"pt": "Português do Brasil",
|
"pt": "Português do Brasil",
|
||||||
"ru": "Russo"
|
"ru": "Russo",
|
||||||
|
"es": "Espanhol"
|
||||||
},
|
},
|
||||||
"quit_cursor": {
|
"quit_cursor": {
|
||||||
"start": "Iniciando fechamento do Cursor",
|
"start": "Iniciando fechamento do Cursor",
|
||||||
|
|||||||
@@ -30,7 +30,8 @@
|
|||||||
"de": "Немецкий",
|
"de": "Немецкий",
|
||||||
"fr": "Французский",
|
"fr": "Французский",
|
||||||
"pt": "Бразильский португальский",
|
"pt": "Бразильский португальский",
|
||||||
"ru": "Русский"
|
"ru": "Русский",
|
||||||
|
"es": "Испанский"
|
||||||
},
|
},
|
||||||
"quit_cursor": {
|
"quit_cursor": {
|
||||||
"start": "Начало закрытия Cursor",
|
"start": "Начало закрытия Cursor",
|
||||||
|
|||||||
@@ -31,7 +31,8 @@
|
|||||||
"fr": "French",
|
"fr": "French",
|
||||||
"pt": "Portuguese",
|
"pt": "Portuguese",
|
||||||
"ru": "Russian",
|
"ru": "Russian",
|
||||||
"tr": "Turkish"
|
"tr": "Turkish",
|
||||||
|
"es": "Spanish"
|
||||||
},
|
},
|
||||||
"quit_cursor": {
|
"quit_cursor": {
|
||||||
"start": "Cursor'dan Çıkış Başlatılıyor",
|
"start": "Cursor'dan Çıkış Başlatılıyor",
|
||||||
|
|||||||
@@ -28,7 +28,8 @@
|
|||||||
"de": "Tiếng Đức",
|
"de": "Tiếng Đức",
|
||||||
"fr": "Tiếng Pháp",
|
"fr": "Tiếng Pháp",
|
||||||
"pt": "Tiếng Bồ Đào Nha",
|
"pt": "Tiếng Bồ Đào Nha",
|
||||||
"ru": "Tiếng Nga"
|
"ru": "Tiếng Nga",
|
||||||
|
"es": "Tiếng Tây Ban Nha"
|
||||||
},
|
},
|
||||||
"quit_cursor": {
|
"quit_cursor": {
|
||||||
"start": "Bắt Đầu Thoát Cursor",
|
"start": "Bắt Đầu Thoát Cursor",
|
||||||
|
|||||||
@@ -35,7 +35,8 @@
|
|||||||
"pt": "葡萄牙语",
|
"pt": "葡萄牙语",
|
||||||
"ru": "俄语",
|
"ru": "俄语",
|
||||||
"tr": "土耳其语",
|
"tr": "土耳其语",
|
||||||
"bg": "保加利亚语"
|
"bg": "保加利亚语",
|
||||||
|
"es": "西班牙语"
|
||||||
},
|
},
|
||||||
"quit_cursor": {
|
"quit_cursor": {
|
||||||
"start": "开始退出 Cursor",
|
"start": "开始退出 Cursor",
|
||||||
@@ -102,7 +103,9 @@
|
|||||||
"package_not_found": "package.json未找到: {path}",
|
"package_not_found": "package.json未找到: {path}",
|
||||||
"check_version_failed": "检查版本失败: {error}",
|
"check_version_failed": "检查版本失败: {error}",
|
||||||
"stack_trace": "堆栈跟踪",
|
"stack_trace": "堆栈跟踪",
|
||||||
"version_too_low": "Cursor版本太低: {version} < 0.45.0"
|
"version_too_low": "Cursor版本太低: {version} < 0.45.0",
|
||||||
|
"no_write_permission": "没有写入权限: {path}",
|
||||||
|
"path_not_found": "路径未找到: {path}"
|
||||||
},
|
},
|
||||||
"register": {
|
"register": {
|
||||||
"title": "Cursor 注册工具",
|
"title": "Cursor 注册工具",
|
||||||
|
|||||||
@@ -33,7 +33,8 @@
|
|||||||
"pt": "葡萄牙文",
|
"pt": "葡萄牙文",
|
||||||
"ru": "俄文",
|
"ru": "俄文",
|
||||||
"tr": "土耳其文",
|
"tr": "土耳其文",
|
||||||
"bg": "保加利亞文"
|
"bg": "保加利亞文",
|
||||||
|
"es": "西班牙文"
|
||||||
},
|
},
|
||||||
"quit_cursor": {
|
"quit_cursor": {
|
||||||
"start": "開始退出 Cursor",
|
"start": "開始退出 Cursor",
|
||||||
@@ -100,7 +101,9 @@
|
|||||||
"package_not_found": "package.json未找到: {path}",
|
"package_not_found": "package.json未找到: {path}",
|
||||||
"check_version_failed": "檢查版本失敗: {error}",
|
"check_version_failed": "檢查版本失敗: {error}",
|
||||||
"stack_trace": "堆疊跟踪",
|
"stack_trace": "堆疊跟踪",
|
||||||
"version_too_low": "Cursor版本太低: {version} < 0.45.0"
|
"version_too_low": "Cursor版本太低: {version} < 0.45.0",
|
||||||
|
"no_write_permission": "沒有寫入權限: {path}",
|
||||||
|
"path_not_found": "路徑未找到: {path}"
|
||||||
},
|
},
|
||||||
|
|
||||||
"register": {
|
"register": {
|
||||||
|
|||||||
@@ -37,10 +37,41 @@ def get_cursor_paths(translator=None) -> Tuple[str, str]:
|
|||||||
config_dir = os.path.join(get_user_documents_path(), ".cursor-free-vip")
|
config_dir = os.path.join(get_user_documents_path(), ".cursor-free-vip")
|
||||||
config_file = os.path.join(config_dir, "config.ini")
|
config_file = os.path.join(config_dir, "config.ini")
|
||||||
|
|
||||||
if not os.path.exists(config_file):
|
# Create config directory if it doesn't exist
|
||||||
raise OSError(translator.get('reset.config_not_found') if translator else "找不到配置文件")
|
if not os.path.exists(config_dir):
|
||||||
|
os.makedirs(config_dir)
|
||||||
|
|
||||||
config.read(config_file, encoding='utf-8') # Specify encoding
|
# Default paths for different systems
|
||||||
|
default_paths = {
|
||||||
|
"Darwin": "/Applications/Cursor.app/Contents/Resources/app",
|
||||||
|
"Windows": os.path.join(os.getenv("LOCALAPPDATA", ""), "Programs", "Cursor", "resources", "app"),
|
||||||
|
"Linux": ["/opt/Cursor/resources/app", "/usr/share/cursor/resources/app", os.path.expanduser("~/.local/share/cursor/resources/app")]
|
||||||
|
}
|
||||||
|
|
||||||
|
# If config doesn't exist, create it with default paths
|
||||||
|
if not os.path.exists(config_file):
|
||||||
|
for section in ['MacPaths', 'WindowsPaths', 'LinuxPaths']:
|
||||||
|
if not config.has_section(section):
|
||||||
|
config.add_section(section)
|
||||||
|
|
||||||
|
if system == "Darwin":
|
||||||
|
config.set('MacPaths', 'cursor_path', default_paths["Darwin"])
|
||||||
|
elif system == "Windows":
|
||||||
|
config.set('WindowsPaths', 'cursor_path', default_paths["Windows"])
|
||||||
|
elif system == "Linux":
|
||||||
|
# For Linux, try to find the first existing path
|
||||||
|
for path in default_paths["Linux"]:
|
||||||
|
if os.path.exists(path):
|
||||||
|
config.set('LinuxPaths', 'cursor_path', path)
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
# If no path exists, use the first one as default
|
||||||
|
config.set('LinuxPaths', 'cursor_path', default_paths["Linux"][0])
|
||||||
|
|
||||||
|
with open(config_file, 'w', encoding='utf-8') as f:
|
||||||
|
config.write(f)
|
||||||
|
else:
|
||||||
|
config.read(config_file, encoding='utf-8')
|
||||||
|
|
||||||
# Get path based on system
|
# Get path based on system
|
||||||
if system == "Darwin":
|
if system == "Darwin":
|
||||||
@@ -57,6 +88,17 @@ def get_cursor_paths(translator=None) -> Tuple[str, str]:
|
|||||||
|
|
||||||
base_path = config.get(section, 'cursor_path')
|
base_path = config.get(section, 'cursor_path')
|
||||||
|
|
||||||
|
# For Linux, try to find the first existing path if the configured one doesn't exist
|
||||||
|
if system == "Linux" and not os.path.exists(base_path):
|
||||||
|
for path in default_paths["Linux"]:
|
||||||
|
if os.path.exists(path):
|
||||||
|
base_path = path
|
||||||
|
# Update config with the found path
|
||||||
|
config.set(section, 'cursor_path', path)
|
||||||
|
with open(config_file, 'w', encoding='utf-8') as f:
|
||||||
|
config.write(f)
|
||||||
|
break
|
||||||
|
|
||||||
if not os.path.exists(base_path):
|
if not os.path.exists(base_path):
|
||||||
raise OSError(translator.get('reset.path_not_found', path=base_path) if translator else f"找不到 Cursor 路徑: {base_path}")
|
raise OSError(translator.get('reset.path_not_found', path=base_path) if translator else f"找不到 Cursor 路徑: {base_path}")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user