From 0d069da29d152e2dbd9386f6aa6811543abd64ea Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Fri, 10 Oct 2025 09:02:11 +0200 Subject: [PATCH] Refactor: Traduce todas las notificaciones a castellano MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unifica el idioma de todas las notificaciones del sistema a castellano para mantener consistencia en la interfaz de usuario. ## Traducciones Realizadas ### Gravedad - "Gravity Off/On" → "Gravedad Off/On" - "Gravity Up" → "Gravedad Arriba" - "Gravity Down" → "Gravedad Abajo" - "Gravity Left" → "Gravedad Izquierda" - "Gravity Right" → "Gravedad Derecha" ### Modos - "Physics Mode" → "Modo Física" ### Figuras 3D (array shape_names[] + notificaciones) - "None" → "Ninguna" - "Sphere" → "Esfera" - "Cube" → "Cubo" - "Helix" → "Hélice" - "Torus" → "Toroide" - "Lissajous" → "Lissajous" (mantiene nombre técnico) - "Cylinder" → "Cilindro" - "Icosahedron" → "Icosaedro" - "Atom" → "Átomo" - "PNG Shape" → "Forma PNG" ### Profundidad - "Depth Zoom On/Off" → "Profundidad On/Off" ## Mantienen Inglés - **Sprite**: Término técnico común en desarrollo - **Nombres de temas**: Usan getCurrentThemeNameES() (ya en español) - **Modos de aplicación**: Ya estaban en español - **Número de pelotas**: Ya estaban en español - **Escala**: Ya estaba en español - **Páginas**: Ya estaban en español ## Resultado ✅ Interfaz de usuario 100% en castellano ✅ Consistencia en todas las notificaciones ✅ Mantiene términos técnicos apropiados (Lissajous, Sprite) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- source/engine.cpp | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/source/engine.cpp b/source/engine.cpp index e07156a..8131645 100644 --- a/source/engine.cpp +++ b/source/engine.cpp @@ -330,12 +330,12 @@ void Engine::handleEvents() { // Si estamos en modo figura, salir a modo física SIN GRAVEDAD if (current_mode_ == SimulationMode::SHAPE) { toggleShapeMode(false); // Desactivar figura sin forzar gravedad ON - showNotificationForAction("Gravity Off"); + showNotificationForAction("Gravedad Off"); } else { switchBallsGravity(); // Toggle normal en modo física // Determinar estado actual de gravedad (gravity_force_ != 0.0f significa ON) bool gravity_on = balls_.empty() ? true : (balls_[0]->getGravityForce() != 0.0f); - showNotificationForAction(gravity_on ? "Gravity On" : "Gravity Off"); + showNotificationForAction(gravity_on ? "Gravedad On" : "Gravedad Off"); } break; @@ -348,7 +348,7 @@ void Engine::handleEvents() { enableBallsGravityIfDisabled(); // Reactivar gravedad si estaba OFF } changeGravityDirection(GravityDirection::UP); - showNotificationForAction("Gravity Up"); + showNotificationForAction("Gravedad Arriba"); break; case SDLK_DOWN: @@ -359,7 +359,7 @@ void Engine::handleEvents() { enableBallsGravityIfDisabled(); // Reactivar gravedad si estaba OFF } changeGravityDirection(GravityDirection::DOWN); - showNotificationForAction("Gravity Down"); + showNotificationForAction("Gravedad Abajo"); break; case SDLK_LEFT: @@ -370,7 +370,7 @@ void Engine::handleEvents() { enableBallsGravityIfDisabled(); // Reactivar gravedad si estaba OFF } changeGravityDirection(GravityDirection::LEFT); - showNotificationForAction("Gravity Left"); + showNotificationForAction("Gravedad Izquierda"); break; case SDLK_RIGHT: @@ -381,7 +381,7 @@ void Engine::handleEvents() { enableBallsGravityIfDisabled(); // Reactivar gravedad si estaba OFF } changeGravityDirection(GravityDirection::RIGHT); - showNotificationForAction("Gravity Right"); + showNotificationForAction("Gravedad Derecha"); break; case SDLK_V: @@ -397,11 +397,11 @@ void Engine::handleEvents() { toggleShapeMode(); // Mostrar notificación según el modo actual después del toggle if (current_mode_ == SimulationMode::PHYSICS) { - showNotificationForAction("Physics Mode"); + showNotificationForAction("Modo Física"); } else { // Mostrar nombre de la figura actual (orden debe coincidir con enum ShapeType) // Índices: 0=NONE, 1=SPHERE, 2=CUBE, 3=HELIX, 4=TORUS, 5=LISSAJOUS, 6=CYLINDER, 7=ICOSAHEDRON, 8=ATOM, 9=PNG_SHAPE - const char* shape_names[] = {"None", "Sphere", "Cube", "Helix", "Torus", "Lissajous", "Cylinder", "Icosahedron", "Atom", "PNG Shape"}; + const char* shape_names[] = {"Ninguna", "Esfera", "Cubo", "Hélice", "Toroide", "Lissajous", "Cilindro", "Icosaedro", "Átomo", "Forma PNG"}; showNotificationForAction(shape_names[static_cast(current_shape_type_)]); } break; @@ -409,7 +409,7 @@ void Engine::handleEvents() { // Selección directa de figuras 3D case SDLK_Q: activateShape(ShapeType::SPHERE); - showNotificationForAction("Sphere"); + showNotificationForAction("Esfera"); break; case SDLK_W: @@ -419,37 +419,37 @@ void Engine::handleEvents() { case SDLK_E: activateShape(ShapeType::HELIX); - showNotificationForAction("Helix"); + showNotificationForAction("Hélice"); break; case SDLK_R: activateShape(ShapeType::TORUS); - showNotificationForAction("Torus"); + showNotificationForAction("Toroide"); break; case SDLK_T: activateShape(ShapeType::CUBE); - showNotificationForAction("Cube"); + showNotificationForAction("Cubo"); break; case SDLK_Y: activateShape(ShapeType::CYLINDER); - showNotificationForAction("Cylinder"); + showNotificationForAction("Cilindro"); break; case SDLK_U: activateShape(ShapeType::ICOSAHEDRON); - showNotificationForAction("Icosahedron"); + showNotificationForAction("Icosaedro"); break; case SDLK_I: activateShape(ShapeType::ATOM); - showNotificationForAction("Atom"); + showNotificationForAction("Átomo"); break; case SDLK_O: activateShape(ShapeType::PNG_SHAPE); - showNotificationForAction("PNG Shape"); + showNotificationForAction("Forma PNG"); break; // Ciclar temas de color (movido de T a B) @@ -595,7 +595,7 @@ void Engine::handleEvents() { case SDLK_KP_DIVIDE: if (current_mode_ == SimulationMode::SHAPE) { depth_zoom_enabled_ = !depth_zoom_enabled_; - showNotificationForAction(depth_zoom_enabled_ ? "Depth Zoom On" : "Depth Zoom Off"); + showNotificationForAction(depth_zoom_enabled_ ? "Profundidad On" : "Profundidad Off"); } break;