Skip to content

Envolver en Idioma.t las cadenas que quedaban sueltas - #16

Merged
k4ditano merged 1 commit into
k4ditano:mainfrom
roysland:traduccion-envolver
Sep 10, 2026
Merged

k4ditano merged 1 commit into
k4ditano:mainfrom
roysland:traduccion-envolver

Conversation

@roysland

@roysland roysland commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

El problema

Con el ajuste de idioma en inglés o ruso, buena parte de la interfaz seguía saliendo en español: sesenta y tantas cadenas estaban sueltas en el código, sin pasar por Idioma.t(...). Las traía el Digivice casi todas (zonas, combate, mercado, la criatura), más el catálogo de plugins del gestor, la fecha larga de la pantalla de bloqueo, las opciones de la grabadora y algún suelto más. textos.py envolver las veía —estaban en la plantilla— pero nadie les había dado la vuelta.

La solución

textos.py envolver las envuelve en Idioma.t(...), y en.json y ru.json quedan al 100 % (1426/1426 cadenas, verificado con textos.py estado). Lo que sale:

  • Digivice: zonas (Bosque Verde, Mar Profundo…), dificultades, estados del aliado en combate («ya vino», «sin ⚡»), victorias y derrotas, nombres de pantalla.
  • Gestor de plugins: los títulos del catálogo integrado (Reloj, Lanzador, Centro de control…).
  • Pantalla de bloqueo: el formato de fecha larga va por traducción (dddd, d MMMM en inglés) en vez de quedar clavado al español.
  • Editor de captura: etiquetas de capas y pistas.
  • textos.py: campo pasa a la lista NO_TEXTO — es un identificador de modelo, no un texto, y envolverlo rompe la búsqueda de propiedades del editor de captura (Editor.capaSel[campo]). Con la heurística de identificadores en minúsculas se le escapaba porque colorFondo lleva mayúscula.

Las cadenas que no son de ningún idioma (unidades «dB»/«Hz», glifos, el logo AUR) quedan como estaban, sin envolver.

Verificación

python3 tools/textos.py estado → 1426/1426 en ambos idiomas · python3 tools/plugins.py → 31 plugins del repo verificados · python3 tools/prueba_texto.py → los 11 sumideros de texto dicen su formato.

Sesenta y tantas cadenas de la interfaz vivían en español fijo —la
mayoría del Digivice, más el catálogo de plugins del gestor, la
pantalla de bloqueo, las fechas— y salían en español aunque el ajuste
estuviera en inglés o ruso. Ahora van por Idioma.t y en.json/ru.json
llegan al 100 %.

textos.py: «campo» pasa a NO_TEXTO —es un identificador de modelo, y
envolverlo rompe la búsqueda de propiedades en el editor de captura.
@k4ditano
k4ditano merged commit de2afb1 into k4ditano:main Sep 10, 2026
1 check passed
@k4ditano

Copy link
Copy Markdown
Owner

¡Gracias, Øyvind! Revisado y fusionado.

Lo comprobé antes de meterlo:

  • Los validadores de validar.yml, en local y en la Action: todo en verde.
  • textos.py estado sigue en 1426/1426 en inglés y en ruso, y qmllint no da ningún aviso nuevo en los 14 QML que tocas.
  • Las zonas y dificultades del Digivice se buscan por id, así que traducir su nombre no rompe nada. Y del catálogo de PluginManager solo cambia la lista de emergencia: la de verdad llega de plugins.py --list y la sustituye entera.
  • Ninguna de las llamadas a Idioma.t con texto dinámico recibe una «D» suelta, así que la clave nueva "D" → "L" no se come ninguna tecla.

Un detalle sin importancia: PantallasView.qml usa K4.Idioma en todas partes, así que el import "../../services" que añade no hace falta. No molesta, y lo dejo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants