如何在运行时填写资源字符串?

时间:2010-08-01 20:05:00

标签: c# asp.net-mvc localization resources resx

我有一个我想要本地化的应用程序。但是,要本地化的字符串偶尔会包含我想在运行时提供的部分,例如操作链接。

例如,我有一个这样的字符串:Please <a href="/help">click here</a> for help.我不能将它分成两个资源,因为在不同的语言中它将位于不同的位置。

有没有办法做到这一点,还是我应该坚持硬编码资源本身中控制器/动作的链接?

2 个答案:

答案 0 :(得分:1)

你应该这样修改你的字符串:

 string.Format("Please {0]click here{1} for help", "<a href="/help">","</a>")

现在,第一个字符串"Please {0]click here{1} for help"可以轻松翻译/本地化,即使您的文字顺序发生变化:

"Für Hilfe klicken Sie bitte {0}hier{1}."

答案 1 :(得分:1)

我最终采用的方法是创建一个像这样的资源字符串:

"Please {0} for help."

然后使用String.Format和我已定义的"Click Here"资源在运行时填充。