本地化 - 进阶
动态切换本地化资源
如果您需要在程序运行时切换 Semi Avalonia 相关的本地化资源,您可以在资源字典中重新定义相关字符串资源。
Semi Avalonia 提供了一些辅助函数帮助您快速实现这种切换。
全局更改
// 示例方法
public void ChangeCulture(CultureInfo culture)
{
SemiTheme.OverrideLocaleResources(Application.Current, new CultureInfo("zh-CN"));
}
局部更改
// 示例方法,在控件中执行
public void ChangeCulture(CultureInfo culture)
{
SemiTheme.OverrideLocaleResources(this, new CultureInfo("zh-CN"));
}
注意:如果您所传入的 culture
在 Semi Avalonia 中没有定义,那么资源不会有任何改动。我们欢迎您为 Semi Avalonia 贡献代码,帮助我们丰富其他语言的本地化资源。可参考示例Add ja_jp Localization.