加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 23:35:30 所属栏目:asp.Net 来源:网络整理
导读:问题: 我正在国际化ASP.Net MVC应用程序,但链接文本的句子给了我暂停.以下列为例: 英文:“请login继续.” Português:“Entre por favor para continuar”. 请注意,由于“登录”是超链接的,所以我必须让翻译器表示当文本被本地化时,相应的单词或短语应该
问题:

我正在国际化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

编辑

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读