feat(app-iced): M108 下载页显示名改成「版本管理 / Version management」
用户令(2026-11-04):当前下载页改名叫版本管理,下载页只负责下载整合包和 Mod/光影。 本 mission 只改显示层,标识符(Route::Download / Screen::Download / NavItem::Download / 文件名)一个都没动,标识符改名另登 finding 后置。 i18n(catalog/nav.rs + catalog/download.rs,金表同步): - NavDownload = Versions/版本管理 —— 88px 收起轨用短名 - NavDownloadExpanded = Version management/版本管理 —— 240px 展开抽屉用全名 - DownloadTitle = Version management/版本管理 —— 页标题 - DownloadSubtitle = Manage versions and loaders: install, upgrade, repair/ 管理版本与加载器:安装、升级、修复 拆两条 key 的理由:18 字符英文 ≈101px 塞不进 88px 轨(实测两通道都被裁:产品通道只显示 Version,组件版轨被切成 Version manage);中文 4 字实测 48.0px(四种 CJK 字体同值)放得下, 所以中文两条同值、不缩。 - pages/nav.rs:NAV 第 3 列 &str → Key;label_key(label, expanded) 是两态切换点 (用 bool 参数而非 enum:240 态在产品里还没有渲染路径,枚举变体永远构造不到会被 -D warnings 的 dead_code 拦下)。 - shell/nav.rs:NavItem::Download 显示 Versions(产品路径的轨;i18n 接线归 M106, 本 mission 只换文案值)。 - 守门:pages/tests.rs 断言导航/页标题取值 + 两态切换 + 目录里凡指向这一页的文案都不许再说 「下载」(豁免 DownloadStageDownloading);shell/nav.rs 断言标签是 Versions 且 ≤12 字符。
This commit is contained in:
1 parent
c31036dea8
commit
bbf96de9b3
7 files changed
+235
-21
No files matched your search
@@ -34,7 +34,7 @@ use crate::theme::Ui;
|
||||
pub enum NavItem {
|
||||
/// 实例列表。
|
||||
Instances,
|
||||
/// 下载/版本。
|
||||
/// 版本管理(显示名;变体名按用户令「只改显示层」不改,标识符改名后置)。
|
||||
Download,
|
||||
/// 日志。
|
||||
Logs,
|
||||
@@ -274,4 +274,30 @@ mod tests {
|
||||
assert!(!item.icon().icon().path.is_empty(), "{item:?} 没有图标");
|
||||
}
|
||||
}
|
||||
|
||||
/// **M108**:导航栏上这一项叫 `Versions`(88px 轨放不下全名 `Version management`)。
|
||||
///
|
||||
/// 文案本身走目录(M106 的 `label_key()` + `label(lang)`),这条只守**取值**与**宽度余量**:
|
||||
///
|
||||
/// - **抓得住**:① 有人把 `Key::NavDownload` 的英文改回「下载」或塞回 18 字符的全名
|
||||
/// (88px 轨上会截断/换行,实测全名 ≈101px);② 中文被「为了对称」砍成两个字。
|
||||
/// - **抓不住**:真画出来的截断(那要出图,见 M108 报告里的产品通道与 pages_demo 图);
|
||||
/// 也抓不住 240 展开抽屉(那一档在产品里还不可达)。
|
||||
#[test]
|
||||
fn the_download_item_is_labelled_version_management() {
|
||||
// 88px 轨的余量:中文 4 字 ≈48px、英文短名 ≈45px,都该有明显的余量
|
||||
assert_eq!(NavItem::Download.label(Lang::En), "Versions");
|
||||
assert_eq!(NavItem::Download.label(Lang::ZhCn), "版本管理");
|
||||
for item in NavItem::ALL {
|
||||
let label = item.label(Lang::En);
|
||||
assert!(
|
||||
!label.to_ascii_lowercase().contains("download"),
|
||||
"{item:?} 的英文标签还在说下载:{label}"
|
||||
);
|
||||
assert!(
|
||||
label.chars().count() <= 12,
|
||||
"{item:?} 的标签太长,88px 的轨放不下:{label}"
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user