我正在使用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
时。如何为土耳其语制定自定义复数规则?或者我错在哪里?
答案 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