如何在rails application.rb中设置默认语言环境,以便每次拨打以下内容时都不必添加单元?
number_to_currency(@course.price, unit: "£")
Rails指南说我的语言环境对于英国来说是:en-GB
,但以下显然会在application.rb中产生错误。
config.i18n.default_locale = :en-GB
答案 0 :(得分:31)
rails-i18n
gem包含许多Rails的语言环境配置, en-GB 就是其中之一。 en-GB不包含在Rails本身中。
rails-i18n
gem 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'文件