# JackCraft.I18N 一个适用于 Avalonia 的自己觉得怎么好用怎么写的 I18N 库 ## 使用方法 ### 安装 在 Avalonia 组件完全加载完成前的任意地方声明一个 `I18NManager` ```csharp public class App : Application { // 例子: (不包含文件扩展名) // Test.Resources // TestAvaloniaProject.Assets.Languages.Resources public static I18NManager I18NManager { get; } = new("程序命名空间.路径.语言资源文件名"); public override void Initialize() ... } ``` ### 使用 #### 切换语言/文化 ```csharp I18NManager.Culture = new CultureInfo("zh-cn"); ``` #### 获取当前存在的语言/文化 ```csharp var totalCultures = I18NManager.GetCultures(); ``` #### 从资源文件中获取特定类型的资源 ```csharp // 标准示例: var value = I18NManager.Get<类型>("资源名称", 文化信息, ...如果是字符串且需要格式化的话需要传入的格式化参数); // 假设 Hello 的中文资源为 "你好, {0}",默认资源为 "Hello, {0}",Username 为 "User" var value = I18NManager.Get("Hello", new CultureInfo("zh-cn"), Username); // value = "你好, User" var value = I18NManager.Get("Hello", CultureInfo.InvariantCulture, Username); // value = "Hello, User" ``` #### Avalonia 中的使用 ```xml ```