在我的一个联系表格中,有一条预先填好的信息,以便候选人避免收到不良信息,并有一个初步的良好基础。
到目前为止,我使用的是单message_template
,但我想在随机列表中介绍一些变种。
我的翻译需要一些变量才能正常工作
最初我有类似的东西
# locales/en.yml
en:
message_template: "Hello %{name}, how are you on this %{day} !"
# my_view.html.erb
<%= t(:my_template, name: @user.name, day: DateTime.now.strftime('B') %>
我想切换到随机翻译字符串(即从列表中选择随机翻译),并且仍然替换变量。
像
这样的东西# locales/en.yml
en:
message_templates:
- "Hello %{name}, how are you on this %{day} !"
- "Hi %{name}, nice %{day} isn't it ? how are you ?"
# my_view.html.erb
<%= t('my_templates.sample'), name: @user.name, day: DateTime.now.strftime('B') %>
什么是有效的语法?
注意:
我试过<%= t('my_templates, name: @user.name, day: DateTime.now.strftime('B')).sample %>
但是我获得的字符串的参数值没有被替换:
嗨%{name},好%{天}不是吗?你好吗?
答案 0 :(得分:1)
我使用了sample
,t
和I18n.interpolate
<%= I18n.interpolate(
t('my_templates').sample,
name: @user.name,
day: DateTime.now.strftime('B')
%>