全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解ASP.NET Core 中的多语言支持(Localization)

首先在 Startup 的 ConfigureServices 中添加 AddLocalization 与 AddViewLocalization 以及配置 RequestLocalizationOptions (这里假设使用英文与中文):

public void ConfigureServices(IServiceCollection services)
{
  services.AddLocalization(options => options.ResourcesPath = "Resources");

  services.AddMvc()
    .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix);

  services.Configure<RequestLocalizationOptions>(
    opts =>
    {
      var supportedCultures = new List<CultureInfo>
      {
        new CultureInfo("en-US"),
        new CultureInfo("zh-CN")
      };
      opts.SupportedCultures = supportedCultures;
      opts.SupportedUICultures = supportedCultures;
    });
}

在 Startup 的 Configure() 方法中应用 RequestLocalizationOptions :

var requestLocalizationOptions = app.ApplicationServices.GetService<IOptions<RequestLocalizationOptions>>().Value;
app.UseRequestLocalization(requestLocalizationOptions);

然后在 _Layout.cshtml 视图中通过 IViewLocalizer 接口以多语言的方式显示页面标题的后缀:

@using Microsoft.AspNetCore.Mvc.Localization
@inject IViewLocalizer Localizer
<!DOCTYPE html>
<html>
<head>
  <title>@ViewData["Title"] - @Localizer["SiteTitle"]</title>
</head>
<body>
</body>
</html>

接着在 ASP.NET Core Web 项目中创建 Resources 文件夹,在其中分别添加 Views.Shared._Layout.en-Us.resx 与 Views.Shared._Layout.zh-CN.resx 文件, Views.Shared._Layout.resx 文件,并添加 "SiteTitle" 所对应的语句文字:

1)Views.Shared._Layout.en-Us.resx

2)Views.Shared._Layout.zh-CN.resx

这时运行 ASP.NET Core 站点,就会根据浏览器的语言设置(Accept-Language header)、或者 culture 查询参数、或者 .AspNetCore.Culture Cookie 值显示对应语言的文字:

需要注意的地方:千万不要添加不带语言名称的 Views.Shared._Layout.en-Us.resx ,不然添加代码语言名称的 .resx 文件时会遇到  "Custom tool ResXFileCodeGenerator failed to produce an output for input file ... but did not log a specific error." 问。

一定要看的参考文档:Globalization and localization 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# asp.net  # core  # 多语言  # Asp.Net Core MVC项目实现多语言实例(Globalization/Localizati  # ASP.NET Core MVC 中实现中英文切换的示例代码  # 就会  # 英文  # 千万不要  # 不带  # 需要注意  # 大家多多  # 一定要看  # 所对应  # 文档  # zh  # en  # SupportedCultures  # CN  # var  # opts 


相关文章: 建站三合一如何选?哪家性价比更高?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  装修招标网站设计制作流程,装修招标流程?  已有域名和空间如何快速搭建网站?  建站之星云端配置指南:模板选择与SEO优化一键生成  南宁网站建设制作定制,南宁网站建设可以定制吗?  MySQL查询结果复制到新表的方法(更新、插入)  如何零基础在云服务器搭建WordPress站点?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  在线制作视频的网站有哪些,电脑如何制作视频短片?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  Python路径拼接规范_跨平台处理说明【指导】  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  自助网站制作软件,个人如何自助建网站?  专业公司网站制作公司,用什么语言做企业网站比较好?  如何在IIS中新建站点并配置端口与物理路径?  图册素材网站设计制作软件,图册的导出方式有几种?  建站主机如何选?高性价比方案全解析  如何快速辨别茅台真假?关键步骤解析  ,石家庄四十八中学官网?  如何在新浪SAE免费搭建个人博客?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何在自有机房高效搭建专业网站?  如何通过商城自助建站源码实现零基础高效建站?  网页设计与网站制作内容,怎样注册网站?  如何在腾讯云服务器上快速搭建个人网站?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?    网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  C++时间戳转换成日期时间的步骤和示例代码  太平洋网站制作公司,网络用语太平洋是什么意思?  网站企业制作流程,用什么语言做企业网站比较好?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在企业微信快速生成手机电脑官网?  如何通过远程VPS快速搭建个人网站?  如何构建满足综合性能需求的优质建站方案?  制作宣传网站的软件,小红书可以宣传网站吗?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  如何快速配置高效服务器建站软件?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  建站之星×万网:智能建站系统+自助建站平台一键生成  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  购物网站制作公司有哪些,哪个购物网站比较好?  如何续费美橙建站之星域名及服务?  c# 在高并发下使用反射发射(Reflection.Emit)的性能  定制建站策划方案_专业建站与网站建设方案一站式指南  外贸公司网站制作哪家好,maersk船公司官网? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。