17

क्यों number_to_currency(33.50, :locale => :fr) $ 33.50 प्रदर्शित करता है परिवर्तित? इसे लोकेल के आधार पर अलग-अलग मुद्रा में प्रदर्शित करना चाहिए। मैं 33,50 € के परिणाम की उम्मीद करूंगा।number_to_currency स्थान

बहुत बहुत धन्यवाद!

+0

यह बताते हुए कि सभी फ्रांसीसी लोग यूरोप में रहते हैं? आप अपनी जनसांख्यिकीय के भीतर मुद्रा की पसंद की किसी भी भाषा को मानचित्र में मानचित्रित नहीं कर सकते हैं। उदाहरण के लिए, किसी ऐसे व्यक्ति की कल्पना करें जो किसी दूसरे देश में चले। या मेरे मामले में, फ्रेंच कनाडाई है। – fbelanger

उत्तर

18

इस काम के लिए आपको काम करने के लिए config/locales/fr.yml पर एक लोकेल फ़ाइल की आवश्यकता है। आप इसे यहां से प्राप्त कर सकते हैं: https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/fr.yml

:locale विकल्प केवल रेल को घोषित करता है कि आप क्या लोकेल चाहते हैं। रेल के पास परियोजना में हर भाषा के लिए सभी अनुवाद नहीं हैं, और इसलिए आपको इन अनुवाद फ़ाइलों को स्वयं शामिल करना होगा।

32

मुझे पता है कि यह थोड़ा देर हो चुकी है। लेकिन सिर्फ उपर्युक्त उत्तर का विस्तार करना चाहता था। निम्नलिखित के रूप में यह प्रयोग करें:

number_to_currency(aNumber, :locale => :fr) 

इस फ़ाइल config/locales/fr.yml उपयोग करता है। आप अपना खुद का मुद्रा प्रारूप बना सकते हैं और इसे config/locales/fr.yml में परिभाषित कर सकते हैं। फ़ाइल में निम्न शामिल होंगे:

fr: 
    number: 
    currency: 
     format: 
      unit: '€' 
      delimiter: ',' 
      separator: '.' 
      precision: 2 
      format: '%u%n' 

unit मुद्रा प्रतीक है। भी आप पूरे स्ट्रिंग को format: के साथ प्रारूपित कर सकते हैं। इस पर Here

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