प्रदर्शन मुख्य कारण है। Gettext डेटाबेस का उपयोग नहीं कर रहा है क्योंकि डेटाबेस हमेशा फ़ाइल से काफी धीमा होगा। शब्दकोश का लोड समय बहुत महत्वपूर्ण है और इस कारण से लगभग हर कोई इसके लिए फाइलों का उपयोग कर रहा है। (जैसे नहीं संकलित .po
फ़ाइलें)
इसके अलावा, संकलित gettext फ़ाइलें (.mo
) स्मृति में और इस कारण वे सादा पाठ फ़ाइलों की तुलना में अधिक उपयुक्त हैं के लिए लोड करने के लिए अनुकूलित कर रहे हैं।
आप अनुवाद अनुवाद करने और पाठ फ़ाइलों को परिणामों को निर्यात करने के लिए हमेशा डेटाबेस प्लेटफ़ॉर्म का उपयोग कर सकते हैं, जो डेटाबेस बैकएंड का उपयोग कर सकते हैं।उदाहरण: Pootle, Narro, Launchpad Rosetta, Transifex (hosted only)।
स्थानीयकरण डेटाबेस के साथ अपनी एप्लिकेशन भाषा फ़ाइलों को भ्रमित न करें। आपके एप्लिकेशन को फ़ाइल आधारित शब्दकोशों का उपयोग करना चाहिए जो लोड करने के लिए तेज़ हैं और आपके स्थानीयकरण सिस्टम को शायद डेटाबेस का उपयोग करना होगा और तार्किक रूप से फ़ाइलों को डेटा निर्यात करने में सक्षम होना चाहिए।
वैसे, gettext
का उपयोग संभवतः स्थानीयकरण के बारे में सबसे अच्छा तकनीकी निर्णय लेने में सक्षम हो सकता है। मैंने कभी भी वाणिज्यिक समाधान या इन-हाउस विकसित नहीं किया है ताकि सुविधाओं, उपकरणों और यहां तक कि समर्थन पर प्रतिस्पर्धा करने में सक्षम हो सके। संस्करण नियंत्रण के लिए
"एक डेटाबेस हमेशा फ़ाइल से काफी धीमा होगा" [उद्धरण-आवश्यक] - esp। इन-मेमोरी टेबल और आईओ-व्यस्त डिस्क के लिए, यह झूठी होती है। – Piskvor
आप यह मानना भूल जाते हैं कि यह फ़ाइल भी स्मृति में लोड की जा सकती है। और '.mo' फ़ाइल विशेष रूप से बेहतर है क्योंकि इसमें पहले से ही हैश टेबल है, इसलिए जब आप इसे लोड करते हैं तो स्ट्रिंग को भी हैश करने की आवश्यकता नहीं होती है। – sorin