【问题标题】:How to use rails-i18n with HAML如何在 HAML 中使用 rails-i18n
【发布时间】:2012-06-08 11:52:39
【问题描述】:

我浏览了http://guides.rubyonrails.org/i18n.html 并设置了我的en.yml 文件:

en:
  test:
    welcome: Welcome!!!
  registration:
    signup: Sign up for an invite!!

但是,在我的new.html.haml 文件中, 如何引用signup

本教程仅展示了如何使用 ERB,而不是 HAML。我试过了,它没有用:

%h2 <%=t :registration.signup %>

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails-3 haml


    【解决方案1】:

    您应该阅读HAML reference 以了解 HAML 的工作原理。要添加代码以生成标签内容,请使用 =,如:

    %h2= t('registration.signup')
    

    【讨论】:

      【解决方案2】:

      app/views/registration/index.html.haml

      %h2
        =t('.signup')
      

      en.yml:

      en:
        registration:
          index:
            signup: Sign up for an invite!!
      

      注意:

      1. 视图的 Rails 路径必须与符号的 YAML 路径匹配
      2. .signup 之前有一个点。阅读更多关于lazy lookups

      【讨论】:

        【解决方案3】:

        一旦我这样做了,它就起作用了:

        更改 en.yml

          registration:
            signup: "Sign up for an invite to join CorkLabs!!!"
        

        在 .haml 文件中

        %h2= t 'registration.signup'
        

        【讨论】:

        • 你应该对你所有的 YAML 进行字符串转义
        【解决方案4】:

        这里的其他 cmets 会介绍您如何做到这一点。不过,您也可以查看haml-i18n-extractor。它是一种工具,可帮助您自动从模板中提取字符串插值,而无需手动操作。应该可以为您节省大量时间。

        【讨论】:

          猜你喜欢
          • 2012-12-23
          • 2013-02-23
          • 2011-02-13
          • 2012-07-06
          • 1970-01-01
          • 1970-01-01
          • 2016-01-28
          • 2016-05-02
          • 2018-03-05
          相关资源
          最近更新 更多