2009-12-11 14 views
8

गेटटेक्स्ट का उपयोग करके एकाधिक संख्यात्मक चर के साथ वाक्य को अनुवाद करने योग्य कैसे बनाया जाना चाहिए? ngettext केवल बहुवचन पैरामीटर के रूप में एक संख्या लेता है।दो बहुवचन शब्दों के साथ अंतर्राष्ट्रीयकरण वाक्य

नीचे दिए गए वाक्य में अनुमति देने वाले क्रमिक क्रम "वयस्क और बच्चे", "वयस्क और बच्चे", "वयस्क और बच्चे" और "वयस्क और बच्चे" हैं।

"#NUMADULTS वयस्क और बच्चे के लिए #NUMCHILDREN #AVAILABILITYTO को #AVAILABILITYFROM से"

उत्तर

8

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

याद रखें कि एकाधिक चर और शैली (नर/मादा) भी बहुत जटिलता जोड़ती है।

समाधान केवल सरल वाक्य उत्पन्न करना है जहां आपके पास केवल एक चर है। यह वह मामला है जो ngettext द्वारा समर्थित है।

समझें कि ngettext कुछ बढ़िया है और यह ऐसा कुछ है जो बग सॉफ्टवेयर कंपनियों से सबसे वाणिज्यिक i18n ढांचे का समर्थन भी नहीं करता है। यहां तक ​​कि इसकी सीमाएं भी हैं, इसलिए जल्द ही आपके प्रश्न का समाधान आपकी जटिल वाक्य को कई सरल तरीकों से विभाजित करता है जिसका अनुवाद केवल एक चर का उपयोग करके किया जा सकता है।

+0

मैं सिर्फ यह जोड़ना चाहता हूं कि यहां तक ​​कि केवल एक बहुवचन रूप है, तो इसे करने के इस तरीके के लिए 4 तारों की आवश्यकता होगी। दोनों भागों के लिए एकवचन, दोनों भागों के बहुवचन के लिए, पहला एकवचन और दूसरा बहुवचन, और एक दूसरे के लिए एक के लिए। गेटटेक्स्ट इसका समर्थन भी नहीं करता है, और कुछ ऐसा करने के लिए उपयोग करना बहुत जटिल होगा। –

+0

मैं उम्मीद कर रहा था कि यह जवाब नहीं होगा लेकिन सोचा कि यह हो सकता है :) – dsas

+1

यह असंभव नहीं है, इसे संदेशों में घोंसले के कई स्तरों का उपयोग करके आसानी से किया जा सकता है, यह दृष्टिकोण आईसीयू का उपयोग करता है। ngettext बहुत अच्छा नहीं है, यह कम है क्योंकि यह केवल एक स्तर घोंसले की अनुमति देता है ताकि यह केवल एक चर पर चयन को संभाला जा सके। वाक्य को कई लोगों में विभाजित करने की सलाह एक बुरी है लेकिन गेटटेक्स्ट के साथ यह एकमात्र संभव है। आप अपने कोड में ए + बी + सी के रूप में भागों में शामिल हो जाते हैं, लेकिन एक लक्षित भाषा में यह गलत है और सी + ए + बी होना चाहिए या सी शॉउड का हिस्सा पहले जाना चाहिए। –

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