chore: rebrand product as 省心推 and lock UI to zh-CN

Update server titles, web/desktop window/tray/document titles, login
copy, and electron build metadata to use the Chinese product name 省心推.
Drop the runtime locale switcher and en-US import — the app now ships
zh-CN only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-01 11:03:55 +08:00
parent dca36ed1f6
commit 5a613abc33
16 changed files with 25 additions and 128 deletions
+2 -2
View File
@@ -340,7 +340,7 @@ async function createAppWindow(mode: WindowMode): Promise<ElectronBrowserWindow>
minWidth: initial.minWidth,
minHeight: initial.minHeight,
show: false,
title: "GEO Rankly Desktop",
title: "省心推",
icon: createDesktopHealthIcon("normal"),
titleBarStyle: "hiddenInset",
trafficLightPosition: { x: 12, y: 14 },
@@ -414,7 +414,7 @@ async function createSettingsWindow(): Promise<ElectronBrowserWindow> {
minWidth: initial.minWidth,
minHeight: initial.minHeight,
show: false,
title: "GEO Rankly Desktop 设置",
title: "省心推设置",
icon: createDesktopHealthIcon("normal"),
titleBarStyle: "hiddenInset",
trafficLightPosition: { x: 14, y: 15 },
@@ -25,7 +25,7 @@ describe("playwright cdp target pruning", () => {
expect(isReclaimableHiddenPlaywrightTarget({
id: "renderer",
type: "page",
title: "GEO Rankly Desktop",
title: "省心推 - 账号健康监控与内容发布平台",
url: "http://localhost:5173/",
})).toBe(false);
});
@@ -165,7 +165,7 @@ function createLiveRuntimeSnapshot(controller: RuntimeControllerSnapshot) {
return {
generatedAt: now,
app: {
name: "GEO Rankly Desktop",
name: "省心推",
version: app.getVersion(),
channel: process.env.NODE_ENV === "development" ? "dev" : "release",
platform: process.platform,
+1 -1
View File
@@ -57,7 +57,7 @@ export function updateTrayIssueIndicator(issueCount: number): void {
tray.setImage(createTrayIcon(hasIssues ? "danger" : "normal"));
tray.setTitle(hasIssues ? formatIssueCount(safeCount) : "", { fontType: "monospacedDigit" });
tray.setToolTip(hasIssues ? `GEO Rankly Desktop · ${safeCount} 个账号健康问题` : "GEO Rankly Desktop");
tray.setToolTip(hasIssues ? `省心推 · ${safeCount} 个账号健康问题` : "省心推");
}
export function initTray(onOpen: () => void): ElectronTray {
@@ -88,7 +88,7 @@ function openSettingsWindow() {
</div>
<div>
<p class="eyebrow">Workspace Cockpit</p>
<h1>GEO Rankly Desktop</h1>
<h1>省心推</h1>
</div>
</div>
+1 -1
View File
@@ -11,7 +11,7 @@
rel="icon"
href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop stop-color='%230f766e'/%3E%3Cstop offset='1' stop-color='%231b6cff'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='64' height='64' rx='18' fill='%23f5f7fb'/%3E%3Ccircle cx='32' cy='32' r='18' fill='none' stroke='url(%23g)' stroke-width='6'/%3E%3Ccircle cx='32' cy='32' r='8' fill='url(%23g)'/%3E%3C/svg%3E"
/>
<title>GEO Rankly Desktop</title>
<title>省心推</title>
</head>
<body>
<div id="app"></div>
@@ -105,7 +105,7 @@ onBeforeUnmount(() => {
<div class="brand-logo">
<span class="brand-core"></span>
</div>
<h1 class="brand-name">GEO Rankly</h1>
<h1 class="brand-name">省心推</h1>
</header>
<form class="login-form" @submit.prevent="submitLogin">