fix(app-iced): M106 r2 —— 两处「改了行为、旧口径还在树里」(复审 p2-1 / p2-2)
p2-1(它在撒谎):`renderer/acceptance/locale.rs::Chain::line()` 还打 `ui_text=pinned-en`, 注释写着「pages/mod.rs::render 里下载页固定传 Lang::En」、`setting` 回退 `<未接线>`——M106 之后 两句同时为假,于是 `ULL_ACCEPTANCE=1` 时启动日志两行互相矛盾(旧行说「文案钉在英文」,新行说 「生效中文」)。修法:`Chain` 增 `machine`(只看平台源 + 环境变量,供 `[env] language=` 用)与 `detection`(含 `ui.language` 手选,与 App 的 `[i18n] choice=…` 同源);`host()` 真读 `SettingsBridge::load_ui_language()`,`line()` 删掉 `ui_text`、`setting` 打真实值。 实测三行现在一致: [i18n] setting=<未设置=跟随系统> platform=registry:zh-CN env=env:<未设置> -> lang=zh-CN locale=zh-CN source=registry [i18n] choice=system lang=zh-CN locale=zh-CN source=registry effective=zh-CN `locale_tests.rs` 把钉假串的那条改成「不许出现 pinned-en」的回归绊线,并新增 `i18n_line_honours_the_explicit_setting_without_rewriting_the_machine_language`。 p2-2(doc-only):`pages/model.rs` 的「只是留口,产品路径先给 Lang::En」与 `pages/download.rs` 的「产品路径现传 Lang::En,接上探测结果时只改调用点」都已被实际代码推翻(`app/state.rs` + `refresh_view` 在填、调用点已是 `model.lang`),按事实重写。顺带修掉 `fonts/cjk.rs` 里同样的 「设置层的读取点尚未接线」。 门禁:`cargo fmt --all -- --check` 退出码 0;`cargo test -p unlucky-app-iced --lib` 退出码 0 (409 passed, 0 failed)。全改动文件 ≤400 行(最大 269)。
This commit is contained in:
1 parent
89dcb6bdf3
commit
954a129e01
14 files changed
+286
-107
No files matched your search
@@ -97,16 +97,6 @@ impl App {
|
||||
|
||||
// --------------------------------------------------------------- 快照 → 视图模型
|
||||
|
||||
/// **测试用的英文基线**(M105 留的占位在这里收口)。
|
||||
///
|
||||
/// 产品路径的界面语言由 `App::lang()` 经 `model(…, lang)` 与 `pages::cancelled_toast(lang)`
|
||||
/// 递进去(M106),这个函数只剩测试还在用(`app/update/download_wiring.rs` 的取消提示断言要一个
|
||||
/// 与产品无关的语言常量)。`#[cfg(test)]`:非测试构建里它没有调用点,留着就是死代码。
|
||||
#[cfg(test)]
|
||||
pub(super) fn ui_lang() -> Lang {
|
||||
Lang::En
|
||||
}
|
||||
|
||||
/// 把 presenter 的快照转成页面视图模型(**唯一**的展示转换点)。
|
||||
///
|
||||
/// `forced` 是 `--force-state` 的落点(P3-1):它只影响**画出来的**状态层,不改任何状态机。
|
||||
@@ -289,15 +279,8 @@ mod tests {
|
||||
/// 也抓不住不消费 `model.forced` 的裸 `iced::button`(设置页「外观」区就是)。
|
||||
/// 测试用的薄包装:默认宽度 / 默认分类 / 空草稿。
|
||||
fn at(state: &AppState, forced: Option<crate::cli::ForcedState>) -> pages::Model {
|
||||
let draft = pages::InstallDraft::default();
|
||||
model(
|
||||
state,
|
||||
1180.0,
|
||||
forced,
|
||||
pages::Category::All,
|
||||
&draft,
|
||||
Lang::En,
|
||||
)
|
||||
let (draft, lang) = (pages::InstallDraft::default(), Lang::En);
|
||||
model(state, 1180.0, forced, pages::Category::All, &draft, lang)
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in new issue
Block a user