asp.net-mvc – 如何在本地化的文本中嵌入链接

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 如何在本地化的文本中嵌入链接前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问题:

我正在国际化ASP.Net MVC应用程序,但链接文本的句子给了我暂停.以下列为例:

>英文:“请login继续.”
>Português:“Entre por favor para continuar”.

请注意,由于“登录”是超链接的,所以我必须让翻译器表示当文本被本地化时,相应的单词或短语应该被超链接.恩特雷里奥斯.

我不能第一个有这个问题,那么你看到或使用的最好的策略解决方案是什么?

有没有一个标准来表示这样的东西为翻译(和标准的方式使用翻译的结果)…或者我走错了路径,期望我的内容和演示文稿信息如此紧密耦合(虽然我可以’在这种情况下,我们可以想办法去除联轴器).

当前实施:

我目前正在为Views和an extension method on HtmlHelper使用本地资源文件获取本地化的sting:

<%= Html.Resource("LoginMessage")%>

更新:
请参阅Keith’s answer.

我发现它最有帮助,但系统auto selected另一个.

解决方法

我正在使用的是他以下设置:

我有一个包含我的主要文本的全球资源文件,名为Strings.resx(Strings.NL-nl.resx等).旁边我有我的全球文件包含我的actionlink的所有本地化.那就是:ActionLinks.resx和本地人.

现在我做的是,在我的Strings.resx我有一些像:

Strings.resx

Please {0} to continue

本地语言Strings.NL-nl.resx

{0} om verder te gaan

现在的诀窍就是做一些事情:

<%= Html.Encode(string.Format(Resources.Strings.ControllernameViewnameKey,Html.ActionLink(Resources.ActionLinks.login,"Account","logon")))

如果您的链接中需要多个变量,则可以给出一组对象

string.Format()

keynaming是我自己的约定,以了解主文本的使用位置(什么页面).由于我的主旨非常具体.当然,钥匙可以自己制作.

有关我如何做的更多信息,您可以在自己的问题上查看我的答案:
here

编辑

当然,您可以使用本地文件而不是全局文件,但我喜欢我的强类型资源太多了:).

原文链接:https://www.f2er.com/aspnet/250586.html

猜你在找的asp.Net相关文章