2009-01-02 15 views
5

क्या आप सोचते हैं कि अंतरराष्ट्रीयकरण केवल कोड स्तर पर किया जाना चाहिए या इसे डेटाबेस में भी किया जाना चाहिए।डेटाबेस में अंतर्राष्ट्रीयकरण

क्या अंतर्राष्ट्रीयकरण डेटाबेस के लिए कोई डिज़ाइन पैटर्न या स्वीकृत प्रथाएं हैं?

यदि आपको लगता है कि यह एक कोड समस्या है तो क्या आप डेटाबेस से लौटाई गई कुंजी देखने के लिए संसाधन फ़ाइलों का उपयोग करते हैं?

धन्यवाद

उत्तर

4

अंतर्राष्ट्रीयकरण insofar के अपने स्तंभ के रूप में डेटाबेस के लिए प्रदान डेटा रखने के लिए सक्षम हो जाएगा। टेक्स्ट, चार, वर्कर के बजाय एनटेक्स्ट, एनसीएचआर, एनवार्चर।

जहां तक ​​आपका यूआई जाता है, गैर-बदलते लेबल के लिए, संसाधन फ़ाइलें उपयोग करने के लिए एक अच्छी विधि हैं।

1

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

2

यदि आप यूआई स्तर पर अपने ऐप को कई भाषाओं का समर्थन करने के लिए संदर्भित करते हैं, तो और अधिक संभावनाएं हैं। यदि लेबल कभी भी नहीं बदलते हैं, जब तक कि आप एक नया संस्करण जारी नहीं करते हैं, तब निष्पादन योग्य या असेंबली में एम्बेडेड संसाधन फ़ाइलें आपकी सर्वश्रेष्ठ शर्त होती हैं, क्योंकि वे तेज़ी से काम करते हैं। यदि आपके लेबल, दूसरी ओर, उपयोगकर्ताओं द्वारा रनटाइम पर समायोजित करने की आवश्यकता है, तो डेटाबेस में अनुवाद संग्रहीत करना एक अच्छा विकल्प है। जहां तक ​​कोड स्वयं है, डेटाबेस में & फ़ील्ड के नाम, हम उन्हें यथासंभव अंग्रेजी में रखते हैं, क्योंकि अंग्रेजी आईटी लोगों के लिए "वास्तविक तथ्य" मानक है।

0

@hova तकनीकीताओं को शामिल करता है, लेकिन कुछ ऐसा जो आप विचार करना चाहते हैं वह उस प्रणाली का समर्थन है जिसे आप समझ नहीं सकते हैं।

इसका सामना करने का एक तरीका अंग्रेजी को डिफ़ॉल्ट भाषा के रूप में रखना है, और एक उपयोगकर्ता सेटिंग जो एक अलग भाषा में स्विच करती है। इस तरह आपके समर्थन उपयोगकर्ता लॉग इन कर सकते हैं और सिस्टम को प्राकृतिक तरीके से देख सकते हैं (अंग्रेजी को अपनी पहली भाषा के रूप में मानते हुए), और आपके वास्तविक उपयोगकर्ता सिस्टम को अपनी पहली भाषा में देख सकते हैं। आईएमओ, उपयोगकर्ताओं की भाषा में डेटा हमेशा 'प्राकृतिक' होना चाहिए।

जो एक और दिलचस्प बिंदु उठाता है - क्या आपके सिस्टम को सीमा-सीमा प्रतिष्ठानों के लिए कई भाषाओं की अनुमति देनी चाहिए? मेरे अनुभव में, उपयोगकर्ता इंटरफ़ेस के लिए हाँ, लेकिन डेटा के लिए, नहीं। पता स्वरूपण का एक छोटा सा उदाहरण लेने के लिए, एक स्विस सिस्टम से फ्रांसीसी तीसरे पक्ष को एक पत्र में अभी भी फ्रांसीसी एक के बजाय स्विस प्रारूप का पता होना चाहिए, क्योंकि इसे पहले स्विस डाक प्रणाली से गुजरना है।

+0

दरअसल, आप पता स्वरूपण चीज़ के बारे में गलत हैं। अंतर्राष्ट्रीय डाक संघ की आवश्यकता है कि पते में आखिरी बात देश का नाम हो, और रेखांकित किया जाए। सभी स्विस डाक प्रणाली को देश का नाम पार्स करने की जरूरत है। –

0

यदि आपके ग्राहक जापानी हैं और कांजी और कटकाना (और कभी-कभी औपचारिक गाजी) में उनके नाम देखना चाहते हैं, तो आपको उन्हें यूनिकोड के रूप में स्टोर करना होगा। उसके चारों ओर कोई रास्ता नहीं।

0

यहां तक ​​कि अमेरिका और जापान के बीच पते जैसी चीजें बहुत अलग हैं। एक स्कीमा दोनों के लिए इसे काट नहीं देगा।

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