.NetCore 实现多语言
ASP.NET Core中提供了一些本地化服务和中间件,可将网站本地化为不同的语言文化。
ASP.NET Core中我们可以使用Microsoft.AspNetCore.Localization库来实现本地化
创建程序
创建Web应用程序(模型视图控制器)
配置Startup类
在Startup类的 ConfigureServices方法中使用services.AddLocalization添加本地化服务
Code
1 |
|
在Startup类的 Configure方法中添加本地化中间件
Code
1 |
|
- app.UseRequestLocalization必须放置app.UseMvc之前
- DefaultRequestCulture参数指定了默认的语言文化,即用户不指定任何文化时的默认语言文化
- SupportedCultures和SupportedUICultures是指定当前应用支持的所有语言文化
添加资源文件
控制器注入服务:IStringLocalizer
调用资源:_localizer["Hello"]
默认的语言文化提供器
ASP.NET Core的本地化中间件默认支持3种语言文化提供器
- URL中的查询字符串
- ?culture=zh-CN&ui-culture=zh-CN
- ?culture=zh-CN
- ?ui-culture=zh-CN
- Cookie
- 请求头