2017-09-26 26 views
0

我想連接我的本地化文件「admin.titles.index」和「%{model_name}」(從activerecord.models.harddisk獲取)中的字符串。如何連接content_for()助手中的I18n.t()字符串?

我試着用:

<% title = I18n.t("admin.titles.index") + I18n.t("%{model_name}", 
      model_name: admin.model_name, 
      pluralized_model_name: admin.model_name.pluralize)%> 

<% content_for(:title, title) %> 

但我得到一個錯誤信息:

translation missing: de.%{model_name} 

我該如何解決呢?

回答

0

你需要提供一個字符串的翻譯,你通過I18n.t。只要您沒有"%{model_name}"的翻譯,您就會收到錯誤消息。

在你的情況,你可以從串聯本地化字符串型號名稱:

<% title = I18n.t("admin.titles.index") + admin.model_name %> 

否則,你需要在yml提供文件翻譯model_name。例如:

en: 
    model_name: "English %{model_name}" 
de: 
    model_name: "German %{model_name}" 

,然後用它作爲

I18n.t("admin.titles.index") + I18n.t("model_name", model_name: admin.model_name)