भाषा शोध: डायनॅमिक बहुभाषिक समर्थन
हा लेख स्पष्ट करतो की कसे आम्ही वापरकर्त्याच्या पसंतीच्या भाषेत स्वयंचलितपणे सामग्री शोधून देतो.
समस्या: जागतिक वापरकर्त्यांना सेवा देणे
वेगवेगळ्या देशांतील, वेगवेगळ्या भाषा बोलणारे वापरकर्ते आमच्याकडे येतात:
-
भारत: हिंदी, बंगाली, तमिळ, तेलुगू, गुजराती, मराठी, कन्नड, मल्याळम, पंजाबी, उर्दू
-
युरोप: जर्मन, फ्रेंच, स्पॅनिश, इटालियन, पोर्तुगीज, रशियन
-
आशिया: जपानी, कोरियन, चीनी
त्यांची भाषा प्राधान्ये शोधून आणि भाषांतरित सामग्री स्वयंचलितपणे दाखवणे आमच्यासाठी आवश्यक आहे.
शोध प्राधान्य क्रम
आम्ही अनेक स्त्रोत एका विशिष्ट क्रमाने तपासतो:
१. URL पॅरामीटर (?lang=hi)
२. सत्र (प्रथम शोधानंतर संग्रहित)
३. कुकी (translation_lang किंवा lang)
४. ब्राउझर स्वीकार-भाषा शीर्षलेख (भविष्यात)
५. डीफॉल्ट (इंग्रजी)
हा क्रम का?
URL पॅरामीटर प्रथम: स्पष्ट भाषा बदलण्याची परवानगी देतो
सत्र द्वितीय: ब्राउझिंग सत्रादरम्यान टिकून राहते
कुकी तृतीय: सत्रांमध्ये टिकून राहते (३० दिवस)
डीफॉल्ट शेवटचे: नवीन वापरकर्त्यांसाठी फॉलबॅक
अंमलबजावणी
def get_locale():
# 1. Check URL parameter
lang_param = request.args.get("lang")
if lang_param in valid_langs:
return lang_param
# 2. Check session
if "translation_lang" in session:
return session["translation_lang"]
# 3. Check cookie
# ... (implementation details omitted)
भाषा बदलणे
वापरकर्ते URL द्वारे भाषा बदलू शकतात:
/p/Treo-N100-8-256?lang=hi
हे ट्रिगर करते:
१. सत्र सेट करा: session["translation_lang"] = "hi"
२. कुकी सेट करा: translation_lang=hi; Max-Age=2592000 (३० दिवस)
३. पुनर्निर्देशित करा: URL मधून lang पॅरामीटर काढून टाका
फायदा: भाषा निवडीनंतर स्वच्छ URL
समर्थित भाषा
आम्ही २० भाषांना समर्थन देतो:
भारतीय भाषा (१०):
-
हिंदी (hi)
-
बंगाली (bn)
-
तमिळ (ta)
-
तेलुगू (te)
-
गुजराती (gu)
-
मराठी (mr)
-
कन्नड (kn)
-
मल्याळम (ml)
-
पंजाबी (pa)
-
उर्दू (ur)
युरोपियन भाषा (७):
-
जर्मन (de)
-
फ्रेंच (fr)
-
स्पॅनिश (es)
-
इटालियन (it)
-
पोर्तुगीज (pt)
-
रशियन (ru)
आशियाई भाषा (३):
-
जपानी (ja)
-
कोरियन (ko)
-
चीनी (zh)
सामग्री भाषांतर
वेगवेगळ्या प्रकारच्या सामग्रीसाठी वेगवेगळ्या भाषांतर पद्धती वापरल्या जातात:
स्थिर टेम्पलेट्स (Flask-Babel)
नेव्हिगेशन, बटणे, लेबल्स .po फाइल्सद्वारे भाषांतरित:
{{ _('Add to Cart') }} → "कार्ट में जोड़ें" (Hindi)
डायनॅमिक सामग्री (TranslationManager)
उत्पादन नावे, वैशिष्ट्ये वाक्यांश तक्त्याद्वारे भाषांतरित:
"Mini PC" → "मिनी पीसी" (Hindi)
लांब सामग्री (DeepSeek AI)
उत्पादन वर्णने, लेख AI द्वारे भाषांतरित:
"Compact office computer..." → "कॉम्पैक्ट ऑफिस कंप्यूटर..." (Hindi)
पहा: तपशीलांसाठी Translation System
प्रादेशिक स्वरूपण
भाषा निवडीचा स्वरूपणावर देखील परिणाम होतो:
संख्या स्वरूप
इंग्रजी: 1,234.56
युरोपियन: 1.234,56 (उलटे विभाजक)
भारतीय: 1,23,456 (लाख/कोटी गटबंदन)
तारीख स्वरूप
इंग्रजी: Feb 18, 2026
युरोपियन: 18.02.2026
भारतीय: 18/02/2026
चलन
इंग्रजी: ₹1,234
युरोपियन: €1.234
आंतरराष्ट्रीय: $1,234
भाषा निवडक UI
वापरकर्ते ड्रॉपडाउनद्वारे भाषा बदलू शकतात:
स्थान: शीर्ष नेव्हिगेशन बार
प्रदर्शन: ध्वज चिन्ह + भाषेचे नाव
वर्तन: ?lang=<code> सह पृष्ठ पुन्हा लोड करा
SEO विचार
URL रचना
आम्ही सर्व भाषांसाठी एकच URL वापरतो (कोणतेही /hi/, /de/ उपसर्ग नाहीत):
फायदा: सोपी आर्किटेक्चर, डुप्लिकेट सामग्रीच्या समस्या नाहीत
तोटा: प्रति भाषा कमी SEO मूल्य
Hreflang टॅग
आम्ही पर्यायी भाषा दुवे जोडतो:
<link rel="alternate" hreflang="en" href="https://www.thinvent.in/p/Treo-N100">
<link rel="alternate" hreflang="hi" href="https://www.thinvent.in/p/Treo-N100?lang=hi">
<link rel="alternate" hreflang="de" href="https://www.thinvent.in/p/Treo-N100?lang=de">
फायदा: Google ला कोणता भाषा आवृत्ती दाखवायची हे माहिती होते
फॉलबॅक धोरण
निवडलेल्या भाषेसाठी भाषांतर गहाळ असल्यास:
१. इंग्रजी वापरा: बहुतेक सामग्रीची इंग्रजी आवृत्ती असते
२. मूळ दाखवा: काहीही नसल्यापेक्षा चांगले
३. भाषांतरासाठी रांगेत ठेवा: बॅच प्रक्रियेसाठी भाषांतर रांगेत जोडा
कार्यक्षमता
कॅशिंग
भाषांतरे स्मृतीत कॅश केली जातात:
वाक्यांश तक्ते: सुरूवातीस एकदाच लोड केले जातात
AI भाषांतरे: डेटाबेसमध्ये कॅश केली जातात
फायदा: प्रति विनंती भाषांतर ओव्हरहेड नाही
आळशी लोडिंग
भाषांतरे केवळ आवश्यकतेनुसार लोड केली जातात:
उत्पादन वर्णने: उत्पादन पृष्ठ दृश्यावर लोड केली जातात
क्वेरी पृष्ठ सामग्री: क्वेरी पृष्ठ दृश्यावर लोड केली जातात
फायदा: वेगवान प्रारंभिक पृष्ठ लोड
संदर्भ
तांत्रिक संकल्पना
-
आंतरराष्ट्रीयकरण (i18n) - विकिपीडिया
-
सामग्री वाटाघाटी - विकिपीडिया
लायब्ररी
-
Flask-Babel - टेम्पलेट भाषांतर
-
Babel - आंतरराष्ट्रीयकरण लायब्ररी
संबंधित लेख
-
Translation System - तीन-तंत्रज्ञान संकरित दृष्टीकोन
-
Content AI Generation - DeepSeek भाषांतरे
सारांश
भाषा शोध एक प्राधान्य प्रणाली वापरते:
शोध क्रम:
-
✅ URL पॅरामीटर (
?lang=hi) -
✅ सत्र (ब्राउझिंग दरम्यान)
-
✅ कुकी (३० दिवस)
-
✅ डीफॉल्ट (इंग्रजी)
समर्थित:
-
✅ २० भाषा (१० भारतीय, ७ युरोपियन, ३ आशियाई)
-
✅ प्रादेशिक स्वरूपण (संख्या, तारखा, चलन)
-
✅ SEO hreflang टॅग
भाषांतर पद्धती:
-
✅ Flask-Babel (स्थिर टेम्पलेट्स)
-
✅ TranslationManager (उत्पादन नावे, वैशिष्ट्ये)
-
✅ DeepSeek AI (वर्णने, लेख)
कार्यक्षमता:
-
✅ स्मृतीत कॅशिंग
-
✅ आळशी लोडिंग
-
✅ AI भाषांतरांसाठी डेटाबेस कॅशिंग
हे स्वयंचलित भाषा शोध आणि सहज बहुभाषिक अनुभव सक्षम करते.