首先在 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
相关文章:
建站之星导航配置指南:自助建站与SEO优化全解析
定制建站流程解析:需求评估与SEO优化功能开发指南
长沙企业网站制作哪家好,长沙水业集团官方网站?
如何在景安云服务器上绑定域名并配置虚拟主机?
如何通过西部数码建站助手快速创建专业网站?
制作网站外包平台,自动化接单网站有哪些?
建站主机SSH密钥生成步骤及常见问题解答?
如何通过万网虚拟主机快速搭建网站?
网站app免费制作软件,能免费看各大网站视频的手机app?
建站之星上传入口如何快速找到?
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
文字头像制作网站推荐软件,醒图能自动配文字吗?
建站168自助建站系统:快速模板定制与SEO优化指南
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
如何设计高效校园网站?
C++中引用和指针有什么区别?(代码说明)
黑客如何通过漏洞一步步攻陷网站服务器?
,如何利用word制作宣传手册?
如何规划企业建站流程的关键步骤?
如何用好域名打造高点击率的自主建站?
东莞专业制作网站的公司,东莞大学生网的网址是什么?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
建站之星如何快速更换网站模板?
建站与域名管理如何高效结合?
小程序网站制作需要准备什么资料,如何制作小程序?
开心动漫网站制作软件下载,十分开心动画为何停播?
如何用IIS7快速搭建并优化网站站点?
深入理解Android中的xmlns:tools属性
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
个人网站制作流程图片大全,个人网站如何注销?
C++时间戳转换成日期时间的步骤和示例代码
简历在线制作网站免费,免费下载个人简历的网站是哪些?
微信小程序 input输入框控件详解及实例(多种示例)
网站图片在线制作软件,怎么在图片上做链接?
h5网站制作工具有哪些,h5页面制作工具有哪些?
如何访问已购建站主机并解决登录问题?
MySQL查询结果复制到新表的方法(更新、插入)
青浦网站制作公司有哪些,苹果官网发货地是哪里?
如何用西部建站助手快速创建专业网站?
建站之星北京办公室:智能建站系统与小程序生成方案解析
制作农业网站的软件,比较好的农业网站推荐一下?
微信推文制作网站有哪些,怎么做微信推文,急?
如何快速选择适合个人网站的云服务器配置?
教育培训网站制作流程,请问edu教育网站的域名怎么申请?
建站主机助手选型指南:2025年热门推荐与高效部署技巧
英语简历制作免费网站推荐,如何将简历翻译成英文?
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
*请认真填写需求信息,我们会在24小时内与您取得联系。