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": "Aplikacje domyślne",
|
||||
"description": "Wybierz, czy linki e-mail i kalendarza mają otwierać się w Bulwark. Technicznie Bulwark rejestruje się jako obsługa protokołu dla linków mailto: i webcal:.",
|
||||
"description": "Wybierz, czy linki e-mail i kalendarza mają otwierać się w VNCmail+. Technicznie VNCmail+ rejestruje się jako obsługa protokołu dla linków mailto: i webcal:.",
|
||||
"unsupported": "Ta przeglądarka lub to połączenie nie obsługuje ręcznej rejestracji obsługi protokołu. Nadal możesz mieć możliwość użycia zainstalowanej aplikacji PWA w ustawieniach przeglądarki lub systemu.",
|
||||
"mailto_label": "Linki e-mail",
|
||||
"mailto_description": "Otwiera linki mailto: w Bulwark z wstępnie wypełnionym edytorem wiadomości.",
|
||||
"mailto_description": "Otwiera linki mailto: w VNCmail+ z wstępnie wypełnionym edytorem wiadomości.",
|
||||
"protocol_open_mode_label": "Podczas otwierania linków protokołu",
|
||||
"protocol_open_mode_description": "Wybierz, czy Bulwark ma otwierać linki mailto: i webcal: w nowej karcie, czy ponownie używać otwartej sesji. Opcja aktywnej sesji wymaga uprawnienia do powiadomień, aby można było kliknąć powiadomienie awaryjne i przenieść Bulwark na pierwszy plan, jeśli przeglądarka blokuje fokus.",
|
||||
"protocol_open_mode_description": "Wybierz, czy VNCmail+ ma otwierać linki mailto: i webcal: w nowej karcie, czy ponownie używać otwartej sesji. Opcja aktywnej sesji wymaga uprawnienia do powiadomień, aby można było kliknąć powiadomienie awaryjne i przenieść VNCmail+ na pierwszy plan, jeśli przeglądarka blokuje fokus.",
|
||||
"protocol_open_mode_active_session": "Jeśli to możliwe, otwórz w aktywnej sesji",
|
||||
"protocol_open_mode_new_tab": "Zawsze otwieraj nową kartę",
|
||||
"focus_notification_title": "Otwórz Bulwark",
|
||||
"focus_notification_body": "Link został otwarty w Bulwark. Kliknij, aby przenieść okno na pierwszy plan.",
|
||||
"focus_notification_title": "Otwórz VNCmail+",
|
||||
"focus_notification_body": "Link został otwarty w VNCmail+. Kliknij, aby przenieść okno na pierwszy plan.",
|
||||
"webcal_label": "Linki kalendarza",
|
||||
"webcal_description": "Otwiera linki webcal: w Bulwark z wstępnie wypełnionym oknem subskrypcji kalendarza.",
|
||||
"webcal_description": "Otwiera linki webcal: w VNCmail+ z wstępnie wypełnionym oknem subskrypcji kalendarza.",
|
||||
"register_mailto": "Zarejestruj aplikację e-mail",
|
||||
"register_webcal": "Zarejestruj aplikację kalendarza",
|
||||
"mailto_registered": "Zażądano rejestracji obsługi e-mail",
|
||||
@@ -165,7 +165,7 @@
|
||||
"registration_failed": "Rejestracja obsługi protokołu nie powiodła się",
|
||||
"opening_mailto": "Otwieranie edytora...",
|
||||
"opening_webcal": "Otwieranie kalendarza...",
|
||||
"browser_note": "Przeglądarka lub system operacyjny może poprosić o potwierdzenie i może wymagać zainstalowania Bulwark, zanim będzie można wybrać go jako aplikację domyślną.",
|
||||
"browser_note": "Przeglądarka lub system operacyjny może poprosić o potwierdzenie i może wymagać zainstalowania VNCmail+, zanim będzie można wybrać go jako aplikację domyślną.",
|
||||
"select_account_title": "Wybierz konto",
|
||||
"select_mailto_account": "Wybierz konto, które ma otworzyć ten link e-mail.",
|
||||
"select_webcal_account": "Wybierz konto, które ma otworzyć ten link kalendarza.",
|
||||
@@ -738,9 +738,9 @@
|
||||
"app_title": "Webmail",
|
||||
"reconnecting": "Utracono połączenie. Próba ponownego połączenia…",
|
||||
"rate_limited_title": "Uwierzytelnianie serwera jest tymczasowo ograniczone.",
|
||||
"rate_limited_detail": "Bulwark wstrzymał żądania w tle, aby uniknąć blokady. Ponowna próba za {seconds}s.",
|
||||
"rate_limited_detail": "VNCmail+ wstrzymał żądania w tle, aby uniknąć blokady. Ponowna próba za {seconds}s.",
|
||||
"rate_limited_action_title": "Żądanie wstrzymane, aby uniknąć blokady.",
|
||||
"rate_limited_action_detail": "Bulwark czeka na zakończenie okresu blokady serwera przed wysłaniem kolejnych uwierzytelnionych żądań. Spróbuj ponownie za {seconds}s."
|
||||
"rate_limited_action_detail": "VNCmail+ czeka na zakończenie okresu blokady serwera przed wysłaniem kolejnych uwierzytelnionych żądań. Spróbuj ponownie za {seconds}s."
|
||||
},
|
||||
"notifications": {
|
||||
"email_sent": "Wiadomość wysłana pomyślnie",
|
||||
@@ -1074,12 +1074,12 @@
|
||||
"push": {
|
||||
"confirm_disable_message": "To urządzenie przestanie otrzymywać powiadomienia, gdy strona jest zamknięta.",
|
||||
"confirm_disable_title": "Wyłączyć powiadomienia w tle?",
|
||||
"description": "Otrzymuj powiadomienia systemowe o nowych wiadomościach, gdy ta strona jest zamknięta. Dostarczane przez przekaźnik push Bulwark; przekaźnik nigdy nie widzi treści wiadomości.",
|
||||
"description": "Otrzymuj powiadomienia systemowe o nowych wiadomościach, gdy ta strona jest zamknięta. Dostarczane przez przekaźnik push VNCmail+; przekaźnik nigdy nie widzi treści wiadomości.",
|
||||
"disable": "Wyłącz",
|
||||
"enable": "Włącz",
|
||||
"ios_hint": "W systemie iOS najpierw zainstaluj stronę na ekranie głównym – Safari dostarcza Web Push tylko zainstalowanym PWA.",
|
||||
"reenable": "Zarejestruj ponownie",
|
||||
"relay_desc": "Domyślnie używa hostowanego przekaźnika Bulwark. Zmień tylko jeśli hostujesz samodzielnie.",
|
||||
"relay_desc": "Domyślnie używa hostowanego przekaźnika VNCmail+. Zmień tylko jeśli hostujesz samodzielnie.",
|
||||
"relay_label": "Przekaźnik push",
|
||||
"relay_locked": "Ustawione przez administratora",
|
||||
"relay_locked_desc": "Adres URL przekaźnika push został ustawiony przez administratora i nie można go zmienić.",
|
||||
@@ -1528,10 +1528,10 @@
|
||||
},
|
||||
"link_device": {
|
||||
"title": "Połącz aplikację mobilną",
|
||||
"description": "Zaloguj się do aplikacji mobilnej Bulwark Mail bez wpisywania czegokolwiek. Wygeneruj tutaj kod QR i zeskanuj go na ekranie logowania aplikacji.",
|
||||
"description": "Zaloguj się do aplikacji mobilnej VNCmail+ bez wpisywania czegokolwiek. Wygeneruj tutaj kod QR i zeskanuj go na ekranie logowania aplikacji.",
|
||||
"generate": "Pokaż kod QR",
|
||||
"regenerate": "Pokaż nowy kod",
|
||||
"instructions": "Otwórz aplikację Bulwark Mail, na ekranie logowania stuknij \"Skanuj kod QR\" i skieruj aparat tutaj.",
|
||||
"instructions": "Otwórz aplikację VNCmail+, na ekranie logowania stuknij \"Skanuj kod QR\" i skieruj aparat tutaj.",
|
||||
"expires_in": "Ten kod wygaśnie za {seconds} sekund. Można go użyć tylko raz.",
|
||||
"expired": "Ten kod wygasł.",
|
||||
"generating": "Generowanie…",
|
||||
@@ -1706,7 +1706,7 @@
|
||||
"button": "Importuj"
|
||||
},
|
||||
"about": {
|
||||
"title": "Bulwark Webmail"
|
||||
"title": "VNCmail+"
|
||||
}
|
||||
},
|
||||
"sidebar_apps": {
|
||||
@@ -3032,7 +3032,7 @@
|
||||
"start_tour": "Rozpocznij przewodnik"
|
||||
},
|
||||
"demo_welcome": {
|
||||
"title": "Witaj w Bulwark Mail",
|
||||
"title": "Witaj w VNCmail+",
|
||||
"description": "Poznaj w pełni funkcjonalnego klienta poczty webowej - bezpośrednio w przeglądarce. Wszystkie dane pozostają na Twoim urządzeniu, więc możesz śmiało wszystko przetestować.",
|
||||
"feature_email": "Czytaj i pisz wiadomości e-mail",
|
||||
"feature_organize": "Etykiety, gwiazdki i foldery",
|
||||
|
||||
Reference in New Issue
Block a user