条款和条件国际化与链接

时间:2012-05-07 10:05:06

标签: ruby-on-rails internationalization conditional-statements

大家好,我有一个关于内化和条款和条件的问题:

在我看来,我有这个:

I18n.t("user.registration.form.accept_terms_conditions", :conditions => link_to(I18n.t("user.registration.form.conditions"), page_url('privacy_policy')), :terms => link_to(I18n.t("user.registration.form.terms"), page_url('terms_and_conditions')))

在我的it.yml中我有这个:

accept_terms_conditions: "Accetto le %{conditions} e i %{terms}"
  conditions: "condizioni sulla privacy"
  terms: "termini di utilizzo"

问题是结果不是我所期望的,弄乱了virables。 我想要的只是这个:

  

Accetto le condizioni sulla privacy e i termini di utilizzo

我该怎么做? 非常感谢! 马西莫

1 个答案:

答案 0 :(得分:1)

您的YAML存在命名空间问题。在这种情况下,accept_terms_conditions是一个名称空间,因此它不能直接拥有内容 - 它需要一个子名称空间来包含内容。

例如,您可以像这样构建翻译:

accept_terms_conditions:
  text: "Accetto le %{conditions} e i %{terms}"
  conditions: "condizioni sulla privacy"
  terms: "termini di utilizzo"

,您视图中的.t调用如下所示:

I18n.t("accept_terms_conditions.text",
  :conditions => link_to(I18n.t("accept_terms_conditions.conditions"), page_url('privacy_policy')),
  :terms => link_to(I18n.t("accept_terms_conditions.terms"), page_url('terms_and_conditions')))