भाषा शोध: डायनॅमिक बहुभाषिक समर्थन

हा लेख स्पष्ट करतो की कसे आम्ही वापरकर्त्याच्या पसंतीच्या भाषेत स्वयंचलितपणे सामग्री शोधून देतो.

समस्या: जागतिक वापरकर्त्यांना सेवा देणे

वेगवेगळ्या देशांतील, वेगवेगळ्या भाषा बोलणारे वापरकर्ते आमच्याकडे येतात:

  • भारत: हिंदी, बंगाली, तमिळ, तेलुगू, गुजराती, मराठी, कन्नड, मल्याळम, पंजाबी, उर्दू

  • युरोप: जर्मन, फ्रेंच, स्पॅनिश, इटालियन, पोर्तुगीज, रशियन

  • आशिया: जपानी, कोरियन, चीनी

त्यांची भाषा प्राधान्ये शोधून आणि भाषांतरित सामग्री स्वयंचलितपणे दाखवणे आमच्यासाठी आवश्यक आहे.

शोध प्राधान्य क्रम

आम्ही अनेक स्त्रोत एका विशिष्ट क्रमाने तपासतो:

१. 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 भाषांतरे: डेटाबेसमध्ये कॅश केली जातात

फायदा: प्रति विनंती भाषांतर ओव्हरहेड नाही

आळशी लोडिंग

भाषांतरे केवळ आवश्यकतेनुसार लोड केली जातात:

उत्पादन वर्णने: उत्पादन पृष्ठ दृश्यावर लोड केली जातात

क्वेरी पृष्ठ सामग्री: क्वेरी पृष्ठ दृश्यावर लोड केली जातात

फायदा: वेगवान प्रारंभिक पृष्ठ लोड

संदर्भ

तांत्रिक संकल्पना

लायब्ररी

  • Flask-Babel - टेम्पलेट भाषांतर

  • Babel - आंतरराष्ट्रीयकरण लायब्ररी

संबंधित लेख

सारांश

भाषा शोध एक प्राधान्य प्रणाली वापरते:

शोध क्रम:

  • ✅ URL पॅरामीटर (?lang=hi)

  • ✅ सत्र (ब्राउझिंग दरम्यान)

  • ✅ कुकी (३० दिवस)

  • ✅ डीफॉल्ट (इंग्रजी)

समर्थित:

  • ✅ २० भाषा (१० भारतीय, ७ युरोपियन, ३ आशियाई)

  • ✅ प्रादेशिक स्वरूपण (संख्या, तारखा, चलन)

  • ✅ SEO hreflang टॅग

भाषांतर पद्धती:

  • ✅ Flask-Babel (स्थिर टेम्पलेट्स)

  • ✅ TranslationManager (उत्पादन नावे, वैशिष्ट्ये)

  • ✅ DeepSeek AI (वर्णने, लेख)

कार्यक्षमता:

  • ✅ स्मृतीत कॅशिंग

  • ✅ आळशी लोडिंग

  • ✅ AI भाषांतरांसाठी डेटाबेस कॅशिंग

हे स्वयंचलित भाषा शोध आणि सहज बहुभाषिक अनुभव सक्षम करते.


← दस्तऐवजीकरण अनुक्रमणिका परत जा