3.5 KiB
3.5 KiB
order | title |
---|---|
4 | 国际化 |
Ant Design Blazor
的国际化基于内建的 LocaleProvider
,而本地化基于 Blazor 框架提供的 CultureInfo.DefaultThreadCurrentUICulture
,可参考文档 ASP.NET Core Blazor 全球化和本地化。
默认会从浏览器获取本地语言,如果需要使用其他语言,可以在初始化时进行配置,也可以在运行中随时修改,请参考下面的方案。
全局配置
// 设置当前语言
LocaleProvider.SetLocale("en-US");
运行时修改
Ant Design Blazor
可使用 CultureInfo.DefaultThreadCurrentUICulture
来动态修改国际化文案。
// 在任何地方修改都可以切换当前线程的语言
CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.GetCultureInfo("en-US");
当设置的语言没有内置的语言包时,我们会按照 父区域性 => 默认语言 => "en-US" 的顺序选择后备语言。(有关父区域性的概念解释,参见全球化和本地化术语,推荐阅读该页面的英语版本)
可以通过 LocaleProvider.DefaultLanguage = "languageName"
设置默认语言。
您也可以通过 LocaleProvider.SetLocale
方法添加语言包。
// 设置默认语言
LocaleProvider.DefaultLanguage = "en-US";
// 创建一个 `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 |