logo
为了能更好地了解您的商业使用需求,请参与 Ant Design Blazor 商业应用调查,一起建设商业应用社区,为企业系统研发赋能!

国际化

国际化是指组件库内置的适应国际上主要地区语言的默认配置,包括文本翻译和日期格式,以及一些组件的默认配置,如日期组件中配置一周的第一天是星期几、月份是否在年份前面等等。

Ant Design Blazor 的国际化由内置的 LocaleProvider 静态类来提供,可对不同 UI 线程设置该线程的区域语言包,语言包内嵌在程序集中。

另外,我们还提供了站点级别的本地化组件,请参考本地化

默认语言

组件默认会在程序调用 Services.AddAntDesign() 时自动从环境中获取区域语言作为默认语言。因此,不同的运行环境就有不同的设置:

  • Blazor WebAssembly: 会从访问者的浏览器语言设置中获取默认语言。注意并不是从系统操作系统或服务端获取。
  • Blazor 服务端静态/交互渲染: 会根据运行该服务的操作系统环境中的语言来作为默认语言,而不是根据用户的请求来设置。
  • Blazor WebApp Auto 模式:则在静态阶段从服务器系统获取,在WebAssembly阶段从浏览器获取,因此需要注意保持语言一致,避免切换的问题。
  • Blazor Hybrid 会从客户端中获取默认语言。

如果需要手动设置默认语言,可以在初始化时进行配置,也可以在运行中随时修改,请参考下面的方案。

全局配置

在应用运行的入口处设置


service.AddAntDesign();

// 设置默认语言
LocaleProvider.DefaultLanguage = "en-US";

运行时修改


@code {

    private void ChangeLocale()
    {
        LocaleProvider.SetLocale("en-US");
        StateHasChanged();
    }
}

语言包设置

当设置的语言没有内置的语言包时,我们会按照 父区域性 => 默认语言 => "en-US" 的顺序选择后备语言。(有关父区域性的概念解释,参见全球化和本地化术语,推荐阅读该页面的英语版本)

可以通过 LocaleProvider.DefaultLanguage = "languageName" 设置默认语言。

您也可以通过 LocaleProvider.SetLocale 方法添加语言包。

// 设置默认语言
LocaleProvider.DefaultLanguage = "en-US";

// 创建一个 `Locale` 对象
var zhHK = new Locale { ... };
// 设置额外的语言
LocaleProvider.SetLocale("zh-HK", zhHK); 

内置语言

语言 文件名
阿拉伯语 ar_EG
阿塞拜疆语 az_AZ
保加利亚语 bg_BG
孟加拉语(孟加拉国) bn_BD
白俄罗斯语 by_BY
加泰罗尼亚语 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_CA
法语(法国) fr_FR
爱尔兰语 ga_IE
加利西亚语(西班牙) gl_ES
希伯来语 he_IL
印地语 hi_IN
克罗地亚语 hr_HR
匈牙利语 hu_HU
亚美尼亚 hy_AM
印度尼西亚语 id_ID
意大利语 it_IT
冰岛语 is_IS
日语 ja_JP
格鲁吉亚语 ka_GE
高棉语 km_KH
北库尔德语 kmr_IQ
卡纳达语 kn_IN
哈萨克语 kk_KZ
韩语/朝鲜语 ko_KR
立陶宛语 lt_LT
拉脱维亚语 lv_LV
马其顿语 mk_MK
马拉雅拉姆语 ml_IN
蒙古语 mn_MN
马来语 (马来西亚) ms_MY
挪威语 nb_NO
尼泊尔语 ne_NP
荷兰语(比利时) nl_BE
荷兰语 nl_NL
波兰语 pl_PL
葡萄牙语(巴西) pt_BR
葡萄牙语 pt_PT
罗马尼亚语 ro_RO
俄罗斯语 ru_RU
僧伽罗语 si_LK
斯洛伐克语 sk_SK
塞尔维亚语 sr_RS
斯洛文尼亚语 sl_SI
瑞典语 sv_SE
泰米尔语 ta_IN
泰语 th_TH
土耳其语 tr_TR
土库曼 tk_TK
乌尔都语 (巴基斯坦) ur_PK
乌克兰语 uk_UA
乌兹别克语 uz_UZ
越南语 vi_VN
简体中文 zh_CN
繁体中文(中国香港) zh_HK
繁体中文(中国台湾) zh_TW

当然,我们并不精通所有的语言,如果你发现翻译有误,请提交 PR 帮助我们改进。

快速上手 本地化
文档已更新,请点击 此处 更新。
A new version of this app is available. Click here to update.