我愿意根据语言选择来更改图片。这是因为我的图像包含一些文本,并且根据语言选择(荷兰语,法语和英语)制作了三种不同版本的图像。我该怎么做?
我试图添加我的
<%= image_tag("lansink_en.png", class: "center-image") %>
位于我不同的en.yml
,fr.yml
和nl.yml
文件中,但没有解决问题。
感谢您的帮助!
答案 0 :(得分:1)
我认为翻译文件不应包含代码或比严格语义更具体的标记。
如果将它们运送到翻译人员(或使用Google Translate之类的工具进行自动翻译),则英语 code 可能会被翻译,从而使您无法使用一种或多种语言进行翻译,其他人。
如果您更改类名,则在这种特殊情况下不需要进行任何翻译或绕过任何操作。
我希望使用旧的助手方法:
module SomeHelper
def lansink_image_tag
image_tag("lansink_#{I18n.locale}.png", class: "center-image")
end
end
或者,如果您不知道所有语言都必须有一个文件,但是您希望使用备用文件:
module SomeHelper
def lansink_image_tag
has_image = [:de, :fr, :en]
suffix = has_image.include?(I18n.locale) ? I18n.locale : :en
image_tag("lansink_#{suffix}.png", class: "center-image")
end
end
答案 1 :(得分:0)
您可以在yaml文件中转义html内容。所以说你有一个像这样的yml
en:
url: '<%= image_tag("lansink_en.png", class: "center-image") %>'
然后显示它:
<%= raw t('url') %>
然后只需设置您的其他语言环境文件就可以了