我在html中有两个字符串。这两个字符串是"忘记了你的密码?"和"请" ' HPERLINK' "更改密码"。
现在我有一个messageBundle文件,它是一个存储常量的文件。该文件用于翻译其他语言的常量。 现在我将这些字符串存储在我的常量文件中:
Forgot_Pass="Forgotten your password?Please"
Forgot_password_continue="to change your password"
然后在html中我使用这个常量文件在我的UI上创建一个完整的句子"Forgotten your password? Please click_here to change your password"
。
此处' click_here'是超链接。 无论如何,我可以将此错误消息存储在MessageBundle文件中的单个字符串中,以便可以避免连接这两个字符串吗?
答案 0 :(得分:0)
您可以通过使用变量的预定义模式(例如:## 1 ##,## 2 ##等)来完成此操作,这些模式可以在翻译时替换为相应的值。
例如:您的最终(单个)字符串可能如下 -
Forgot_Pass_Change =“忘记了密码?请## 1 ##进行更改 你的密码“
其中 ## 1 ## 需要在翻译时替换为 <a href="http://your.link.path" >click_here</a>
。
我知道这意味着必须改变翻译调用的方式。假设您当前的翻译功能类似于getTranslatedString(<translate_string_name>)
,您可以将其覆盖为如下所示:
getTranslatedString('Forgot_Pass_Change', [<variable_1>, <variable_2> ...]);
即
getTranslatedString('Forgot_Pass_Change', ['click_here_hyperlink']);
在您的示例中,您只有1个变量字符串。但是,在某些情况下,您需要一次更换多个变量(由 ## 2 ## 表示, ## 3 ## 等等,在你的模板字符串中)。因此数组实现作为第二个参数。
答案 1 :(得分:0)
这似乎是我的解决方案:
Forgot_Pass="Forgotten your password?Please <a href="http://your/url/here">Click here</a> to change your password"
如果我错了,请告诉我。