.NET i18n 多语言支持与国际化

环境 WIN10 VS2022 .NET8  

1.👋创建项目

2.👀创建Resources Controllers

HomeController.en.resx

HomeController.fr.resx

HomeController.zh.resx

3.🌱Program.cs添加国际化支持

// 添加国际化支持
builder.Services.AddLocalization(options =>
{
    options.ResourcesPath = "Resources";
});

var app = builder.Build();

// 多语言
var supportedCultures = new List<CultureInfo>
            {
                new CultureInfo("en"),
                new CultureInfo("zh"),
                 new CultureInfo("fr"),
            };

app.UseRequestLocalization(new RequestLocalizationOptions
{
    DefaultRequestCulture = new RequestCulture("zh"),
    SupportedCultures = supportedCultures,
    SupportedUICultures = supportedCultures
});

4.⚡注入localizer

        private readonly IStringLocalizer<HomeController> localizer;

      public HomeController(ILogger<HomeController> logger,     
      IStringLocalizer<HomeController> localizer)
      {
          _logger = logger;
          this.localizer = localizer;
      }

5.📫编写调用方法

        [HttpGet]
        public ActionResult<string> Get()
        {
            string rsstr= localizer.GetString("String1").Value;//?ui-culture=zh
            return rsstr;
        }

默认是中文

?ui-culture=en 则取对应HomeController.en.resx 里面的String1

🐟参考:

ASP.NET MVC ベリーシンプル多言語対応2020 #C# - Qiita

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值