# 简介
轻量级、可扩展、可插拔的国际化库,支持热重载和多种数据源
也就是一个国际化、本地化的库了
架构如下
┌─────────────────────────────────────────────────────────────────┐
│ DynamicLocalization │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ DynamicLocalization.Core │ │
│ │ - ICultureService, CultureService │ │
│ │ - ILocalizationProvider, Providers │ │
│ │ - 平台无关逻辑 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌───────────────┴───────────────┐ │
│ ▼ ▼ │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ DynamicLocalization │ │ DynamicLocalization │ │
│ │ .Avalonia │ │ .WPF │ │
│ │ - Avalonia Binding │ │ - WPF Binding │ │
│ └─────────────────────┘ └─────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘服务层提供了获取不同文化的文本和格式等内容的服务
Provider 提供了数据源,支持多Provider,可以从各种地方拿到本地化数据键值对,json,xml等等,也支持自定义,比如用数据库、yaml之类的,未来可能会官方支持
然后图中占比比较大的部分其实很trifle,就是一个简单的xml绑定功能,因为不同平台的xaml绑定的逻辑或者命名空间不同嘛
一个简单的项目,个人感觉完成度还可以
嘻嘻