Rails I18n复数不起作用

时间:2015-03-23 09:36:45

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

我正在使用rails 4.1.9和i18n。我想要土耳其语注册复数规则。

这是config / initializers下的pluralizaton.rb

require "i18n/backend/pluralization" 
I18n::Backend::Simple.send(:include, I18n::Backend::Pluralization) 

这是在config / locales下的plurals.rb中的规则。

  :tr => { :i18n => { :plural => { :keys => [:one, :other], :rule => lambda { |n| [0, 1].include?(n) ? :one : :other } } } },

这是示例区域设置文件。

tr:
 sample:
  one: 1
  other: 3
  zero: 0

I18n.t('sample',count: 0)按预期工作并重新设置0但是当runnign I18n.t('sample', count: 1)提供3时。如何为土耳其语制定自定义复数规则?或者我错在哪里?

1 个答案:

答案 0 :(得分:0)

如果您仍然需要答案,可以试试这个!

  :tr => { :i18n => { :plural => { :keys => [:zero, :one, :other], :rule => lambda { |n| n == 0 ? :zero : n % 10 == 1 && n % 100 != 11 ? :one : :other } } } }

此外,您可以在此处找到许多示例https://github.com/svenfuchs/i18n/blob/master/test/test_data/locales/plurals.rb