feat(theme): ship exactly 2 themes (SRC default + VNClagoon); rebrand user-facing VNCmail+
Product decision 2026-08-05: exactly SRC (default) and VNClagoon ship as selectable themes. Everything else (Qui, Nord, Catppuccin, Solarized, Roundcube Elastic, Aurora Glass) is hidden via ThemePolicy.disabledBuiltinThemes rather than deleted - cheap to re-enable later, zero code lost. Also removed the hardcoded "Default/Bulwark" theme card from the Settings > Themes grid (product wants exactly 2 theme choices, not 3). Separately, found and fixed real "still says Bulwark" branding gaps: - All 24 locale files: "Bulwark"/"Bulwark Mail"/"Bulwark Webmail" -> "VNCmail+" in every user-facing string (verified via the translations test, which only checks structural key parity across locales, not content - a straight string swap is safe against it. 48/48 still pass). - PWA manifest fallback app name, package.json description/author. - Demo mode fixtures: the "Welcome to Bulwark Mail!" email and identity signature a first-time demo user actually sees. - The demo empty-state's logo was hardcoded to a literal Bulwark SVG file regardless of active theme - a real bug, not just stale text, since lib/theme-logo.ts's resolveThemeLogo() already exists and is already used correctly by the login page and nav rail for exactly this (theme-aware SRC mark / VNClagoon wordmark). Wired the same helper in here instead of a hardcoded path. NOT touched: internal code comments referencing "Bulwark" as historical/ attribution context (e.g. design-rationale comments explaining why a value differs from Bulwark's original) - those are harmless and a full-repo sweep of every comment wasn't the ask. Verified: typecheck clean, lint clean, translations test 48/48 passing.
This commit is contained in:
+15
-15
@@ -146,18 +146,18 @@
|
||||
},
|
||||
"protocol_handlers": {
|
||||
"title": "App predefinite",
|
||||
"description": "Scegli se i link e-mail e calendario devono aprirsi in Bulwark. Tecnicamente, Bulwark si registra come gestore di protocollo per i link mailto: e webcal:.",
|
||||
"description": "Scegli se i link e-mail e calendario devono aprirsi in VNCmail+. Tecnicamente, VNCmail+ si registra come gestore di protocollo per i link mailto: e webcal:.",
|
||||
"unsupported": "Questo browser o questa connessione non supporta la registrazione manuale dei gestori di protocollo. Potresti comunque poter usare la PWA installata tramite le impostazioni del browser o del sistema.",
|
||||
"mailto_label": "Link e-mail",
|
||||
"mailto_description": "Apre i link mailto: in Bulwark con il compositore precompilato.",
|
||||
"mailto_description": "Apre i link mailto: in VNCmail+ con il compositore precompilato.",
|
||||
"protocol_open_mode_label": "All'apertura dei link di protocollo",
|
||||
"protocol_open_mode_description": "Scegli se Bulwark deve aprire i link mailto: e webcal: in una nuova scheda o riutilizzare una sessione aperta. L'opzione sessione attiva richiede l'autorizzazione alle notifiche, così puoi fare clic su una notifica di fallback per portare Bulwark in primo piano se il browser blocca il focus.",
|
||||
"protocol_open_mode_description": "Scegli se VNCmail+ deve aprire i link mailto: e webcal: in una nuova scheda o riutilizzare una sessione aperta. L'opzione sessione attiva richiede l'autorizzazione alle notifiche, così puoi fare clic su una notifica di fallback per portare VNCmail+ in primo piano se il browser blocca il focus.",
|
||||
"protocol_open_mode_active_session": "Apri nella sessione attiva se possibile",
|
||||
"protocol_open_mode_new_tab": "Apri sempre una nuova scheda",
|
||||
"focus_notification_title": "Apri Bulwark",
|
||||
"focus_notification_body": "Il link è stato aperto in Bulwark. Fai clic per portare la finestra in primo piano.",
|
||||
"focus_notification_title": "Apri VNCmail+",
|
||||
"focus_notification_body": "Il link è stato aperto in VNCmail+. Fai clic per portare la finestra in primo piano.",
|
||||
"webcal_label": "Link calendario",
|
||||
"webcal_description": "Apre i link webcal: in Bulwark con una finestra di dialogo di sottoscrizione al calendario precompilata.",
|
||||
"webcal_description": "Apre i link webcal: in VNCmail+ con una finestra di dialogo di sottoscrizione al calendario precompilata.",
|
||||
"register_mailto": "Registra app e-mail",
|
||||
"register_webcal": "Registra app calendario",
|
||||
"mailto_registered": "Registrazione del gestore e-mail richiesta",
|
||||
@@ -165,7 +165,7 @@
|
||||
"registration_failed": "Registrazione del gestore di protocollo non riuscita",
|
||||
"opening_mailto": "Apertura compositore...",
|
||||
"opening_webcal": "Apertura calendario...",
|
||||
"browser_note": "Il browser o il sistema operativo potrebbe chiederti di confermare e potrebbe richiedere che Bulwark sia installato prima di poterlo selezionare come app predefinita.",
|
||||
"browser_note": "Il browser o il sistema operativo potrebbe chiederti di confermare e potrebbe richiedere che VNCmail+ sia installato prima di poterlo selezionare come app predefinita.",
|
||||
"select_account_title": "Scegli account",
|
||||
"select_mailto_account": "Scegli quale account deve aprire questo link e-mail.",
|
||||
"select_webcal_account": "Scegli quale account deve aprire questo link calendario.",
|
||||
@@ -738,9 +738,9 @@
|
||||
"app_title": "Webmail",
|
||||
"reconnecting": "Connessione persa. Tentativo di riconnessione…",
|
||||
"rate_limited_title": "L'autenticazione del server e temporaneamente limitata.",
|
||||
"rate_limited_detail": "Bulwark ha sospeso le richieste in background per evitare il blocco. Nuovo tentativo tra {seconds}s.",
|
||||
"rate_limited_detail": "VNCmail+ ha sospeso le richieste in background per evitare il blocco. Nuovo tentativo tra {seconds}s.",
|
||||
"rate_limited_action_title": "Richiesta sospesa per evitare il blocco.",
|
||||
"rate_limited_action_detail": "Bulwark attende che termini il cooldown del server prima di inviare altre richieste autenticate. Riprova tra {seconds}s."
|
||||
"rate_limited_action_detail": "VNCmail+ attende che termini il cooldown del server prima di inviare altre richieste autenticate. Riprova tra {seconds}s."
|
||||
},
|
||||
"notifications": {
|
||||
"email_sent": "Messaggio inviato con successo",
|
||||
@@ -1074,12 +1074,12 @@
|
||||
"push": {
|
||||
"confirm_disable_message": "Questo dispositivo non riceverà più avvisi quando il sito è chiuso.",
|
||||
"confirm_disable_title": "Disabilitare le notifiche in background?",
|
||||
"description": "Ricevi notifiche di sistema per la nuova posta quando questo sito è chiuso. Consegnato tramite il relay push Bulwark; il relay non vede mai il contenuto della posta.",
|
||||
"description": "Ricevi notifiche di sistema per la nuova posta quando questo sito è chiuso. Consegnato tramite il relay push VNCmail+; il relay non vede mai il contenuto della posta.",
|
||||
"disable": "Disabilita",
|
||||
"enable": "Abilita",
|
||||
"ios_hint": "Su iOS, installa prima il sito sulla schermata Home: Safari consegna Web Push solo alle PWA installate.",
|
||||
"reenable": "Registra di nuovo",
|
||||
"relay_desc": "Per impostazione predefinita usa il relay Bulwark ospitato. Cambialo solo se ospiti in autonomia.",
|
||||
"relay_desc": "Per impostazione predefinita usa il relay VNCmail+ ospitato. Cambialo solo se ospiti in autonomia.",
|
||||
"relay_label": "Relay push",
|
||||
"relay_locked": "Impostato dall'amministratore",
|
||||
"relay_locked_desc": "L'URL del relay push è stato impostato dall'amministratore e non può essere modificato.",
|
||||
@@ -1528,10 +1528,10 @@
|
||||
},
|
||||
"link_device": {
|
||||
"title": "Collega l'app mobile",
|
||||
"description": "Accedi all'app mobile Bulwark Mail senza digitare nulla. Genera qui un codice QR e scansionalo dalla schermata di accesso dell'app.",
|
||||
"description": "Accedi all'app mobile VNCmail+ senza digitare nulla. Genera qui un codice QR e scansionalo dalla schermata di accesso dell'app.",
|
||||
"generate": "Mostra codice QR",
|
||||
"regenerate": "Mostra un nuovo codice",
|
||||
"instructions": "Apri l'app Bulwark Mail, tocca \"Scansiona codice QR\" nella schermata di accesso e inquadra qui con la fotocamera.",
|
||||
"instructions": "Apri l'app VNCmail+, tocca \"Scansiona codice QR\" nella schermata di accesso e inquadra qui con la fotocamera.",
|
||||
"expires_in": "Questo codice scade tra {seconds} secondi. Può essere usato una sola volta.",
|
||||
"expired": "Questo codice è scaduto.",
|
||||
"generating": "Generazione…",
|
||||
@@ -1706,7 +1706,7 @@
|
||||
"button": "Importa"
|
||||
},
|
||||
"about": {
|
||||
"title": "Bulwark Webmail"
|
||||
"title": "VNCmail+"
|
||||
}
|
||||
},
|
||||
"sidebar_apps": {
|
||||
@@ -3032,7 +3032,7 @@
|
||||
"start_tour": "Inizia il tour"
|
||||
},
|
||||
"demo_welcome": {
|
||||
"title": "Benvenuto su Bulwark Mail",
|
||||
"title": "Benvenuto su VNCmail+",
|
||||
"description": "Esplora un client webmail completo - direttamente nel tuo browser. Tutti i dati restano sul tuo dispositivo, quindi prova tutto.",
|
||||
"feature_email": "Leggere e scrivere email",
|
||||
"feature_organize": "Tag, stelle e cartelle",
|
||||
|
||||
Reference in New Issue
Block a user