From 3b57b1315c478129d03610bbc6e461619aae7c21 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Wed, 03 Jun 2026 21:54:06 +0800
Subject: [PATCH] Localize macOS app display name
---
privatevoice.src/scripts/build-appstore-macos.sh | 2 ++
privatevoice.src/scripts/build-release-macos.sh | 2 ++
privatevoice.src/scripts/build-appstore-developerid-macos.sh | 2 ++
privatevoice.src/build/darwin/zh-Hans.lproj/InfoPlist.strings | 3 +++
privatevoice.src/scripts/build-local-macos.sh | 2 ++
CHANGELOG.md | 14 ++++++++++++++
privatevoice.src/build/darwin/Info.plist | 6 ++++--
privatevoice.src/build/windows/wails.exe.manifest | 2 +-
privatevoice.src/build/darwin/en.lproj/InfoPlist.strings | 3 +++
privatevoice.src/frontend/package.json | 2 +-
privatevoice.src/app.go | 4 ++--
privatevoice.src/build/config.yml | 2 +-
privatevoice.src/frontend/package-lock.json | 4 ++--
13 files changed, 39 insertions(+), 9 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9ba2132..b6a8111 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,19 @@
# Changelog
+## v2.1.26 (2026-06-03)
+
+### 修复
+
+- **macOS App 名称按系统语言本地化**:中文系统显示 `私语输入法`,英文系统显示 `PrivateVoice Dictation`。
+- **麦克风权限提示本地化**:中文系统下麦克风授权文案改为中文。
+- **macOS 构建脚本复制本地化资源**:本地、正式、App Store POC 和 Developer ID sandbox 构建都会把 `*.lproj/InfoPlist.strings` 打入 `.app/Contents/Resources`。
+
+### 构建
+
+- build: `20260603.2151`
+
+---
+
## v2.1.25 (2026-06-03)
### QA 候选包
diff --git a/privatevoice.src/app.go b/privatevoice.src/app.go
index 6c41837..daa6fba 100755
--- a/privatevoice.src/app.go
+++ b/privatevoice.src/app.go
@@ -27,8 +27,8 @@
)
const (
- appVersion = "2.1.25"
- appBuild = "20260603.2102"
+ appVersion = "2.1.26"
+ appBuild = "20260603.2151"
appDisplayVersion = appVersion + " (build " + appBuild + ")"
appName = "PrivateVoice Dictation"
diff --git a/privatevoice.src/build/config.yml b/privatevoice.src/build/config.yml
index 54e2db9..a791b0c 100755
--- a/privatevoice.src/build/config.yml
+++ b/privatevoice.src/build/config.yml
@@ -7,7 +7,7 @@
description: "Private offline voice input tool"
copyright: "(c) 2026, PrivateVoice"
comments: "Private. Offline."
- version: "2.1.25"
+ version: "2.1.26"
dev_mode:
root_path: .
diff --git a/privatevoice.src/build/darwin/Info.plist b/privatevoice.src/build/darwin/Info.plist
index 7941cd7..4910b5d 100755
--- a/privatevoice.src/build/darwin/Info.plist
+++ b/privatevoice.src/build/darwin/Info.plist
@@ -8,6 +8,8 @@
<string>icon.icns</string>
<key>CFBundleIdentifier</key>
<string>com.privatevoice.input</string>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>en</string>
<key>CFBundleName</key>
<string>PrivateVoice Dictation</string>
<key>CFBundleDisplayName</key>
@@ -15,9 +17,9 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>2.1.25</string>
+ <string>2.1.26</string>
<key>CFBundleVersion</key>
- <string>20260603.2102</string>
+ <string>20260603.2151</string>
<key>LSMinimumSystemVersion</key>
<string>11.0</string>
<key>NSMicrophoneUsageDescription</key>
diff --git a/privatevoice.src/build/darwin/en.lproj/InfoPlist.strings b/privatevoice.src/build/darwin/en.lproj/InfoPlist.strings
new file mode 100644
index 0000000..21a4d70
--- /dev/null
+++ b/privatevoice.src/build/darwin/en.lproj/InfoPlist.strings
@@ -0,0 +1,3 @@
+"CFBundleDisplayName" = "PrivateVoice Dictation";
+"CFBundleName" = "PrivateVoice Dictation";
+"NSMicrophoneUsageDescription" = "PrivateVoice Dictation needs microphone access for voice-to-text input.";
diff --git a/privatevoice.src/build/darwin/zh-Hans.lproj/InfoPlist.strings b/privatevoice.src/build/darwin/zh-Hans.lproj/InfoPlist.strings
new file mode 100644
index 0000000..c50d880
--- /dev/null
+++ b/privatevoice.src/build/darwin/zh-Hans.lproj/InfoPlist.strings
@@ -0,0 +1,3 @@
+"CFBundleDisplayName" = "私语输入法";
+"CFBundleName" = "私语输入法";
+"NSMicrophoneUsageDescription" = "私语输入法需要访问麦克风,用于语音转文字输入。";
diff --git a/privatevoice.src/build/windows/wails.exe.manifest b/privatevoice.src/build/windows/wails.exe.manifest
index d6984e1..22eacb8 100755
--- a/privatevoice.src/build/windows/wails.exe.manifest
+++ b/privatevoice.src/build/windows/wails.exe.manifest
@@ -3,7 +3,7 @@
<assemblyIdentity
type="win32"
name="PrivateVoice.Dictation"
- version="2.1.25.0"
+ version="2.1.26.0"
processorArchitecture="*"/>
<dependency>
<dependentAssembly>
diff --git a/privatevoice.src/frontend/package-lock.json b/privatevoice.src/frontend/package-lock.json
index 09617da..8fd1934 100755
--- a/privatevoice.src/frontend/package-lock.json
+++ b/privatevoice.src/frontend/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "privatevoice-dictation-frontend",
- "version": "2.1.25",
+ "version": "2.1.26",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "privatevoice-dictation-frontend",
- "version": "2.1.25",
+ "version": "2.1.26",
"dependencies": {
"@wailsio/runtime": "latest"
},
diff --git a/privatevoice.src/frontend/package.json b/privatevoice.src/frontend/package.json
index 08cd5f3..d2c93d0 100755
--- a/privatevoice.src/frontend/package.json
+++ b/privatevoice.src/frontend/package.json
@@ -1,7 +1,7 @@
{
"name": "privatevoice-dictation-frontend",
"private": true,
- "version": "2.1.25",
+ "version": "2.1.26",
"type": "module",
"scripts": {
"dev": "vite dev",
diff --git a/privatevoice.src/scripts/build-appstore-developerid-macos.sh b/privatevoice.src/scripts/build-appstore-developerid-macos.sh
index b6615e2..7cc2d47 100755
--- a/privatevoice.src/scripts/build-appstore-developerid-macos.sh
+++ b/privatevoice.src/scripts/build-appstore-developerid-macos.sh
@@ -150,6 +150,8 @@
"$APP_BUNDLE/Contents/Info.plist"
cp "$BUILD_DIR/$APP_NAME" "$APP_BUNDLE/Contents/MacOS/$APP_NAME"
cp "$PROJECT_DIR/build/darwin/icon.icns" "$APP_BUNDLE/Contents/Resources/icon.icns"
+ find "$PROJECT_DIR/build/darwin" -maxdepth 1 -type d -name "*.lproj" \
+ -exec cp -R {} "$APP_BUNDLE/Contents/Resources/" \;
cp "$SHERPA_LIB_DIR/libsherpa-onnx-c-api.dylib" "$APP_BUNDLE/Contents/Frameworks/"
cp "$ONNXRUNTIME_DYLIB" "$APP_BUNDLE/Contents/Frameworks/"
diff --git a/privatevoice.src/scripts/build-appstore-macos.sh b/privatevoice.src/scripts/build-appstore-macos.sh
index 3e2bc6d..b635ba2 100755
--- a/privatevoice.src/scripts/build-appstore-macos.sh
+++ b/privatevoice.src/scripts/build-appstore-macos.sh
@@ -123,6 +123,8 @@
"$APP_BUNDLE/Contents/Info.plist"
cp "$BUILD_DIR/$APP_NAME" "$APP_BUNDLE/Contents/MacOS/$APP_NAME"
cp "$PROJECT_DIR/build/darwin/icon.icns" "$APP_BUNDLE/Contents/Resources/icon.icns"
+find "$PROJECT_DIR/build/darwin" -maxdepth 1 -type d -name "*.lproj" \
+ -exec cp -R {} "$APP_BUNDLE/Contents/Resources/" \;
cp "$SHERPA_LIB_DIR/libsherpa-onnx-c-api.dylib" "$APP_BUNDLE/Contents/Frameworks/"
cp "$ONNXRUNTIME_DYLIB" "$APP_BUNDLE/Contents/Frameworks/"
diff --git a/privatevoice.src/scripts/build-local-macos.sh b/privatevoice.src/scripts/build-local-macos.sh
index 500ded4..95b1e1b 100755
--- a/privatevoice.src/scripts/build-local-macos.sh
+++ b/privatevoice.src/scripts/build-local-macos.sh
@@ -214,6 +214,8 @@
cp "$INFO_PLIST" "$APP_BUNDLE/Contents/Info.plist"
cp "$BUILD_DIR/$APP_NAME" "$APP_BUNDLE/Contents/MacOS/$APP_NAME"
cp "$PROJECT_DIR/build/darwin/icon.icns" "$APP_BUNDLE/Contents/Resources/icon.icns"
+find "$PROJECT_DIR/build/darwin" -maxdepth 1 -type d -name "*.lproj" \
+ -exec cp -R {} "$APP_BUNDLE/Contents/Resources/" \;
cp "$SHERPA_LIB_DIR/libsherpa-onnx-c-api.dylib" "$APP_BUNDLE/Contents/Frameworks/"
cp "$ONNXRUNTIME_DYLIB" "$APP_BUNDLE/Contents/Frameworks/"
diff --git a/privatevoice.src/scripts/build-release-macos.sh b/privatevoice.src/scripts/build-release-macos.sh
index 278100f..6968535 100755
--- a/privatevoice.src/scripts/build-release-macos.sh
+++ b/privatevoice.src/scripts/build-release-macos.sh
@@ -116,6 +116,8 @@
cp "$BUILD_DIR/${APP_NAME}" "$APP_BUNDLE/Contents/MacOS/${APP_NAME}"
cp "$PROJECT_DIR/build/darwin/icon.icns" \
"$APP_BUNDLE/Contents/Resources/icon.icns"
+find "$PROJECT_DIR/build/darwin" -maxdepth 1 -type d -name "*.lproj" \
+ -exec cp -R {} "$APP_BUNDLE/Contents/Resources/" \;
# Copy dylibs
cp "$SHERPA_LIB_DIR/libsherpa-onnx-c-api.dylib" "$APP_BUNDLE/Contents/Frameworks/"
--
Gitblit v1.9.3