2020-09-08 16:43:44 +08:00
|
|
|
---
|
|
|
|
order: 4
|
|
|
|
title: 国际化
|
|
|
|
---
|
|
|
|
|
2021-02-23 15:30:46 +08:00
|
|
|
`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)。
|
2020-09-08 16:43:44 +08:00
|
|
|
默认会从浏览器获取本地语言,如果需要使用其他语言,可以在初始化时进行配置,也可以在运行中随时修改,请参考下面的方案。
|
|
|
|
|
|
|
|
## 全局配置
|
|
|
|
|
|
|
|
```csharp
|
|
|
|
|
|
|
|
// 设置当前语言
|
|
|
|
LocaleProvider.SetLocale("en-US");
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
## 运行时修改
|
|
|
|
|
2020-09-09 00:52:14 +08:00
|
|
|
`Ant Design Blazor` 可使用 `CultureInfo.DefaultThreadCurrentUICulture` 来动态修改国际化文案。
|
2020-09-08 16:43:44 +08:00
|
|
|
|
|
|
|
```csharp
|
|
|
|
|
|
|
|
// 在任何地方修改都可以切换当前线程的语言
|
2020-09-09 00:52:14 +08:00
|
|
|
CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.GetCultureInfo("en-US");
|
2020-09-08 16:43:44 +08:00
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
当设置的语言没有内置的语言包时,默认会被设置为"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 |
|
|
|
|
|