详解ASP .净核心中的多语言支持(本地化)
首先在启动的配置服务中添加添加本地化与添加视图本地化以及配置RequestLocalizationOptions(这里假设使用英文与中文):
public void ConfigureServices(IServiceCollection services){ services .添加本地化(选项=选项。资源路径=' Resources ');服务AddMvc().addviewconlocalization(languageviewconlocationexpandr format .后缀);服务ConfigureRequestLocalizationOptions(opts={ var支持的区域性=新列表区域性信息{新区域性信息(' en-US '),新区域性信息(' zh-CN ')};选择支持的区域性=支持的区域性;选择支持的区域性=支持的区域性;});}在启动的配置()方法中应用请求本地化选项:
var请求本地化选项=app .应用程序服务getserviceioptionrequestlocationoptions().价值;应用程序.UseRequestLocalization(requestLocalizationOptions);然后在_Layout.cshtml视图中通过IViewLocalizer接口以多语言的方式显示页面标题的后缀:
@使用微软AspNetCore。MVC。localization @ injectview Localizer Localizer!DOCTYPE html html标题Title @视图数据[' Title ']-@ Localizer[' site Title ']/Title/head dy/body/html接着在ASP。网核心网项目中创建资源文件夹,在其中分别添加查看。共享。_布局。en-us。resx与查看。共享。_布局。zh-cn。resx文件,查看。共享。_布局。resx文件,并添加"网站标题"所对应的语句文字:
1)视图。共享的。_布局。en-Us.resx
2)视图。共享。_布局。zh-cn。resx
这时运行ASP。网核心站点,就会根据浏览器的语言设置(接受-语言标题)、或者文化查询参数、或者。AspNetCore。文化饼干值显示对应语言的文字:
需要注意的地方:千万不要添加不带语言名称的查看。共享。_布局。en-us。resx,不然添加代码语言名称的resx .文件时会遇到自定义工具ResXFileCodeGenerator无法为输入文件生成输出.但没有记录特定的错误。问。
一定要看的参考文档:全球化和本地化
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
版权声明:详解ASP .净核心中的多语言支持(本地化)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。