mirror of
https://github.com/AtomUI/AtomUI.git
synced 2026-10-18 14:37:19 +08:00
1.8 KiB
1.8 KiB
AtomUI.Localization 模块
AtomUI.Localization 是 AtomUI 的应用级本地化运行时项目。它提供语言身份、Catalog registry、不可变 Snapshot、
LanguageManager、Localizer 和 Avalonia 动态资源桥,不拥有 XLIFF 构建、语言包打包或主题状态。
职责
- 定义
LanguageTag、LanguageDefinition、LanguageState和LanguageSnapshot。 - 注册编译期生成的 Catalog 与 Translation Bundle descriptor。
- 构建并原子发布当前语言的完整资源快照。
- 提供
ILanguageManager、ILocalizer和 XAML 资源扩展运行时。 - 管理 Culture、FlowDirection、回退和资源 Provider 生命周期。
源码目录
| 目录 | 职责 |
|---|---|
Catalog/ |
Catalog schema、descriptor 和 registry |
Resources/ |
Avalonia resource extension、provider 和 resource key |
Services/ |
bootstrap、builder、host、manager、localizer 和日志入口 |
LanguageData/ |
LanguageTags Generator 的固定数据输入 |
| 项目根目录 | language identity、definition、state、snapshot 和回退模型 |
对外关系
AtomUI.Core引用本模块并在根 Builder 中暴露本地化配置入口。AtomUI.Generator生成 Catalog、Bundle、模块注册和应用 bootstrap。AtomUI.Toolchain的 Tasks profile(产物AtomUI.Build.Tasks.dll)负责静态语言包文件与打包副作用。- Control 包只注册自身 Catalog 和内置 Bundle,不实现独立语言状态。