UI Settings Module (uiSettings.ts)
Module path: web_rviz/src/uiSettings.ts
Purpose
Manages persisted language/theme preferences and applies static UI translations.
Public API
Language
enzh
ThemeMode
darklight
TranslationKey
Union of translation keys derived from the built-in English translation table.
loadLanguage(): Language / saveLanguage(language): void
Loads or stores the current UI language in localStorage.
loadTheme(): ThemeMode / saveTheme(theme): void
Loads or stores the current UI theme in localStorage.
t(language, key, vars = {})
Returns the translated string for key and performs {name} placeholder substitution from vars.
applyStaticTranslations(language): void
Updates document.documentElement.lang, document.title, and every element marked with data-i18n.
applyTheme(theme): void
Writes the current theme to document.documentElement.dataset.theme for CSS selectors to consume.
Behavior Notes
Default language is
zhwhen no prior preference exists.Default theme is
lightwhen no prior preference exists.t()falls back to the English string first, then the raw key.applyStaticTranslations()only updates static labels; dynamic runtime strings should still go throught()when rendered.