跳到主要内容

本地化 - 进阶

动态切换本地化资源

如果您需要在程序运行时切换 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.