用app.net Core搞掂多国语言网站

Asp.net Core 中文文档很少,你可以看英文的,不过英文的也是说的有点乱。这篇文章是干货。
1. 配置好你的WebApplication,使他可以支持国际化语言,修改文档Startup.cs
        public void ConfigureServices( IServiceCollection services)
        {
            services.AddLocalization(options => options.ResourcesPath = "Resources" );
            services.AddMvc()
              .AddViewLocalization( LanguageViewLocationExpanderFormat .Suffix)
              .AddDataAnnotationsLocalization();
        }
2.修改好你的配置
 
public void Configure( IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{...
这里面写你的网站需要支持的语言。
            var supportedCultures = new []
            {
                new CultureInfo ( "en-US" ),
                new CultureInfo ( "zh-CN" )
            };
 
这里是写你的默认语言的
            app.UseRequestLocalization( new RequestLocalizationOptions
            {
                DefaultRequestCulture = new RequestCulture ( "en-US" ),
                // Formatting numbers, dates, etc.
                SupportedCultures = supportedCultures,
                // UI strings that we have localized.
                SupportedUICultures = supportedCultures
            });
 
}
 
3.给你的视图增加资源文档
a.增加Resources目录
b.按你的视图路径,给出资源文档的结构 例如你的视图Views\Home\Index.cshtml 你的资源Resources\Views\Home\Index.zh-CN.resx  或 Resources\Views\Home\Index.en-US.resx
c.在资源文件中添加Key 和Value  
d.视图顶部
@ using Microsoft.AspNetCore.Mvc.Localization
@inject IViewLocalizer Localizer
 
需要显示的字符串中
Learn More   修改  @Localizer[ "Learn More" ]
 
测试运行
搞点。

转载于:https://www.cnblogs.com/cgzwwy/p/6893674.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值