3

在我的一张联系表上,有一条预先填写的信息,因此候选人可以避免不良信息,并有一个初步的良好合作基础。

到目前为止,我使用的是单个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},很好 %{day} 不是吗?你好吗 ?

4

1 回答 1

2

我使用了sample,tI18n.interpolate

<%= I18n.interpolate(
  t('my_templates').sample, 
  name: @user.name, 
  day: DateTime.now.strftime('B') 
%>
于 2017-03-23T16:55:00.230 回答