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": "既定のアプリ",
|
||||
"description": "メールとカレンダーのリンクを Bulwark で開くかどうかを選択します。技術的には、Bulwark は mailto: と webcal: リンクのプロトコル ハンドラーとして登録されます。",
|
||||
"description": "メールとカレンダーのリンクを VNCmail+ で開くかどうかを選択します。技術的には、VNCmail+ は mailto: と webcal: リンクのプロトコル ハンドラーとして登録されます。",
|
||||
"unsupported": "このブラウザーまたは接続では、プロトコル ハンドラーの手動登録がサポートされていません。インストール済みの PWA は、ブラウザーまたはシステム設定から使用できる場合があります。",
|
||||
"mailto_label": "メールリンク",
|
||||
"mailto_description": "mailto: リンクを、入力済みの作成画面で Bulwark に開きます。",
|
||||
"mailto_description": "mailto: リンクを、入力済みの作成画面で VNCmail+ に開きます。",
|
||||
"protocol_open_mode_label": "プロトコルリンクを開くとき",
|
||||
"protocol_open_mode_description": "Bulwark が mailto: と webcal: のリンクを新しいタブで開くか、開いているセッションを再利用するかを選択します。アクティブなセッションのオプションでは通知の許可が必要です。ブラウザーがフォーカスをブロックした場合に、代替通知をクリックして Bulwark を前面に表示できます。",
|
||||
"protocol_open_mode_description": "VNCmail+ が mailto: と webcal: のリンクを新しいタブで開くか、開いているセッションを再利用するかを選択します。アクティブなセッションのオプションでは通知の許可が必要です。ブラウザーがフォーカスをブロックした場合に、代替通知をクリックして VNCmail+ を前面に表示できます。",
|
||||
"protocol_open_mode_active_session": "可能な場合はアクティブなセッションで開く",
|
||||
"protocol_open_mode_new_tab": "常に新しいタブを開く",
|
||||
"focus_notification_title": "Bulwark を開く",
|
||||
"focus_notification_body": "リンクは Bulwark で開かれました。クリックするとウィンドウを前面に表示します。",
|
||||
"focus_notification_title": "VNCmail+ を開く",
|
||||
"focus_notification_body": "リンクは VNCmail+ で開かれました。クリックするとウィンドウを前面に表示します。",
|
||||
"webcal_label": "カレンダーリンク",
|
||||
"webcal_description": "webcal: リンクを、入力済みのカレンダー購読ダイアログで Bulwark に開きます。",
|
||||
"webcal_description": "webcal: リンクを、入力済みのカレンダー購読ダイアログで VNCmail+ に開きます。",
|
||||
"register_mailto": "メールアプリを登録",
|
||||
"register_webcal": "カレンダーアプリを登録",
|
||||
"mailto_registered": "メール ハンドラーの登録を要求しました",
|
||||
@@ -165,7 +165,7 @@
|
||||
"registration_failed": "プロトコル ハンドラーの登録に失敗しました",
|
||||
"opening_mailto": "作成画面を開いています...",
|
||||
"opening_webcal": "カレンダーを開いています...",
|
||||
"browser_note": "ブラウザーまたはオペレーティング システムから確認を求められる場合があります。また、既定のアプリとして選択する前に Bulwark のインストールが必要な場合があります。",
|
||||
"browser_note": "ブラウザーまたはオペレーティング システムから確認を求められる場合があります。また、既定のアプリとして選択する前に VNCmail+ のインストールが必要な場合があります。",
|
||||
"select_account_title": "アカウントを選択",
|
||||
"select_mailto_account": "このメールリンクを開くアカウントを選択してください。",
|
||||
"select_webcal_account": "このカレンダーリンクを開くアカウントを選択してください。",
|
||||
@@ -738,9 +738,9 @@
|
||||
"app_title": "ウェブメール",
|
||||
"reconnecting": "接続が切れました。再接続を試みています…",
|
||||
"rate_limited_title": "サーバー認証は一時的に制限されています。",
|
||||
"rate_limited_detail": "ロックアウトを避けるため、Bulwark はバックグラウンド要求を一時停止しました。{seconds} 秒後に再試行します。",
|
||||
"rate_limited_detail": "ロックアウトを避けるため、VNCmail+ はバックグラウンド要求を一時停止しました。{seconds} 秒後に再試行します。",
|
||||
"rate_limited_action_title": "ロックアウトを避けるため要求を一時停止しました。",
|
||||
"rate_limited_action_detail": "Bulwark はサーバーのクールダウンが終わるまで、追加の認証付きリクエストを送信しません。{seconds} 秒後に再試行してください。"
|
||||
"rate_limited_action_detail": "VNCmail+ はサーバーのクールダウンが終わるまで、追加の認証付きリクエストを送信しません。{seconds} 秒後に再試行してください。"
|
||||
},
|
||||
"notifications": {
|
||||
"email_sent": "メールを送信しました",
|
||||
@@ -1074,12 +1074,12 @@
|
||||
"push": {
|
||||
"confirm_disable_message": "このデバイスは、サイトが閉じているときに通知を受信しなくなります。",
|
||||
"confirm_disable_title": "バックグラウンド通知を無効にしますか?",
|
||||
"description": "このサイトが閉じているときに新着メールのシステム通知を受信します。Bulwark プッシュリレー経由で配信され、リレーがメール内容を見ることはありません。",
|
||||
"description": "このサイトが閉じているときに新着メールのシステム通知を受信します。VNCmail+ プッシュリレー経由で配信され、リレーがメール内容を見ることはありません。",
|
||||
"disable": "無効化",
|
||||
"enable": "有効化",
|
||||
"ios_hint": "iOS では、最初にサイトをホーム画面にインストールしてください。Safari はインストールされた PWA にのみ Web Push を配信します。",
|
||||
"reenable": "再登録",
|
||||
"relay_desc": "デフォルトはホストされた Bulwark リレーです。セルフホストする場合のみ変更してください。",
|
||||
"relay_desc": "デフォルトはホストされた VNCmail+ リレーです。セルフホストする場合のみ変更してください。",
|
||||
"relay_label": "プッシュリレー",
|
||||
"relay_locked": "管理者が設定",
|
||||
"relay_locked_desc": "プッシュリレーの URL は管理者によって設定されており、変更できません。",
|
||||
@@ -1528,10 +1528,10 @@
|
||||
},
|
||||
"link_device": {
|
||||
"title": "モバイルアプリを連携",
|
||||
"description": "入力なしで Bulwark Mail モバイルアプリにサインインできます。ここで QR コードを生成し、アプリのログイン画面からスキャンしてください。",
|
||||
"description": "入力なしで VNCmail+ モバイルアプリにサインインできます。ここで QR コードを生成し、アプリのログイン画面からスキャンしてください。",
|
||||
"generate": "QRコードを表示",
|
||||
"regenerate": "新しいコードを表示",
|
||||
"instructions": "Bulwark Mail アプリを開き、ログイン画面で「QRコードをスキャン」をタップして、カメラをここに向けてください。",
|
||||
"instructions": "VNCmail+ アプリを開き、ログイン画面で「QRコードをスキャン」をタップして、カメラをここに向けてください。",
|
||||
"expires_in": "このコードは{seconds}秒で期限切れになります。一度しか使用できません。",
|
||||
"expired": "このコードは期限切れです。",
|
||||
"generating": "生成中…",
|
||||
@@ -1706,7 +1706,7 @@
|
||||
"button": "インポート"
|
||||
},
|
||||
"about": {
|
||||
"title": "Bulwark Webmail"
|
||||
"title": "VNCmail+"
|
||||
}
|
||||
},
|
||||
"sidebar_apps": {
|
||||
@@ -3032,7 +3032,7 @@
|
||||
"start_tour": "ツアーを開始"
|
||||
},
|
||||
"demo_welcome": {
|
||||
"title": "Bulwark Mail へようこそ",
|
||||
"title": "VNCmail+ へようこそ",
|
||||
"description": "フル機能のウェブメールクライアントをブラウザで体験できます。すべてのデータはお使いのデバイスに保存されるので、自由にお試しください。",
|
||||
"feature_email": "メールの読み書き",
|
||||
"feature_organize": "タグ・スター・フォルダ",
|
||||
|
||||
Reference in New Issue
Block a user