Rails翻译 - 使用html安全翻译的正确方法

时间:2013-10-10 19:55:51

标签: html html5 internationalization ruby-on-rails-4 rails-i18n

考虑我的翻译密钥

en:
 test: "This is a test with %{another_variable} to explain translation"
 another_variable: "some text"

我想将测试密钥的内容从“ test with%{another_variable}改为”。我可以通过在测试密钥中的文本“test”之前包含一个强元素或b标记并将测试密钥更改为test_html密钥来完成此操作。

但我的问题是这是在翻译文件中包含html元素的正确方法。我的意思是这些文件仅适用于要翻译的文本。如果有人正在将我的应用程序翻译成西班牙语,他/她对HTML一无所知会发现html标签在适当的位置很难。

这样做的最佳方法是翻译文件只包含文本,我们可以更好地格式化翻译文本。

谢谢

1 个答案:

答案 0 :(得分:1)

有很多方法可以实现这一目标。首先是肯定的,你可以在翻译文件中添加html标签。

另一个解决方案是为此使用帮助器。助手旨在帮助观看创作。在您的帮助文件中,您可以定义以下方法

def bolded_translated_test
  t('test', another_variable: "<b>#{t('another_variable')}</b>"
end

然后在您看来,您可以使用它

<%= bolded_translated_test %>