说我有这些翻译:
en:
article:
name: "article"
是否可以执行以下操作:
test1: "We have zero #article.name.pluralize"
test2: "There is an error in your #article.name"
test3: "Title for this page is: My #article.name.pluralize.capitalize"
我对1和3并不太感兴趣(即在变量上执行附加功能),但test2将是一个很大的帮助。
这也引出了一个问题:这是构建翻译文件的好方法吗?我问这个是因为其他语言可以以完全不同的方式构建。我正在考虑如何干掉我的翻译文件。
答案 0 :(得分:1)
您可以定义这样的翻译:
test1: "We have zero %{things}"
然后,在代码中的某个位置,您可以像这样使用它:
I18n.t(:test1, :scope => [:flashes], :things => t(:name, :scope => [:article] ))
或者,使用不同的表示法:
I18n.t("flashes.test1", :things => I18n.t("article.name"))