Skip to content

Commit b34c91c

Browse files
committed
fix: localize packaged webui errors and normalize install root
1 parent b68c8b3 commit b34c91c

2 files changed

Lines changed: 31 additions & 9 deletions

File tree

src-tauri/src/main.rs

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2194,10 +2194,34 @@ fn packaged_fallback_webui_dir(root_dir: Option<&Path>) -> Option<PathBuf> {
21942194
}
21952195
}
21962196

2197+
fn packaged_webui_missing_embedded_error(locale: &str, embedded_index: &Path) -> String {
2198+
if locale == "en-US" {
2199+
return format!(
2200+
"Packaged WebUI is unavailable. Missing embedded index at {} and fallback data/dist. Please reinstall AstrBot or download the matching dist.zip to data/dist.",
2201+
embedded_index.display()
2202+
);
2203+
}
2204+
2205+
format!(
2206+
"内置 WebUI 不可用。缺少内置入口文件:{},且回退目录 data/dist 也不可用。请重装 AstrBot,或下载匹配版本的 dist.zip 到 data/dist。",
2207+
embedded_index.display()
2208+
)
2209+
}
2210+
2211+
fn packaged_webui_missing_embedded_dir_error(locale: &str) -> String {
2212+
if locale == "en-US" {
2213+
return "Packaged WebUI directory is missing and fallback data/dist is unavailable. Please reinstall AstrBot or download the matching dist.zip to data/dist."
2214+
.to_string();
2215+
}
2216+
2217+
"内置 WebUI 目录缺失,且回退目录 data/dist 也不可用。请重装 AstrBot,或下载匹配版本的 dist.zip 到 data/dist。".to_string()
2218+
}
2219+
21972220
fn resolve_packaged_webui_dir(
21982221
embedded_webui_dir: Option<PathBuf>,
21992222
root_dir: Option<&Path>,
22002223
) -> Result<PathBuf, String> {
2224+
let locale = resolve_shell_locale();
22012225
let fallback_webui_dir = packaged_fallback_webui_dir(root_dir);
22022226
let fallback_index_path = packaged_fallback_webui_probe_dir(root_dir)
22032227
.map(|path| path.join("index.html").display().to_string());
@@ -2229,9 +2253,9 @@ fn resolve_packaged_webui_dir(
22292253
fallback_index
22302254
));
22312255

2232-
Err(format!(
2233-
"Packaged WebUI is unavailable. Missing embedded index at {} and fallback data/dist. Please reinstall AstrBot or download the matching dist.zip to data/dist.",
2234-
embedded_index.display()
2256+
Err(packaged_webui_missing_embedded_error(
2257+
locale,
2258+
&embedded_index,
22352259
))
22362260
}
22372261
None => {
@@ -2249,10 +2273,7 @@ fn resolve_packaged_webui_dir(
22492273
fallback_index
22502274
));
22512275

2252-
Err(
2253-
"Packaged WebUI directory is missing and fallback data/dist is unavailable. Please reinstall AstrBot or download the matching dist.zip to data/dist."
2254-
.to_string(),
2255-
)
2276+
Err(packaged_webui_missing_embedded_dir_error(locale))
22562277
}
22572278
}
22582279
}

src-tauri/windows/kill-backend-processes.ps1

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,16 @@ if ([string]::IsNullOrWhiteSpace($InstallDir)) {
1010
}
1111

1212
try {
13-
$installRoot = [System.IO.Path]::GetFullPath($InstallDir).TrimEnd([char]92).ToLowerInvariant()
13+
$installRootRaw = [System.IO.Path]::GetFullPath($InstallDir).TrimEnd([char]92)
1414
} catch {
1515
exit 0
1616
}
1717

18-
if ([string]::IsNullOrWhiteSpace($installRoot)) {
18+
if ([string]::IsNullOrWhiteSpace($installRootRaw)) {
1919
exit 0
2020
}
2121

22+
$installRoot = $installRootRaw.ToLowerInvariant()
2223
$installRootWithSep = $installRoot + [string][char]92
2324
$currentPid = $PID
2425
$targetProcessNames = @(

0 commit comments

Comments
 (0)