--- order: 4 title: 国际化 --- `Ant Design Blazor` 的国际化基于内建的 `LocaleProvider`,而本地化基于 Blazor 框架提供的 `CultureInfo.DefaultThreadCurrentUICulture`,可参考文档 [ASP.NET Core Blazor 全球化和本地化](https://docs.microsoft.com/zh-cn/aspnet/core/blazor/globalization-localization?view=aspnetcore-3.1&WT.mc_id=DT-MVP-5003987#localization)。 默认会从浏览器获取本地语言,如果需要使用其他语言,可以在初始化时进行配置,也可以在运行中随时修改,请参考下面的方案。 ## 全局配置 ```csharp // 设置当前语言 LocaleProvider.SetLocale("en-US"); ``` ## 运行时修改 `Ant Design Blazor` 可使用 `CultureInfo.DefaultThreadCurrentUICulture` 来动态修改国际化文案。 ```csharp // 在任何地方修改都可以切换当前线程的语言 CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.GetCultureInfo("en-US"); ``` 当设置的语言没有内置的语言包时,默认会被设置为"en-US"。也可以通过 `LocaleProvider.SetLocale` 方法添加。 ```csharp // 创建一个 `Locale` 对象 var zhHK = new Locale { ... }; // 设置额外的语言 LocaleProvider.SetLocale("zh-HK", zhHK); ``` 注意:`en-US` 是语言包名称,以下表格也遵循同样的规则。 ## 内置语言 | 语言 | 语言包名 | | ---------------- | ------ | | 阿拉伯 | ar-EG | | 亞美尼亞 | hy-AM | | 保加利亚语 | bg-BG | | 加泰罗尼亚语 | ca-ES | | 捷克语 | cs-CZ | | 丹麦语 | da-DK | | 德语 | de-DE | | 希腊语 | el-GR | | 英语 | en-GB | | 英语(美式) | en-US | | 西班牙语 | es-ES | | 爱沙尼亚语 | et-EE | | 波斯语 | fa-IR | | 芬兰语 | fi-FI | | 法语(比利时) | fr-BE | | 法语 | fr-FR | | 希伯来语 | he-IL | | 印地语 | hi-IN | | 克罗地亚语 | hr-HR | | 匈牙利 | hu-HU | | 冰岛语 | is-IS | | 印度尼西亚语 | id-ID | | 意大利语 | it-IT | | 日语 | ja-JP | | 格鲁吉亚语 | ka-GE | | 卡纳达语 | kn-IN | | 韩语/朝鲜语 | ko-KR | | 库尔德语 | ku-IQ | | 拉脱维亚语 | lv-LV | | 马来语 | ms-MY | | 蒙古语 | mn-MN | | 挪威 | nb-NO | | 尼泊尔语 | ne-NP | | 荷兰语(比利时) | nl-BE | | 荷兰语 | nl-NL | | 波兰语 | pl-PL | | 葡萄牙语(巴西) | pt-BR | | 葡萄牙语 | pt-PT | | 斯洛伐克语 | sk-SK | | 塞尔维亚 | sr-RS | | 斯洛文尼亚 | sl-SI | | 瑞典语 | sv-SE | | 泰米尔语 | ta-IN | | 泰语 | th-TH | | 土耳其语 | tr-TR | | 罗马尼亚语 | ro-RO | | 俄罗斯语 | ru-RU | | 乌克兰语 | uk-UA | | 越南语 | vi-VN | | 简体中文 | zh-CN | | 繁体中文 | zh-TW |