Skip to content

Commit fa05def

Browse files
committed
simplify lang
1 parent a1b9ab8 commit fa05def

5 files changed

Lines changed: 15 additions & 40 deletions

File tree

res/config.toml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,9 @@ startup = false
9090
comp_level = -1
9191
scale_ratio = 100
9292

93-
# 语言,中文为 CN,其它请参考联合国的地区代码表 https://unece.org/trade/cefact/unlocode-code-list-country-and-territory
94-
# 缺失的语言将默认使用英文
95-
# Language, Please use "UN/LOCODE Code List by Country and Territory" as the following hyperlink shows
96-
# Languages that are missing will default to English
97-
lang = "US"
93+
# 语言,中文为 1,英文为 0
94+
# Language, Chinese is 1, English is 0
95+
lang = 1
9896

9997
[gui]
10098
# GUI配置,默认全部启用

src/config.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -262,13 +262,13 @@ fn get_sundry_settings(default: Sundry, config: &Value) -> Sundry {
262262
.unwrap_or(default.scale_level);
263263
let lang_code = sundry_section
264264
.and_then(|t| t.get("lang"))
265-
.and_then(|v| v.as_str())
266-
.unwrap_or(&default.lang);
265+
.and_then(|v| v.as_integer())
266+
.unwrap_or(-1);
267267
Sundry {
268268
auto_start: startup_bool,
269269
comp_level: comp,
270270
scale_level: scale,
271-
lang: lang_code.to_string(),
271+
lang: lang_code == 1,
272272
}
273273
}
274274

src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ fn main() {
120120
set_startup(settings.sundry.auto_start, &temp, &self_path);
121121

122122
// 创建托盘图标管理器(含右键菜单:截图、长截图、退出)
123-
let tray_manager = TrayManager::new(&settings.sundry.lang);
123+
let tray_manager = TrayManager::new(settings.sundry.lang);
124124

125125
// 获取菜单项 ID(用于事件匹配)
126126
let capture_id = tray_manager.capture_id().clone();

src/tray.rs

Lines changed: 5 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -25,29 +25,6 @@ pub struct TrayManager {
2525
exit_id: MenuId,
2626
}
2727

28-
struct MenuTexts {
29-
capture: String,
30-
long_capture: String,
31-
exit: String,
32-
}
33-
impl MenuTexts {
34-
fn get(lang: &str) -> Self {
35-
match lang.to_uppercase().as_str() {
36-
"CN" => Self {
37-
capture: "截图".to_string(),
38-
long_capture: "长截图".to_string(),
39-
exit: "退出".to_string(),
40-
},
41-
"EN" => Self {
42-
capture: "Capture".to_string(),
43-
long_capture: "Long Capture".to_string(),
44-
exit: "Exit".to_string(),
45-
},
46-
_ => Self::get("EN"),
47-
}
48-
}
49-
}
50-
5128
impl TrayManager {
5229
/// 创建新的托盘管理器实例
5330
///
@@ -63,17 +40,17 @@ impl TrayManager {
6340
/// ### Panics
6441
/// - 如果嵌入的图标数据无效,会panic
6542
/// - 如果构建托盘图标失败,会panic
66-
pub fn new(lang: &str) -> Self {
43+
pub fn new(lang: bool) -> Self {
6744
// 创建托盘图标
6845
let icon_data = include_bytes!("../logo_raw") as &[u8];
6946
let icon = Icon::from_rgba(icon_data.to_vec(), 256, 256).expect("Embedded icon is invalid");
7047

7148
// 创建右键菜单(根据语言设置显示对应文本)
7249
let menu = Menu::new();
73-
let menu_texts = MenuTexts::get(lang);
74-
let menu_capture = MenuItem::new(&menu_texts.capture, true, None);
75-
let menu_long_capture = MenuItem::new(&menu_texts.long_capture, true, None);
76-
let menu_exit = MenuItem::new(&menu_texts.exit, true, None);
50+
let menu_capture = MenuItem::new(if lang { "截图" } else { "Capture" }, true, None);
51+
let menu_long_capture =
52+
MenuItem::new(if lang { "长截图" } else { "Long Capture" }, true, None);
53+
let menu_exit = MenuItem::new(if lang { "退出" } else { "Exit" }, true, None);
7754

7855
menu.append(&menu_capture).unwrap();
7956
menu.append(&menu_long_capture).unwrap();

src/types.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,16 @@ pub struct Sundry {
3636
pub comp_level: i32,
3737
/// 图像缩放比例(1-100,100表示原始大小)
3838
pub scale_level: i32,
39-
/// 语言(ref: <https://unece.org/trade/cefact/unlocode-code-list-country-and-territory>
40-
pub lang: String,
39+
/// 语言(true: CN, false: EN
40+
pub lang: bool,
4141
}
4242
impl Default for Sundry {
4343
fn default() -> Self {
4444
Sundry {
4545
auto_start: false,
4646
comp_level: -1,
4747
scale_level: 100,
48-
lang: "CN".to_uppercase(),
48+
lang: true,
4949
}
5050
}
5151
}

0 commit comments

Comments
 (0)