fix(client): 默认 UI 品牌文案统一英文 Pangolin(窗口标题/托盘/安装包名/macOS 菜单栏)
默认 UI 语言是英文,但窗口标题(windowManager.setTitle)、MaterialApp title、 托盘 tooltip 与右键菜单、Windows 安装包显示名、macOS CFBundleName 硬编码中文, 中英混排。统一改英文品牌名;iOS 桌面图标名(CFBundleDisplayName=穿山甲)按 市场定位保留。托盘菜单文案后续可接 l10n(现契约无 tray 键)。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FEVUXAbFT6bF1Qw27RHWoD
This commit is contained in:
@@ -43,8 +43,8 @@ Future<void> main(List<String> args) async {
|
|||||||
await windowManager.setMinimumSize(const Size(720, 560));
|
await windowManager.setMinimumSize(const Size(720, 560));
|
||||||
await windowManager.setSize(const Size(920, 640));
|
await windowManager.setSize(const Size(920, 640));
|
||||||
await windowManager.center();
|
await windowManager.center();
|
||||||
// 窗口标题用中文品牌名(不带 "VPN" 字眼);英文环境下原生标题为 "Pangolin"。
|
// 窗口标题用英文品牌名(不带 "VPN" 字眼;默认 UI 语言为英文,标题保持一致)。
|
||||||
await windowManager.setTitle('穿山甲');
|
await windowManager.setTitle('Pangolin');
|
||||||
// 自启:首帧前就隐藏窗口(避免闪现),托盘已就绪可随时唤回;自动连接逻辑照常跑。
|
// 自启:首帧前就隐藏窗口(避免闪现),托盘已就绪可随时唤回;自动连接逻辑照常跑。
|
||||||
if (bootAutostart) {
|
if (bootAutostart) {
|
||||||
await windowManager.hide();
|
await windowManager.hide();
|
||||||
@@ -109,7 +109,7 @@ class _PangolinAppState extends ConsumerState<PangolinApp> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final mode = ref.watch(themeModeProvider);
|
final mode = ref.watch(themeModeProvider);
|
||||||
return MaterialApp(
|
return MaterialApp(
|
||||||
title: '穿山甲',
|
title: 'Pangolin',
|
||||||
debugShowCheckedModeBanner: false,
|
debugShowCheckedModeBanner: false,
|
||||||
theme: PangolinTheme.light,
|
theme: PangolinTheme.light,
|
||||||
darkTheme: PangolinTheme.dark,
|
darkTheme: PangolinTheme.dark,
|
||||||
|
|||||||
@@ -58,11 +58,11 @@ class TrayService with TrayListener, WindowListener {
|
|||||||
await trayManager.setIcon(
|
await trayManager.setIcon(
|
||||||
Platform.isWindows ? 'assets/tray_icon.ico' : 'assets/tray_icon.png',
|
Platform.isWindows ? 'assets/tray_icon.ico' : 'assets/tray_icon.png',
|
||||||
);
|
);
|
||||||
await trayManager.setToolTip('穿山甲 Pangolin');
|
await trayManager.setToolTip('Pangolin');
|
||||||
await trayManager.setContextMenu(Menu(items: [
|
await trayManager.setContextMenu(Menu(items: [
|
||||||
MenuItem(key: 'show', label: '显示主界面'),
|
MenuItem(key: 'show', label: 'Show Window'),
|
||||||
MenuItem.separator(),
|
MenuItem.separator(),
|
||||||
MenuItem(key: 'quit', label: '退出'),
|
MenuItem(key: 'quit', label: 'Quit'),
|
||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundleName</key>
|
<key>CFBundleName</key>
|
||||||
<string>$(PRODUCT_NAME)</string>
|
<string>Pangolin</string>
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
; 编译: ISCC.exe pangolin.iss (或用 Inno Setup Compiler 打开)
|
; 编译: ISCC.exe pangolin.iss (或用 Inno Setup Compiler 打开)
|
||||||
; 前置: 先在 client/ 跑 `flutter build windows`(Release),产物在
|
; 前置: 先在 client/ 跑 `flutter build windows`(Release),产物在
|
||||||
; ..\..\build\windows\x64\runner\Release
|
; ..\..\build\windows\x64\runner\Release
|
||||||
#define MyAppName "穿山甲 Pangolin"
|
#define MyAppName "Pangolin"
|
||||||
#define MyAppVersion "1.0.73"
|
#define MyAppVersion "1.0.73"
|
||||||
#define MyAppPublisher "Pangolin"
|
#define MyAppPublisher "Pangolin"
|
||||||
#define MyAppExeName "pangolin_vpn.exe"
|
#define MyAppExeName "pangolin_vpn.exe"
|
||||||
|
|||||||
Reference in New Issue
Block a user