Rails I18n本地化

时间:2014-08-19 06:01:55

标签: internationalization

我第一次在Ruby On Rail上开发一个多语言网站,这就是为什么我用不同的语言转换网站形式的标签,如此<%= t(:artist)%&gt ; <%= t(:name)%>,我们可以在一行中将此变量翻译为<%= t(:artist,:name)%>,实际上当我使用它时会给我错误。

/var/www/musicradio/trunk/app/views/musicuploads/_searchtype.html.erb:17:语法错误,意外',',期待')' ... put_buffer.append =(t(:artist,:or)); @ output_buffer.append = ... ...... ^

请帮助我....

1 个答案:

答案 0 :(得分:0)

如果您将翻译分组而不是翻译标记会更容易。

不要使用两个单独的标签,而是在en.yml中使用它

  log_in_or_sign_up:
    text: "%{log_in} or %{sign_up} to do stuff."
    log_in: "Log in"
    sign_up: "Sign up" 

然后在.erb上

<%= t(
  :'log_in_or_sign_up.text',
  log_in:  link_to(t(:'log_in_or_sign_up.log_in'),  login_path),
  sign_up: link_to(t(:'log_in_or_sign_up.sign_up'), signup_path)
) %>

更多信息:http://thepugautomatic.com/2012/07/rails-i18n-tips/