Repository navigation
Description
Pre-flight checks
- I searched existing issues and found no duplicate.
- I understand that this proposal requires product review before implementation.
La búsqueda de duplicados la realizó el agente; el mantenedor confirmó expresamente la revisión previa a implementación.
Problem to solve
El usuario que instala Quorb en Windows debe poder elegir el idioma desde el primer contacto, antes de ver la interfaz normal en un idioma predeterminado. Actualmente el idioma de la aplicación parte de español y se cambia desde Ajustes; eso obliga a recorrer la interfaz antes de elegirlo.
Petición del mantenedor: «yo quiero que la persona que lo instale elija desde le minuto 0 el idioma».
Proposed solution
Presentar Español / English como primera interacción del instalador interactivo de Windows, antes de sus demás pantallas. Continuar la instalación en el idioma elegido y trasladar esa elección al primer inicio de Quorb, de modo que la tira, los ajustes y las demás superficies no aparezcan primero en otro idioma.
Criterios propuestos:
- La selección explícita precede al resto del flujo interactivo de instalación.
- La elección se aplica tanto al instalador como al primer inicio de la aplicación, en las superficies que ya cuentan con traducción.
- La selección queda guardada y sigue siendo modificable desde Ajustes.
- Actualizar o reinstalar no sobrescribe una preferencia existente sin decisión del usuario.
- La detección del idioma del sistema puede ayudar, pero no sustituye la elección solicitada.
Antes de implementar, concretar el alcance para EXE/NSIS y MSI y el comportamiento de instalaciones silenciosas. No asumir que el idioma del instalador se transfiere automáticamente a la configuración de la aplicación.
Affected area
Application behavior
Scope and non-goals
Windows. Selección inicial de los idiomas ya disponibles (español e inglés) y continuidad de esa elección en la aplicación. Esta propuesta no autoriza implementación, cambios de firma/publicación ni modificaciones en macOS o Linux. No incluye un asistente de proveedores, credenciales o configuraciones básicas, ni completar toda la traducción pendiente.
Alternatives considered
- Elegir el idioma después desde Ajustes: no satisface la elección desde el primer contacto.
- Detectarlo automáticamente sin pedir elección: no satisface la selección explícita solicitada.
- Seleccionarlo solo en el primer inicio de la aplicación: alternativa si un formato de instalación no permite el requisito; requiere decisión explícita de producto.
Activity
egdev6 commentedon Nov 13, 2026
Revisión ODD aprobada: quorb-233-language-v1
quorb-233-language-v1.Objetivo y motivo
Permitir elegir Español/English desde la primera interacción del instalador EXE/NSIS de Windows y trasladar esa elección al primer uso de Quorb sin mostrar antes la interfaz normal en otro idioma. Se aprueba expresamente la excepción de MSI y de instalaciones silenciosas descrita abajo, para mantener acotado este trabajo.
Alcance vigente completo
El traspaso de la elección debe corresponder al mismo usuario y canal. El instalador no reescribe
config.jsonni datos de la app. La app valida la elección y reutilizalocale,localeSelectedy el arranque compartido. F0 debe resolver el transporte y su ciclo de vida, incluida la cancelación, sin aplicar elecciones obsoletas ni confundir configuraciones existentes, legadas o ilegibles con una instalación nueva. No se da por hecho que Tauri haga ese traspaso automáticamente.Exclusiones
Sin cambios de firma/notarización, política del updater, ejecución/publicación de releases, comportamiento de macOS/Linux, nuevo sistema i18n, asistente de proveedores/credenciales ni limpieza de datos existentes. No se elimina el artefacto MSI ni se incorpora un instalador o bootstrapper MSI personalizado en este alcance.
Dependencias
Criterios de aceptación
Orientación
Puntos de entrada:
src-tauri/tauri.conf.json,src-tauri/installer/hooks.nsh,src-tauri/src/config.rs, el arranque ychoose_localedesrc-tauri/src/lib.rs, ysrc/LocalePicker.tsx. Conservar la protección de datos existente en los hooks de desinstalación.La configuración estándar de Tauri ofrece selector multidioma en NSIS; en WiX, una lista de idiomas genera MSI separados. Eso no equivale a un selector dentro del mismo MSI. Referencia: https://v2.tauri.app/distribute/windows-installer/
ODD progresivo
Comprobaciones previstas
Tests focales de contratos/configuración/arranque y regresión,
npm test,npm run typecheck,npm run build,cargo test --locked, formato Rust y comprobación del inventario i18n. Regenerar el inventario contra el árbol commiteado cuando corresponda. Añadir evidencia funcional del instalador Windows en un entorno aislado, sin cuentas ni credenciales reales.Estas comprobaciones están planificadas; no se han ejecutado como parte de la preparación ODD.
Coordinación y entrega
Milestone 3, sin cambiar su prioridad ni prometer una versión o fecha. Antes de empezar hay que revalidar issue, comentarios, dependencias y PR relacionadas; identificar al contribuidor y verificar la asignación según CONTRIBUTING. Esta revisión no presenta el trabajo como listo mientras falte el contrato de F0 y su validación.
Tests y documentación acompañan el comportamiento en la futura PR. Asignación, implementación, commits, push, apertura de PR, merge y release son operaciones posteriores con sus autorizaciones y comprobaciones correspondientes.
Enlace desde el roadmap
El índice #45 enlazará esta revisión como alcance/ODD vigente de #233, conservando las demás entradas y el historial.
test(i18n): pin config preservation and invalid-file locale gate for #…
fix(i18n): treat a dangling config symlink as existing on startup
docs(odd): record dangling config-directory limitation for #233
Merge pull request #273 from egdev6/test/233-locale-startup-f1
feat(i18n): request locale on fresh Windows startup
chore(i18n): refresh inventory for egdev6#233 startup locale
Merge pull request #280 from egdev6/feat/233-nsis-locale-handoff
egdev6 commentedon Nov 13, 2026
Estado: F0–F3 integradas, pendiente F4
installer-locale, atado a la versión del instalador). Solo se aplica a una configuración nueva y nunca pisa una existente. Las actualizaciones automáticas (modo pasivo) no muestran el diálogo.Pendiente para cerrar:
/S,/P, actualización, reinstalación y MSI nuevo.Limitaciones conocidas (aceptadas):
feat(i18n): consume the NSIS installer locale handoff on fresh Window…
feat(installer): ask for ES/EN in the NSIS installer and hand the cho…
docs: describe the Windows installer language choice
chore(i18n): refresh inventory for the installer locale handoff
docs(odd): record egdev6#233 verification findings and passive-mode d…
fix(i18n): harden the installer locale handoff
fix(installer): skip the language dialog in passive and update runs
chore(i18n): refresh inventory after hardening the handoff
test(i18n): pin that a retried handoff never overrides a saved choice
chore(i18n): refresh inventory for the handoff regression test