From 00cce1c8ffa1be75dd94de83063d179b45c0831f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Salinas?= Date: Thu, 20 Nov 2025 06:32:58 -0600 Subject: [PATCH] i18n: improve Spanish translations for clarity and consistency (#12378) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * i18n: improve Spanish translations for clarity and consistency Improve the Spanish translation strings in Engine.cpp by: - Refining ANR (Application Not Responding) dialog to use "La aplicación" and change the terminate option to "Forzar cierre" for clarity - Standardizing permission prompts with "¿Deseas...?" for consistency - Rewording keyboard permission prompt: "permitir su uso" is clearer than "permitir su funcionamiento" - Adding explicit reference to "permisos" in the persistence hint - Improving Wayland app identification: "ID de cliente de Wayland" instead of "wayland client ID {wayland_id}" - Enhancing environment variable notification with better punctuation and clarity ("gestionarse externamente" vs "estar gestionada externamente") - Simplifying hyprland-guiutils message with direct, concise wording - Rewriting failed assets lambda to be more natural and add context about distribution packagers - Improving monitor-related messages with clearer tone and better sentence structure (monitor layout, mode fallback, auto-scale) - Using "shader" instead of "sombreador" (more common in Spanish tech) - Changing "10-bit" to "10 bits" for proper Spanish plural form Overall tone improvements include consistent use of "tú" forms and clearer, more natural Spanish phrasing throughout the user-facing messages. * i18n: update Spanish error messages for clarity and support --- src/i18n/Engine.cpp | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/src/i18n/Engine.cpp b/src/i18n/Engine.cpp index fa60ff6e7..43eff38ae 100644 --- a/src/i18n/Engine.cpp +++ b/src/i18n/Engine.cpp @@ -259,46 +259,44 @@ I18n::CI18nEngine::CI18nEngine() { // es (Spanish) huEngine->registerEntry("es", TXT_KEY_ANR_TITLE, "La aplicación no responde"); - huEngine->registerEntry("es", TXT_KEY_ANR_CONTENT, "Una aplicación {title} - {class} no responde.\n¿Qué quieres hacer?"); - huEngine->registerEntry("es", TXT_KEY_ANR_OPTION_TERMINATE, "Terminar"); + huEngine->registerEntry("es", TXT_KEY_ANR_CONTENT, "La aplicación {title} - {class} no responde.\n¿Qué deseas hacer?"); + huEngine->registerEntry("es", TXT_KEY_ANR_OPTION_TERMINATE, "Forzar cierre"); huEngine->registerEntry("es", TXT_KEY_ANR_OPTION_WAIT, "Esperar"); huEngine->registerEntry("es", TXT_KEY_ANR_PROP_UNKNOWN, "(desconocido)"); huEngine->registerEntry("es", TXT_KEY_PERMISSION_REQUEST_UNKNOWN, "Una aplicación {app} está solicitando un permiso desconocido."); - huEngine->registerEntry("es", TXT_KEY_PERMISSION_REQUEST_SCREENCOPY, "Una aplicación {app} está intentando capturar la pantalla.\n\n¿Quieres permitirlo?"); - huEngine->registerEntry("es", TXT_KEY_PERMISSION_REQUEST_PLUGIN, "Una aplicación {app} está intentando cargar un plugin: {plugin}.\n\n¿Quieres permitirlo?"); - huEngine->registerEntry("es", TXT_KEY_PERMISSION_REQUEST_KEYBOARD, "Se ha detectado un nuevo teclado: {keyboard}.\n\n¿Quieres permitir su funcionamiento?"); + huEngine->registerEntry("es", TXT_KEY_PERMISSION_REQUEST_SCREENCOPY, "Una aplicación {app} está intentando capturar la pantalla.\n\n¿Deseas permitirlo?"); + huEngine->registerEntry("es", TXT_KEY_PERMISSION_REQUEST_PLUGIN, "Una aplicación {app} está intentando cargar un plugin: {plugin}.\n\n¿Deseas permitirlo?"); + huEngine->registerEntry("es", TXT_KEY_PERMISSION_REQUEST_KEYBOARD, "Se ha detectado un nuevo teclado: {keyboard}.\n\n¿Deseas permitir su uso?"); huEngine->registerEntry("es", TXT_KEY_PERMISSION_UNKNOWN_NAME, "(desconocido)"); huEngine->registerEntry("es", TXT_KEY_PERMISSION_TITLE, "Solicitud de permiso"); - huEngine->registerEntry("es", TXT_KEY_PERMISSION_PERSISTENCE_HINT, "Sugerencia: puedes establecer reglas persistentes para estos en el archivo de configuración de Hyprland."); + huEngine->registerEntry("es", TXT_KEY_PERMISSION_PERSISTENCE_HINT, + "Sugerencia: puedes establecer reglas persistentes para estos permisos en el archivo de configuración de Hyprland."); huEngine->registerEntry("es", TXT_KEY_PERMISSION_ALLOW, "Permitir"); huEngine->registerEntry("es", TXT_KEY_PERMISSION_ALLOW_AND_REMEMBER, "Permitir y recordar"); huEngine->registerEntry("es", TXT_KEY_PERMISSION_ALLOW_ONCE, "Permitir una vez"); huEngine->registerEntry("es", TXT_KEY_PERMISSION_DENY, "Denegar"); - huEngine->registerEntry("es", TXT_KEY_PERMISSION_UNKNOWN_WAYLAND_APP, "Aplicación desconocida (wayland client ID {wayland_id})"); + huEngine->registerEntry("es", TXT_KEY_PERMISSION_UNKNOWN_WAYLAND_APP, "Aplicación desconocida (ID de cliente de Wayland: {wayland_id})"); - huEngine->registerEntry("es", TXT_KEY_NOTIF_EXTERNAL_XDG_DESKTOP, - "La variable de entorno XDG_CURRENT_DESKTOP parece estar gestionada externamente, y el valor actual es {value}.\nEsto podría causar problemas, a menos " - "que sea intencionado."); huEngine->registerEntry( - "es", TXT_KEY_NOTIF_NO_GUIUTILS, - "Tu sistema no tiene instalado hyprland-guiutils. Se trata de una dependencia de tiempo de ejecución para algunos diálogos. Considera la posibilidad de instalarlo."); + "es", TXT_KEY_NOTIF_EXTERNAL_XDG_DESKTOP, + "La variable de entorno XDG_CURRENT_DESKTOP parece gestionarse externamente; su valor actual es {value}.\nEsto podría causar problemas a menos que sea intencional."); + huEngine->registerEntry("es", TXT_KEY_NOTIF_NO_GUIUTILS, + "Tu sistema no tiene instalado 'hyprland-guiutils'. Es una dependencia en tiempo de ejecución para algunos diálogos. Considera instalarlo."); huEngine->registerEntry("es", TXT_KEY_NOTIF_FAILED_ASSETS, [](const Hyprutils::I18n::translationVarMap& vars) { int assetsNo = std::stoi(vars.at("count")); if (assetsNo <= 1) - return "No se ha podido cargar {count} recurso clave, ¡culpa a tu empaquetador por hacer un mal trabajo!"; - return "No se ha podido cargar {count} recursos clave, ¡culpa a tu empaquetador por hacer un mal trabajo!"; + return "No se pudo cargar {count} recurso esencial. Contacta al empaquetador de tu distribución."; + return "No se pudieron cargar {count} recursos esenciales. Contacta al empaquetador de tu distribución."; }); - huEngine->registerEntry( - "es", TXT_KEY_NOTIF_INVALID_MONITOR_LAYOUT, - "La configuración de su monitor no es correcta. El monitor {name} se superpone con otros monitores en la configuración. Consulte la wiki (página Monitors, en inglés) " - "para obtener más información. Esto provocará problemas."); - huEngine->registerEntry("es", TXT_KEY_NOTIF_MONITOR_MODE_FAIL, - "El monitor {name} no ha podido configurar ninguno de los modos solicitados, por lo que ha recurrido al modo {mode}."); - huEngine->registerEntry("es", TXT_KEY_NOTIF_MONITOR_AUTO_SCALE, "Escala no válida pasada al monitor {name}: {scale}, utilizando la escala sugerida: {fixed_scale}"); + huEngine->registerEntry("es", TXT_KEY_NOTIF_INVALID_MONITOR_LAYOUT, + "La configuración de tus monitores no es correcta. El monitor {name} se superpone con otros monitores en la disposición. Consulta la wiki (página " + "Monitors, en inglés) para más información. Esto provocará problemas."); + huEngine->registerEntry("es", TXT_KEY_NOTIF_MONITOR_MODE_FAIL, "El monitor {name} no pudo configurar ninguno de los modos solicitados y ha vuelto al modo {mode}."); + huEngine->registerEntry("es", TXT_KEY_NOTIF_MONITOR_AUTO_SCALE, "Se pasó una escala no válida al monitor {name}: {scale}; se usará la escala sugerida: {fixed_scale}"); huEngine->registerEntry("es", TXT_KEY_NOTIF_FAILED_TO_LOAD_PLUGIN, "Error al cargar el plugin {name}: {error}"); - huEngine->registerEntry("es", TXT_KEY_NOTIF_CM_RELOAD_FAILED, "Error al recargar el sombreador CM, recurriendo a rgba/rgbx."); - huEngine->registerEntry("es", TXT_KEY_NOTIF_WIDE_COLOR_NOT_10B, "Monitor {name}: la gama de colores amplia está habilitada, pero la pantalla no está en modo de 10-bit."); + huEngine->registerEntry("es", TXT_KEY_NOTIF_CM_RELOAD_FAILED, "Error al recargar el shader CM; volviendo a rgba/rgbx."); + huEngine->registerEntry("es", TXT_KEY_NOTIF_WIDE_COLOR_NOT_10B, "Monitor {name}: la gama de color amplia está habilitada, pero la pantalla no está en modo de 10 bits."); // fa_IR (Persian) huEngine->registerEntry("fa_IR", TXT_KEY_ANR_TITLE, "برنامه پاسخ نمی‌دهد");