2010-12-05 12 views
5

मैं I18n & रेल में लोकेल-विशिष्ट बहुवचन नियमों को लागू करने की कोशिश कर रहा हूं, लेकिन मुझे कोई भाग्य नहीं है। यहाँ मैं क्या कर रहा है:कस्टम रेल I18n लोकेल बहुवचन सहायता

# in config/initializers/locale.rb 
I18n::Backend::Simple.send(:include, I18n::Backend::Pluralization) 
{ 
    # Force Use of :few key 
    :ru => {:i18n => {:plural => {:rule => lambda { |n| :few}}}} 
} 

# in config/locales/ru.yml 
ru: 
    user: 
    one: One User 
    few: Few Users 
    many: Many Users 
    other: Other Users 

# Testing 
script/console 
>> I18n.locale = :ru ; I18n.t("user", :count => 20) 
=> "Other Users" 

आप देख सकते हैं, मैं मजबूर करने के लिए कोशिश कर रहा हूँ: कुछ प्रमुख (यह "कुछ उपयोगकर्ता" लौटना चाहिए), बस अगर यह डांग pluralizer काम करेंगे देखने के लिए .. .लेकिन कोई पासा :(

यहाँ पर्यावरण मैं चल रहा हूँ है:

  • रेल 2.3.8
  • i18n 0.5.0 मणि

कोई विचार?

उत्तर

5

आपकी समस्या को दोहराने का प्रयास किया, और एक ही समस्या थी। बहुवचन व्यवस्था को बहुवचन फ़ाइल में ले जाया गया, और ठीक काम किया।

लोकेल फ़ाइल को रुबी-स्टाइल पर स्विच किया गया, क्योंकि नियमित वाईएएमएल किसी कारण से मेरे लैम्ब्डा को पसंद नहीं करता था।

# config/initializers/locale.rb 
I18n::Backend::Simple.send(:include, I18n::Backend::Pluralization) 

# config/locales/ru.rb 
{ 
    :ru => { 
    :user => { 
     :one => "One User", 
     :few => "Few Users", 
     :many => "Many Users", 
     :other => "Other Users" 
    }, 
    :i18n => { 
     :plural => { 
     :rule => lambda { |n| :few } 
     } 
    } 
    } 
} 

# Testing 
$ script/console 
    Loading development environment (Rails 2.3.8) 
    >> I18n.locale = :ru; I18n.t("user", :count => 20) #=> "Few Users" 

दे सकता है कि एक कोशिश और देखो अगर यह

+0

मीठा मदद करता है। वह काम किया। धन्यवाद दोस्त! – dhulihan

संबंधित मुद्दे