1

假设我有这些翻译:

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 会很有帮助。

这也引出了一个问题:这是构建翻译文件的好方法吗?我问这个是因为其他语言可以以完全不同的方式构建。我只是在想办法弄干我的翻译文件。

4

1 回答 1

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"))
于 2012-07-03T15:28:56.657 回答