Add translation support for Randomizer UI components

- Add LanguageManager integration to Plandomizer.cpp, randomizer_check_tracker.cpp,
  randomizer_item_tracker.cpp, and randomizer_entrance_tracker.cpp
- Add ~100 new translation keys to Espanol.json for Randomizer UI
- Include lenguajes folder in AppImage/DEB packaging via CMakeLists.txt
- Update PLAN_TRADUCCION.md with Randomizer translation status and packaging info
This commit is contained in:
2026-04-03 17:51:28 -06:00
parent ccbbcec3c3
commit ca5c80fc47
7 changed files with 6906 additions and 138 deletions

View File

@@ -43,6 +43,11 @@ Crear un sistema de traducción dinámico que permita cargar idiomas desde archi
|---------|---------|
| `soh/soh/SohGui/SohMenuSettings.cpp` | Agregar selector de idioma dinámico + carga automática al inicio |
| `soh/soh/SohGui/SohMenu.cpp` | Aplicar traducción automática en AddWidget |
| `soh/soh/Enhancements/randomizer/Plandomizer.cpp` | Traducir textos de UI con LanguageManager |
| `soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp` | Traducir textos de UI con LanguageManager |
| `soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp` | Traducir textos de UI con LanguageManager |
| `soh/soh/Enhancements/randomizer/randomizer_entrance_tracker.cpp` | Traducir textos de UI con LanguageManager |
| `CMakeLists.txt` | Incluir carpeta `lenguajes` en AppImage/DEB |
---
@@ -62,6 +67,15 @@ cp -r lenguajes build-cmake/soh/
# Linux: ~/.local/share/com.shipofharkinian.soh/lenguajes/
```
### 4.3 Empaquetado en AppImage/DEB
La carpeta `lenguajes` se incluye automáticamente en los paquetes AppImage y DEB gracias a la directiva de instalación en `CMakeLists.txt`:
```cmake
install(DIRECTORY "${CMAKE_SOURCE_DIR}/lenguajes/" DESTINATION ./lenguajes COMPONENT ship OPTIONAL)
```
Esto significa que al generar un AppImage con `cpack`, la carpeta `lenguajes` con todos los archivos `.json` se incluirá automáticamente dentro del paquete, sin necesidad de copiarla manualmente. El flag `OPTIONAL` evita errores de compilación si la carpeta no existe.
---
## 5. Formato de Archivos JSON
@@ -300,8 +314,15 @@ cp -r lenguajes build-cmake/soh/
- [x] Fix de compilación en Menu.cpp (SohGui::LanguageManager)
- [x] Compilación exitosa
### Traducción del Randomizer ✅
- [x] Plandomizer.cpp - Textos de UI traducidos (tablas, popups, tooltips, tabs)
- [x] randomizer_check_tracker.cpp - Textos de UI traducidos (checkboxes, botones, búsqueda, settings)
- [x] randomizer_item_tracker.cpp - Textos de UI traducidos (settings table, checks counter)
- [x] randomizer_entrance_tracker.cpp - Textos de UI traducidos (sort, group, legend, tooltips)
- [x] Claves de traducción añadidas a Espanol.json (~100 nuevas claves)
### Pendientes / Mejoras Futuras
- [ ] Agregar más traducciones al JSON (actualmente ~250 claves)
- [ ] Agregar más traducciones al JSON (actualmente ~350+ claves)
- [ ] Crear archivo Portugues.json
- [ ] Posibilidad de recargar traducciones en tiempo real sin cerrar el juego