.Net Core 国际化
创建项目什么的就不说了吧 直接进入正题吧 我这里建的是个webapi
添加资源文件
1.首先我们创建一个Language文件夹,这就是我们在后面Startup类中需要配置的目录名。
2.然后我们在Language文件夹中添加一个资源文件,并命名为Controllers.EnController.zh-CN。
3.在这个资源文件中,添加一个字段“Hello world.”, 并设置其值为“你好世界。”。
我这里还添加了几个别的语言 如图
配置Startup类
ASP.NET Core中,如果希望启动本地化,首先需要在Startup类的ConfigureServices方法中使用services.AddLocalization添加本地化服务。
在这个方法中,我们指定了前面创建的文件夹Language作为存放翻译文件的目录。 如果不指定的话会从根目录读
services.AddLocalization(o => { o.ResourcesPath = "Language"; }); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
然后我们需要在Configure方法中添加本地化中间件。
IList<CultureInfo> supportedCultures = new List<CultureInfo> { new CultureInfo("zh-CN"), new CultureInfo("en-US"), new CultureInfo("ja"), new CultureInfo("is") }; app.UseRequestLocalization(new RequestLocalizationOptions { //这里指定默认语言包 DefaultRequestCulture = new RequestCulture("zh-CN"), SupportedCultures = supportedCultures, SupportedUICultures = supportedCultures }); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); }
建一个控制器来做基类控制器 引入本地化字符串访问器
public readonly IStringLocalizer<EnController> _localizer; public EnController(IStringLocalizer<EnController> localizer) { _localizer = localizer; }
新建一个控制器 继承基类 方法引用多语言配置项
private Microsoft.Extensions.Logging.ILogger logger; public ValuesController(ILogger<ValuesController> _logger, IStringLocalizer<EnController> localizer):base(localizer) { logger = _logger; } [HttpGet] [Route("Hello")] public string Hello() { return _localizer["Hello world."]; }
然后就没有然后了 直接访问就好了 就可以看到结果了
中文
冰岛语
日语
具体的几种访问方式我就不异议去说了 百度随便搜一下都有
项目放在百度云上了 需要看的话直接下载也行超简单的 https://pan.baidu.com/s/1EraOwPZagEDtMxPw2VN7JA 提取码 r7m3
最新文章
- Connect() 2016 大会的主题 ---微软大法好
- 微信网页授权(OAuth2.0) PHP 源码简单实现
- perl检查变量是否定义
- 图解CSS的padding,margin,border属性
- MyBatis学习笔记(四) 注解
- hadoop拾遗(二)---- 文件模式
- cf293E Close Vertices(树分治+BIT)
- 《A First Course in Probability》-chaper1-组合分析-方程整数解的个数
- 解除被DenyHosts锁定的IP地址
- 用python来更改小伙伴的windows开机密码,不给10块不给开机
- Akka实践一些总结
- XP Sp3 开机就要激活,否则无法登录windows桌面
- 网站流量统计PV&;UV
- 解决Gerrit的git unpack error问题
- Linux 虚拟机安装vmware tools
- java基础17 模板模式
- 12 打印1到最大的n位数
- RDD的源码
- Less、Sass/Scss
- protobuf 中的嵌套消息的使用 主要对set_allocated_和mutable_的使用
热门文章
- 【Spring】Spring的数据库开发 - 2、Spring JdbcTemplate的常用方法(execute、update、query)
- web测试误区:浏览器后退键退出系统会话失效
- 攻防世界—pwn—hello_pwn
- CTFshow-萌新赛web_假赛生
- 利用iptables防火墙保护web服务器
- Ice系列--基于IceGrid的部署方案
- 转 Jmeter测试实践:文件上传接口
- kvm虚拟机管理(创建、连接)
- Google performance Tools (gperftools) 使用心得
- loj10010糖果传递