2009-09-17 27 views
9

यह सामान्य रूप में के बारे में सर्वोत्तम प्रथाओं, एक एकल, डेटाबेस या जो कुछ भी भाषाएकवचन शब्द या बहुवचन शब्दों के लिए सर्वोत्तम अभ्यास (ओं)?

हम सब के लिए विशिष्ट नहीं है उत्पन्न उत्पादन से निपटने के लिए तुम कहाँ रिपोर्टिंग किया जा सकता है "एक उत्पादों" या "दो उत्पाद" है। बहुत अच्छी तरह से पढ़ा नहीं जाता है ... कुछ इसे "एक उत्पाद (ओं)" या "उत्पादों की संख्या: (1)" का उपयोग करके हल करते हैं और अन्य के पास अन्य समाधान हो सकते हैं।

विभिन्न बोली जाने वाली भाषाओं में चीजें और भी जटिल हो सकती हैं! फ्रेंच में, जब आपके पास शून्य उत्पाद होते हैं, तो आप एकवचन रूप का उपयोग करेंगे, न कि बहुवचन रूप! (शून्य उत्पाद) अन्य भाषाओं (चीनी, जापानी) में इन व्याकरणिक मतभेदों की कमी हो सकती है या उत्पादों की संख्या के बारे में कुछ इंगित करने के लिए दो से अधिक अलग-अलग शब्द हो सकते हैं। (उदाहरण के लिए एक बहुवचन और अधिक बहुवचन।)

लेकिन यह आसान रखने के लिए, उन भाषाओं पर ध्यान केंद्रित करें जिनमें एकवचन और बहुवचन शब्द दोनों हैं।

एक नई परियोजना की स्थापना करते समय, जो रिपोर्ट उत्पन्न करना पड़ता है, आप एकवचन और बहुवचन शब्दों से कैसे निपटते हैं? क्या आप एकवचन और बहुवचन रूप के लिए अपने डेटाबेस में दो नाम फ़ील्ड जोड़ते हैं? क्या आप एकवचन से बहुवचन में शब्दों को बदलने के लिए कोड में अतिरिक्त नियम जोड़ते हैं? क्या आप अन्य चाल का उपयोग करते हैं?

एक परियोजना पर काम करते समय एकवचन और बहुवचन रूपों को ट्रैक करने की आवश्यकता होती है, तो आप इससे कैसे निपटते हैं?

+0

आईआईआरसी अरबी में एकवचन, डबल, और फिर केवल (अधिक?) बहुवचन के लिए विशेष रूप हैं! : एस –

+0

विभिन्न भाषाओं में काफी अलग बहुवचन रूप हैं। देखें: http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html – SimonSimCity

उत्तर

9

मैं सामान्य रूप में gettext और विशेष रूप से ngettext पर एक नज़र लेने की सलाह देते हैं। हो सकता है कि आप अपने आवेदन का अनुवाद नहीं करेंगे। बस this part of the documentation पर जाएं। इसमें कम से कम सभी भाषाओं के लिए कार्यान्वयन है और यहां तक ​​कि यदि आपकी पसंद की भाषा में इस सहायता की कमी है, तो कुछ भी आपको विचारों को उधार लेने से रोकता है।

+0

लेकिन डेटाबेस में संग्रहीत उत्पाद नामों के बारे में कैसे? –

+1

वही बात - एकवचन/बहुवचन जोड़ों को संग्रहित करना। और, अनुवाद के मामले में (जो आपका मामला नहीं है या है?) आपको केवल यह सुनिश्चित करना होगा कि वे या तो .po में डाल दिए गए हैं यदि आप गेटटेक्स्ट का उपयोग करते हैं या समान एल्गोरिदम का उपयोग करते हैं और इसे कहीं और स्टोर करते हैं (बेशक यह कोई नहीं बनाता है हजारों उत्पादों को .po फ़ाइल में डालने का अर्थ)। –

+0

बस डेटाबेस-संग्रहीत उत्पाद नामों के साथ एक और समस्या के बारे में सोचा - बहुवचन/एकवचन रूप को संभालना बहुत आसान है, लेकिन जब अनुवाद की बात आती है तो मामलों में समस्या होगी। और नामांकित करने के लिए चिपकने की कोशिश कर रहे हैं 'उत्पादों की संख्या: एन' के रूप में लगभग अजीब हो सकता है। –

0
Number of products: 1 
Number of products: 4 
Number of products: FILE_NOT_FOUND 

मात्रात्मक डेटा रिपोर्ट करने के लिए प्राकृतिक भाषा का प्रयोग करने की कोशिश कर सिर्फ एक परेशानी का बहुत अधिक है।

+0

हाँ, मुझे पता है। :-) बस मुझे हास्य करें और उस उत्पाद के रिपोर्टिंग इंजन में एक महत्वपूर्ण आवश्यकता के रूप में सोचें जिस पर आप काम कर रहे हैं। –

+3

और जब से परेशानी का बहुत अधिक होना मानव जाति को रोक दिया है? –

+0

एएएस ... अब मैं "मानव जाति" के बहुवचन रूप के बारे में सोचना बंद नहीं कर सकता ... "मानव जाति" शायद? ;-) –

-4

अंग्रेजी अनुप्रयोगों के साथ यह एकमात्र स्टोर करने और बयान के समूह का उपयोग करके बहुवचन बनाने के लिए सबसे आसान और सबसे प्रभावी है।

if(count > 1){ 
    suffix = 's'; 
} 
+6

-1 बसें, पूर्व छात्रों, आदि – MusiGenesis

1

आम तौर पर मैं फ़ॉर्मेटर किसी तरह का है, जो मान आप एक मानव पठनीय पाठ को प्रदर्शित करना चाहते हैं reformats के माध्यम से अपने पाठ भेजना होगा। यह आपके "उत्पाद" टेक्स्ट को भी संशोधित कर सकता है। जावा के लिए संदेशफॉर्मैट क्लास है, जो इस तरह के संशोधनों का समर्थन करता है। [1] पर उदाहरण देखें।

[1] http://java.sun.com/j2se/1.5.0/docs/api/java/text/MessageFormat.html

1

this पढ़ें और कार्यान्वित करें; जब आप पूरा कर लेंगे तो कुछ रिपोर्ट करें (कुछ सालों में)। निजी तौर पर, मैं (एस) दृष्टिकोण से संतुष्ट हूं;) (हालांकि यह कहने के बिना चला जाता है कि यह सभी भाषाओं के लिए काम नहीं करता है)।

+0

ठीक है, वह लिंक स्पष्ट रूप से एकवचन/बहुवचन शब्दों की जटिलता दिखाता है। यह भी दिखाता है कि रूपों की संख्या केवल एक से लेकर 6 अलग-अलग रूपों में भिन्न होती है! मुझे पहले से ही यह साइट पसंद है! :-) –

+2

एलेक्स, यह - http://translate.sourceforge.net/wiki/l10n/pluralforms - विभिन्न भाषाओं के लिए बहुवचन रूपों पर अधिक व्यापक संसाधन की तरह दिखता है। –

2

पर्ल में, यह Lingua::EN::Inflect द्वारा व्यापक रूप से हल किया गया है। यह एक बड़े शब्दकोश का उपयोग करता है और नियमों के सभी अपवादों को ध्यान से संभालता है। यह 'ए' या 'ए' जैसी चीजें भी करता है, और तुलना भी करता है!

गोरी के विवरण के लिए the paper देखें।

+1

इस संदर्भ के साथ एक समस्या यह है कि यह भाषा-अज्ञेयवादी नहीं है, इससे कोई फर्क नहीं पड़ता कि आप * भाषा * के रूप में क्या संदर्भित करते हैं ;-) दूसरी समस्या यह है कि समस्या संज्ञा के बहुवचन रूप से परे है, * यह * है पूरी वाक्य कहा जाता है (और वहां * ये बातें पूरी वाक्य कहलाती हैं)। –

+0

लेकिन मैं इसे एक दिलचस्प संदर्भ के रूप में ऊपर उठाता हूं;) –

+0

@hacker: आप बिल्कुल सही हैं - यह मॉड्यूल अंग्रेजी-विशिष्ट है। लेकिन यह उस भाषा को बहुत अच्छी तरह से संभालता है। –

0

बस एक अपडेट, CLDR अब भाषाओं के लिए बहुवचन नियम हैं और ICU में एक कार्यान्वयन है।

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