界面设置模块(uiSettings.ts)
模块路径:web_rviz/src/uiSettings.ts
用途
管理界面语言与主题的持久化偏好,并负责应用静态文案翻译。
公开接口
Language
enzh
ThemeMode
darklight
TranslationKey
由内置英文翻译表推导出的合法翻译键联合类型。
loadLanguage(): Language / saveLanguage(language): void
从 localStorage 读取或保存当前界面语言。
loadTheme(): ThemeMode / saveTheme(theme): void
从 localStorage 读取或保存当前界面主题。
t(language, key, vars = {})
返回 key 对应的翻译文本,并使用 vars 对 {name} 形式的占位符做替换。
applyStaticTranslations(language): void
更新 document.documentElement.lang、document.title,以及所有带有 data-i18n 的元素文本。
applyTheme(theme): void
把当前主题写入 document.documentElement.dataset.theme,供 CSS 主题选择器使用。
行为说明
未保存历史偏好时,默认语言为
zh。未保存历史偏好时,默认主题为
light。t()会优先回退到英文翻译,其次回退到原始 key。applyStaticTranslations()只负责静态标签;运行时动态文本仍应在渲染时显式调用t()。