2017-09-26 3 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) 
としてそれを使用します