वेब परियोजनाओं में बहुभाषावाद के लिए समर्थन - मूल कार्यान्वयन विकल्प


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

1. प्रत्येक भाषा के लिए फ़ील्ड बनाना


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

2. एक स्थानीयकरण तालिका बनाना


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

3. जटिल संरचना के क्रमबद्ध डेटा का उपयोग करना


कार्यान्वयन: क्रमबद्ध रूप में जानकारी प्रत्येक क्षेत्र में अनुवाद की आवश्यकता के लिए लिखी जाती है, उदाहरण के लिए, JSON, XML, बाइनरी आदि में। इस मामले में एक वस्तु हो सकती है, उदाहरण के लिए, एक शब्दकोश जिसमें कुंजी भाषा है, मान पाठ है। या कोई अन्य संरचना।
विशेषताएं: मुख्य विशेषता यह है कि डेटा की अखंडता न केवल डेटाबेस पर निर्भर करती है, बल्कि क्रमिक तंत्र पर भी निर्भर करती है। इसके अलावा, इस अवतार में, डेटाबेस का सामान्यीकरण भी बहुत कम हो जाता है।

4. प्रत्येक भाषा के लिए तालिका में अलग प्रविष्टि


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

5. डेटाबेस स्तर पर स्थानीयकरण का अभाव। बाहरी स्थानीयकरण उपकरण का उपयोग करना

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

6. प्रत्येक भाषा के लिए एक अनुवाद तालिका बनाना


VolCh द्वारा प्रस्तावित विकल्प।
कार्यान्वयन: प्रत्येक भाषा के लिए, डेटाबेस में एक अलग तालिका बनाई जाती है जिसमें अनुवाद की आवश्यकता होती है।
विशेषताएं: एक नई भाषा जोड़ते समय, आपको डेटाबेस में बदलाव करने की आवश्यकता होती है। बड़ी संख्या में समर्थित भाषाओं के साथ, तालिकाओं की संख्या बहुत बड़ी हो सकती है।

"स्थिर" पाठ जानकारी का संग्रहण

स्थिर पाठ जानकारी संग्रहीत करने के बारे में कुछ शब्द। इसके द्वारा मेरा मतलब है कि बटन लेबल, पाद लेख में जानकारी और एक प्रकार का शेष पाठ जो कि ज्यादातर मामलों में सामग्री प्रबंधक द्वारा नहीं बदला जाता है, और मोनोलिंगुअल साइटों को लागू करते समय इसे सीधे टेम्पलेट में दर्ज किया जाता है। ऐसे पाठ को संग्रहीत करने के लिए बहुभाषी साइट के मामले में, कई विकल्प हो सकते हैं:


अन्य विकल्प


यदि आप वर्णित लोगों के अलावा बहुभाषीवाद को लागू करने के लिए कोई अन्य विकल्प प्रदान करना चाहते हैं - मुझे लिखें और मैं उन्हें लेख में शामिल करूंगा।
इसके अलावा, यह जानना दिलचस्प होगा कि आपके पसंदीदा कार्यान्वयन विकल्प का चयन करते समय, ऊपर वर्णित लोगों के अलावा कौन से तर्क आपके लिए महत्वपूर्ण हैं।

उपयोगी जानकारी


Source: https://habr.com/ru/post/In192228/


All Articles