我希望能够在yml语言环境文件中存储的字符串内插变量。我弄清楚如何做到这一点的唯一方法是使用正则表达式。
例如在en.yml中我有
---
en:
byline: "By <strong>{{author}}</strong>"`
然后在我的erb文件中我有:
<%= t(:byline).gsub!(/{{author}}/, current_page.data.author) %>
有更简单的方法吗?
答案 0 :(得分:2)
请参阅Rails Internationalization API RailsGuide中的Passing Variables to Translations:
您可以在翻译消息中使用变量,并从视图中传递它们的值。
# app/views/home/index.html.erb
<%=t 'greet_username', user: "Bill", message: "Goodbye" %>
# config/locales/en.yml
en:
greet_username: "%{message}, %{user}!"