如何在rails中设置默认语言环境

时间:2014-07-23 11:21:20

标签: ruby-on-rails ruby-on-rails-4 internationalization

如何在rails application.rb中设置默认语言环境,以便每次拨打以下内容时都不必添加单元?

number_to_currency(@course.price, unit: "£") 

Rails指南说我的语言环境对于英国来说是:en-GB,但以下显然会在application.rb中产生错误。

config.i18n.default_locale = :en-GB

6 个答案:

答案 0 :(得分:31)

rails-i18n gem包含许多Rails的语言环境配置, en-GB 就是其中之一。 en-GB不包含在Rails本身中。

  1. 添加rails-i18n gem
  2. config.i18n.default_locale = :'en-GB'添加到application.rb

答案 1 :(得分:4)

试试这个:

config.i18n.default_locale = :'en-GB'

答案 2 :(得分:0)

我遇到了类似的问题,我必须在本地设置语言环境... Rails中有一个很好的解决方法,可以给许多基于字符串的方法提供locale选项。请参见下面的代码块:

number_to_currency(@course.price, unit: "£", local: :"en-GB")

我知道这可能不是一个答案,但对我在这里找到它确实很有帮助。希望对其他人有帮助!

答案 3 :(得分:0)

通过将所需的货币格式添加到现有的en(英语)语言环境,避免了添加另一个gem依赖项。

编辑在config / locales中找到的文件en.yml,并添加以下数字/货币格式定义(您将看到一个现有的hello:定义),

en:
  hello: "Hello world"

  number:
    currency:
      format:
        delimiter: ','
        format: '%u%n'
        precision: 2
        separator: '.'
        strip_insignificant_zeros: false
        unit: '£'

...给出£1,000.00

或者,

  number:
    currency:
      format:
        delimiter: ''
        format: '%n %u'
        precision: 0
        separator: '.'
        strip_insignificant_zeros: false
        unit: 'GBP'

...给予1000英镑

有关更多格式选项,请参见here

答案 4 :(得分:0)

您应该在application.rb

中设置下一个配置。

config.i18n.load_path + = Dir [Rails.root.join('my','locales', '*。{rb,yml}')] config.i18n.default_locale =:de

答案 5 :(得分:-1)

您需要先安装rails-i18n gem(https://github.com/svenfuchs/rails-i18n) 或使用'en-GB.number.currency.format.unit:£'条目创建'config / locales / en-GB.yml'文件