2011-01-14 14 views
5

में महीनों के नाम का चयन पोलिश में महीने के नाम के विभिन्न मामले का उपयोग करना चाहता हूं। उदाहरण के लिए अब यह इस तरह काम करता है:रेल नाम I18n

>> I18n.l Time.now, :format => "%e %B" 
=> "14 styczeń" 

लेकिन मैं महीने के किसी अन्य स्वरूप निर्दिष्ट करने के लिए करना चाहते हैं:

>> I18n.l Time.now, :format => "%e %Q" 
=> "14 stycznia" 

अनुवादित महीने नामों pl.date.month_names में मेरी pl.yml फ़ाइल में हैं। और मैं इसे बदलना नहीं चाहता। मैं दूसरे मामले में pl.date.another_month_names जोड़ सकता हूं, लेकिन मुझे नहीं पता कि इसका उपयोग करने के लिए I18n.l विधि कैसे बनाएं।

तो मैं इसे कैसे प्राप्त कर सकता हूं? अन्य समाधान (सहायक, कस्टम तरीकों इत्यादि) का भी स्वागत है।

+0

आप एक कठिन विषय है कि एक लंबे समय के लिए localisers सता रहा है मारा - कैसे अंग्रेजी के अलावा और अधिक परिष्कृत भाषाओं से निपटने के लिए। आपने अपने प्रश्न के उत्तर के रूप में नीचे जो सुझाव दिया है वह एक समाधान की तुलना में अधिक कामकाज है, लेकिन यह तब तक सबसे अच्छा तरीका प्रतीत होता है जब तक स्थानीयकरण को अधिक परिष्कृत घुसपैठ का समर्थन नहीं मिलता है, कम से कम कुछ जो बहुवचन के समान होता है। – silverdr

उत्तर

5

चूंकि किसी ने मेरे प्रश्न का उत्तर नहीं दिया, मुझे एक समाधान मिला।

मैं सिर्फ उदाहरण alt_pl.yml के लिए एक और अनुवाद बनाया है, और मैं अपने कस्टम माह नाम जोड़ा है, तो:

>> I18n.l Time.now, :format => "%e %Q", :locale => :alt_pl 
=> "15 stycznia" 
3

मैं जर्मन अनुवाद में अजीब महीने के नाम के साथ एक समान समस्या थी। मैं अपने locale.yml में महीने के नामों को कॉन्फ़िगर करने के लिए किया था, अब यह उम्मीद के रूप में काम करता है:

de: 
    defaults: &defaults 
    month_names: 
     [~, Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember] 
    formats: 
     default: "%d. %B %Y" 
     short: "%d.%m.%Y" 
    date: 
    <<: *defaults 
    time: 
    <<: *defaults 
संबंधित मुद्दे