refactor(pages,i18n): M99 纯搬移 —— 导航表抽 pages/nav.rs、设置页拆目录、catalog 按域拆开
- pages/mod.rs 400 -> 356 行:NAV 表与组件版 rail 搬进 pages/nav.rs(NAV 可见性变 pub(crate),
只为让 pages/tests.rs 的三条断言原样保留)
- pages/settings.rs -> pages/settings/{mod,frame,general,appearance,java,download,ai,tests}.rs:
mod.rs 只留「分组注册表 + 选中分组 + 内容分发」,一组一个文件,为四条 section 线各留位置
- i18n catalog.rs 310 -> 273 行:条目表按域拆到 catalog/<域>.rs,catalog.rs 留 catalog! 宏、
装配链、Catalog 与对外 API;新增 catalog/golden.rs(拆分前 key->译文 全量快照)守门
- 行为/文案/样式零变化:pages_demo 的 instances/settings × 浅/深 四张图逐字节相同
This commit is contained in:
1 parent
4b1471a60d
commit
330f7216fd
29 files changed
+1173
-541
No files matched your search
@@ -0,0 +1,13 @@
|
||||
//! 设置页「AI / About」分组文案:**预留**(页面上还没有这个分组,见 `pages/settings/mod.rs` 的
|
||||
//! 分组注册表)。
|
||||
//!
|
||||
//! 加 key 时把条目写进 `$($acc)*` 后面即可(形状见 [`crate::catalog`] 的「域装配」一节)。
|
||||
//! 现在没有条目,所以本宏是**空转移器**:只把累积表原样交给下一个域。
|
||||
|
||||
macro_rules! settings_ai_entries {
|
||||
($next:ident, $($rest:ident,)* { $($acc:tt)* }) => {
|
||||
$next! { $($rest,)* { $($acc)* } }
|
||||
};
|
||||
}
|
||||
|
||||
pub(crate) use settings_ai_entries;
|
||||
@@ -0,0 +1,12 @@
|
||||
//! 设置页「Appearance」分组文案:**预留**(真控件在 `pages/appearance/section.rs`,文案还没接 i18n)。
|
||||
//!
|
||||
//! 加 key 时把条目写进 `$($acc)*` 后面即可(形状见 [`crate::catalog`] 的「域装配」一节)。
|
||||
//! 现在没有条目,所以本宏是**空转移器**:只把累积表原样交给下一个域。
|
||||
|
||||
macro_rules! settings_appearance_entries {
|
||||
($next:ident, $($rest:ident,)* { $($acc:tt)* }) => {
|
||||
$next! { $($rest,)* { $($acc)* } }
|
||||
};
|
||||
}
|
||||
|
||||
pub(crate) use settings_appearance_entries;
|
||||
@@ -0,0 +1,12 @@
|
||||
//! 设置页「Downloads」分组文案:**预留**(页面侧的真控件还没接)。
|
||||
//!
|
||||
//! 加 key 时把条目写进 `$($acc)*` 后面即可(形状见 [`crate::catalog`] 的「域装配」一节)。
|
||||
//! 现在没有条目,所以本宏是**空转移器**:只把累积表原样交给下一个域。
|
||||
|
||||
macro_rules! settings_download_entries {
|
||||
($next:ident, $($rest:ident,)* { $($acc:tt)* }) => {
|
||||
$next! { $($rest,)* { $($acc)* } }
|
||||
};
|
||||
}
|
||||
|
||||
pub(crate) use settings_download_entries;
|
||||
@@ -0,0 +1,19 @@
|
||||
//! 设置页「General」分组文案:语言(Theme / Startup page / Close button 的 key 还没建)。
|
||||
//!
|
||||
//! 域文件的形状见 [`crate::catalog`] 的「域装配」一节。
|
||||
|
||||
macro_rules! settings_general_entries {
|
||||
($next:ident, $($rest:ident,)* { $($acc:tt)* }) => {
|
||||
$next! { $($rest,)* {
|
||||
$($acc)*
|
||||
// ── 设置
|
||||
SettingsLanguage => ("Language", "界面语言"),
|
||||
SettingsLanguageHint => (
|
||||
"Switches the interface language. Chinese text needs a Chinese font.",
|
||||
"切换界面语言。显示中文需要中文字体。"
|
||||
),
|
||||
} }
|
||||
};
|
||||
}
|
||||
|
||||
pub(crate) use settings_general_entries;
|
||||
@@ -0,0 +1,12 @@
|
||||
//! 设置页「Java」分组文案:**预留**(页面侧的真控件还没接)。
|
||||
//!
|
||||
//! 加 key 时把条目写进 `$($acc)*` 后面即可(形状见 [`crate::catalog`] 的「域装配」一节)。
|
||||
//! 现在没有条目,所以本宏是**空转移器**:只把累积表原样交给下一个域。
|
||||
|
||||
macro_rules! settings_java_entries {
|
||||
($next:ident, $($rest:ident,)* { $($acc:tt)* }) => {
|
||||
$next! { $($rest,)* { $($acc)* } }
|
||||
};
|
||||
}
|
||||
|
||||
pub(crate) use settings_java_entries;
|
||||
@@ -0,0 +1,28 @@
|
||||
//! 设置页文案:**一个分组一个文件**,与页面侧的 `pages/settings/**` 同构。
|
||||
//!
|
||||
//! 为什么拆到这个粒度:设置页正文接下来由四条并行 mission 分别接(java / download /
|
||||
//! language+appearance / ai+about),它们都会往设置页加 key。一个分组一个文件之后,每条线只改
|
||||
//! 自己那个文件,`catalog.rs` 的装配链一行都不用动(链里已经把这五个域接好了)。
|
||||
//!
|
||||
//! | 文件 | 分组(`pages/settings` 的 `GROUPS`) | 现状 |
|
||||
//! |---|---|---|
|
||||
//! | [`general`] | General(Language / Theme / Startup page / Close button) | 2 条 key(语言) |
|
||||
//! | [`appearance`] | Appearance(Density / Corner style / Motion / Text scale) | 预留,暂无 key |
|
||||
//! | [`java`] | Java(Runtime / Default memory / JVM arguments) | 预留,暂无 key |
|
||||
//! | [`download`] | Downloads(Preferred source / Concurrency / Verify checksums) | 预留,暂无 key |
|
||||
//! | [`ai`] | AI / About(页面上还没有这个分组) | 预留,暂无 key |
|
||||
//!
|
||||
//! 「预留」的文件里是**空转移器**(只把累积表原样交给下一个域):加 key 时把条目写进它
|
||||
//! `$($acc)*` 后面即可——签名不用改,`catalog.rs` 不用碰,跨线零冲突。
|
||||
|
||||
mod ai;
|
||||
mod appearance;
|
||||
mod download;
|
||||
mod general;
|
||||
mod java;
|
||||
|
||||
pub(crate) use ai::settings_ai_entries;
|
||||
pub(crate) use appearance::settings_appearance_entries;
|
||||
pub(crate) use download::settings_download_entries;
|
||||
pub(crate) use general::settings_general_entries;
|
||||
pub(crate) use java::settings_java_entries;
|
||||
Reference in new issue
Block a user