2008-09-25 17 views
9

क्या नंबर 1, 2, 3, ... "1", "2", "3rd", ... में परिवर्तित करने का कोई आसान तरीका है, और इस तरह में जिस तरह से मैं फ़ंक्शन को एक भाषा दे सकता हूं और क्या मुझे उस भाषा के लिए सही फॉर्म वापस कर सकता है जिसे मैं लक्षित कर रहा हूं? या तो मानक सी ++ (एसएलएल या बूस्ट ओके), एमएफसी या एटीएल, win32 एपीआई या एक छोटा, एकल उद्देश्य और मुफ्त लाइब्रेरी जिसे मैं कहीं से डाउनलोड कर सकता हूं। धन्यवाद।कार्डिनल संख्याओं को सामान्य में परिवर्तित करने के लिए कैसे करें

उत्तर

-2

Here कोडप्रोजेक्ट पर कोड का टुकड़ा है जो नौकरी करता है। अपने आप पर कोशिश नहीं की है।

0

मैंने इस पर शोध करने में काफी समय व्यतीत किया है, क्योंकि यह खुद को सही करने के लिए एक परियोजना बहुत बड़ी है। ऐसा लगता है कि आईसीयू लाइब्रेरी एकमात्र ऐसा है जो इस कार्यक्षमता को कुछ व्यापक तरीके से प्रदान करता है (http://www.icu-project.org/apiref/icu4c/classRuleBasedNumberFormat.html)। हालांकि, मैं इस तरह की एक विशाल पुस्तकालय को शामिल करने के लिए बहुत उत्सुक नहीं हूं। मैं देख रहा हूं और मैं अभी भी सुझावों के लिए खुला हूं।

5

मुझे संदेह है कि यह संभव है, क्योंकि कई भाषाओं में यह फ़ॉर्म संदर्भ पर निर्भर करेगा, जैसे लिंग या संज्ञा का वर्णन यह है कि अलग-अलग भाषाओं को विभिन्न प्रकार की संदर्भ जानकारी की आवश्यकता होगी ताकि सही निर्धारित किया जा सके प्रपत्र।

संपादित करें: उदा। पॉलिश में यह "5-टा क्लसा" (5 वीं कक्षा) बनाम "5-ty miesiąc" (5 वें महीने) बनाम "डब्ल्यू 5-tym miesiącu" (5 वें महीने में) है।

+0

यदि आपके मन में किसी भी विशिष्ट भाषा या उदाहरण है: यहाँ है कि समस्या (जो आप पहले से ही पाया है, लेकिन और अधिक विस्तार में) और उनके समाधान बताते हैं बहुवचन रूपों पर प्रासंगिक मैनुअल पृष्ठ है? AFAIK, लेकिन मेरा व्यावहारिक अनुभव पश्चिमी यूरोपीय भाषाओं तक ही सीमित है, औपचारिक (पहला, दूसरा) हमेशा एक जैसा होता है, और केवल पूरी तरह से वर्तनी के रूप में संगत होता है (उदाहरण के लिए स्पेनिश में एल सेकंडो मानो/ला सेकुंडा डाया)। – Roel

+0

दिलचस्प, इसके लिए धन्यवाद। ऐसा लगता है कि मैं आईसीयू लाइब्रेरी का उपयोग ordinals प्राप्त करने के लिए करूँगा, लेकिन मुझे नहीं पता कि वे इसे कैसे संभालेंगे। मैं इसका परीक्षण करूंगा। – Roel

+1

@ रोएल: यह "एल सेगुंडो डाया/ला सेगुंडा मोनो" है और जब वे पूरी तरह से वर्तनी नहीं करते हैं तब भी वे अलग होते हैं: el 2º día/la 2ª mano – MikMik

0

क्या आपने यूनिकोड साइट पर सीएलडीआर रिपोजिटरी देखी है? मुझे नहीं पता कि उनके पास इस तरह की चीज है लेकिन चूंकि यह शायद सबसे व्यापक लोकेल डेटा भंडार है, तो शायद यह एक लायक है। http://www.unicode.org/cldr/

+0

हां, सीएलडीआर की सामान्य जानकारी है और आईसीयू डेटा स्रोत के रूप में इसका उपयोग करता है। हालांकि मुझे इसके चारों ओर अपना कोड लिखना होगा, या आईसीयू से ऑर्डिनल से संबंधित कोड को एक अलग उप-लाइब्रेरी में विभाजित करना होगा या फिर। दोनों बहुत आकर्षक नहीं हैं। – Roel

0

जब से तुम सी ++ का उपयोग, मैं तुम्हें GNU gettext इस्तेमाल कर सकते हैं सभी अनुवाद के लिए (वहाँ एक Windows बंदरगाह के रूप में अच्छी तरह से है), या कम से कम विचार प्राप्त है कि वे कैसे इसे हल मान।

http://www.gnu.org/software/automake/manual/gettext/Plural-forms.html

+0

गेटटेक्स्ट में जो एकमात्र कार्यक्षमता मिल सकती है वह बहुवचन के लिए है, न कि ordinals। मैं अपने दृष्टिकोण के समान कुछ का उपयोग करके अपना खुद का समाधान बना सकता हूं लेकिन मुझे वह नहीं चाहिए; मुझे कई देशी वक्ताओं तक पहुंच की आवश्यकता होगी। मैं प्रेरित नहीं हूं :) इसके अलावा, गेटटेक्स्ट जीपीएल है जो इसे मेरे उपयोग के लिए अनुपयुक्त बनाता है। – Roel