Support image download and right-click menu

This commit is contained in:
Tw93
2025-08-23 09:00:05 +08:00
parent bda4376594
commit fe78f88770
5 changed files with 431 additions and 51 deletions

View File

@@ -50,7 +50,8 @@ pub enum MessageType {
Failure,
}
pub fn get_download_message(message_type: MessageType) -> String {
pub fn get_download_message_with_lang(message_type: MessageType, language: Option<String>) -> String {
let default_start_message = "Start downloading~";
let chinese_start_message = "开始下载中~";
@@ -60,28 +61,32 @@ pub fn get_download_message(message_type: MessageType) -> String {
let default_failure_message = "Download failed, please check your network connection~";
let chinese_failure_message = "下载失败,请检查你的网络连接~";
env::var("LANG")
.map(|lang| {
if lang.starts_with("zh") {
match message_type {
MessageType::Start => chinese_start_message,
MessageType::Success => chinese_success_message,
MessageType::Failure => chinese_failure_message,
}
} else {
match message_type {
MessageType::Start => default_start_message,
MessageType::Success => default_success_message,
MessageType::Failure => default_failure_message,
}
}
})
.unwrap_or_else(|_| match message_type {
let is_chinese = language
.as_ref()
.map(|lang| lang.starts_with("zh") || lang.contains("CN") || lang.contains("TW") || lang.contains("HK"))
.unwrap_or_else(|| {
// Try multiple environment variables for better system detection
["LANG", "LC_ALL", "LC_MESSAGES", "LANGUAGE"]
.iter()
.find_map(|var| env::var(var).ok())
.map(|lang| lang.starts_with("zh") || lang.contains("CN") || lang.contains("TW") || lang.contains("HK"))
.unwrap_or(false)
});
if is_chinese {
match message_type {
MessageType::Start => chinese_start_message,
MessageType::Success => chinese_success_message,
MessageType::Failure => chinese_failure_message,
}
} else {
match message_type {
MessageType::Start => default_start_message,
MessageType::Success => default_success_message,
MessageType::Failure => default_failure_message,
})
.to_string()
}
}
.to_string()
}
// Check if the file exists, if it exists, add a number to file name