多种语言的网页元描述

时间:2018-09-13 09:50:29

标签: html asp.net asp.net-core

是否可以为多种语言添加<meta name="description" content="..." />

我知道该问题已经在堆栈中提出并回答了,但答案不能解决我的问题。

诀窍是,我的网站内容取材于PL和EN版本的资源文件。该应用程序使用ASP.Net Core中间件(UseRequestLocalization())根据浏览器设置或用户手动更改语言时创建的cookie值来决定使用哪个资源文件,因此有可能永远不会创建。

如您所见,没有直接指示该站点当前以哪种语言显示,因为我既不将该信息推送到URL中,也不将其存储在HTML标签中。

我很高兴能够做这样的事情:

<meta name="description" content="some polish content" />
<meta name="description" content="some english content" />

,并让浏览器根据浏览器的语言设置来决定使用哪个。在ASP.Net Core应用程序中,这样的事情甚至可能吗?

编辑,因为人们投票关闭重复的问题而不阅读我的...

是的,我已经读过HTML: Multiple language meta descriptions?。它为该主题提供了一些启示,但首先,它对我的​​情况并没有真正帮助,其次,它是在甚至没有引入ASP.Net Core 1.0之前编写的,所以我想问一下ASP.Net Core是否有解决此问题的方法。我以某种方式标记问题是有原因的……在投票之前,请阅读一些标题以外的内容

1 个答案:

答案 0 :(得分:0)

您不能发布元描述的多个版本。但是,如果您的站点发布本地化版本,则可以确保元描述本身以正确的语言本地化。换句话说,您不仅可以拥有带有英语和波兰语元描述的英语页面,而且可以拥有带有英语元描述的页面英文版本和具有波兰语的元描述的波兰语版本。< / p>

有关如何设置所有内容的更多信息,请参见documentation on localization。为项目设置本地化并建立资源后,只需将IViewLocalizer注入视图即可。

@inject IViewLocalizer Localizer

...

<meta name="description" content="@Localizer["This is my meta description"]" />