ant-design-blazor/docs/i18n.zh-CN.md

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