mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-05 00:03:44 +08:00
feat: add admin permission prompt for system service
This commit is contained in:
parent
1a51a92b70
commit
ebb194d2a2
@ -154,8 +154,21 @@ pub async fn reinstall_service() -> Result<()> {
|
||||
|
||||
let install_shell: String = install_path.to_string_lossy().into_owned();
|
||||
let uninstall_shell: String = uninstall_path.to_string_lossy().into_owned();
|
||||
|
||||
// 获取提示文本,如果 i18n 失败则使用硬编码默认值
|
||||
let prompt = crate::utils::i18n::t("Service Administrator Prompt");
|
||||
let prompt = if prompt == "Service Administrator Prompt" {
|
||||
if Config::verge().latest().language.as_deref() == Some("zh") || Config::verge().latest().language.is_none() {
|
||||
"Clash Verge 需要使用管理员权限来重新安装系统服务"
|
||||
} else {
|
||||
"Clash Verge needs administrator privileges to reinstall the system service"
|
||||
}
|
||||
} else {
|
||||
&prompt
|
||||
};
|
||||
|
||||
let command = format!(
|
||||
r#"do shell script "sudo '{uninstall_shell}' && sudo '{install_shell}'" with administrator privileges"#
|
||||
r#"do shell script "sudo '{uninstall_shell}' && sudo '{install_shell}'" with administrator privileges with prompt "{prompt}""#
|
||||
);
|
||||
|
||||
log::debug!(target: "app", "command: {}", command);
|
||||
|
@ -470,5 +470,6 @@
|
||||
"Validate YAML File": "Validate YAML File",
|
||||
"Validate Merge File": "Validate Merge File",
|
||||
"Validation Success": "Validation Success",
|
||||
"Validation Failed": "Validation Failed"
|
||||
"Validation Failed": "Validation Failed",
|
||||
"Service Administrator Prompt": "Clash Verge needs administrator privileges to reinstall the system service"
|
||||
}
|
||||
|
@ -462,5 +462,6 @@
|
||||
"Validation Success": "验证成功",
|
||||
"Validation Failed": "验证失败",
|
||||
"Verge Basic Setting": "Verge 基础设置",
|
||||
"Verge Advanced Setting": "Verge 高级设置"
|
||||
"Verge Advanced Setting": "Verge 高级设置",
|
||||
"Service Administrator Prompt": "Clash Verge 需要使用管理员权限来重新安装系统服务"
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user