భాష గుర్తింపు: డైనమిక్ బహుభాషా మద్దతు

ఈ వ్యాసం వినియోగదారు యొక్క ఇష్టమైన భాషలో కంటెంట్‌ను మేము ఎలా స్వయంచాలకంగా గుర్తించి సర్వ్ చేస్తామో వివరిస్తుంది.

సమస్య: ప్రపంచ వినియోగదారులకు సేవ చేయడం

వినియోగదారులు వేర్వేరు దేశాల నుండి వేర్వేరు భాషలు మాట్లాడుతూ వస్తారు:

  • భారతదేశం: హిందీ, బెంగాలీ, తమిళం, తెలుగు, గుజరాతీ, మరాఠీ, కన్నడ, మలయాళం, పంజాబీ, ఉర్దూ

  • యూరప్: జర్మన్, ఫ్రెంచ్, స్పానిష్, ఇటాలియన్, పోర్చుగీస్, రష్యన్

  • ఆసియా: జపనీస్, కొరియన్, చైనీస్

మేము వారి భాష ప్రాధాన్యతను గుర్తించి, అనువదించిన కంటెంట్‌ను స్వయంచాలకంగా సర్వ్ చేయాలి.

గుర్తింపు ప్రాధాన్యత

మేము క్రమంలో బహుళ మూలాలను తనిఖీ చేస్తాము:

1. URL పరామితి (?lang=hi)

2. సెషన్ (మొదటి గుర్తింపు తర్వాత నిల్వ చేయబడుతుంది)

3. కుకీ (translation_lang లేదా lang)

4. బ్రౌజర్ అక్సెప్ట్-లాంగ్వేజ్ హెడర్ (భవిష్యత్తులో)

5. డిఫాల్ట్ (ఇంగ్లీష్)

ఈ క్రమం ఎందుకు?

URL పరామితి మొదటి: స్పష్టమైన భాష మార్పిడిని అనుమతిస్తుంది

సెషన్ రెండవది: బ్రౌజింగ్ సెషన్ సమయంలో కొనసాగుతుంది

కుకీ మూడవది: సెషన్‌ల మధ్య కొనసాగుతుంది (30 రోజులు)

డిఫాల్ట్ చివరిది: కొత్త వినియోగదారులకు ఫాల్‌బ్యాక్

అమలు

def get_locale():
    # 1. URL పరామితిని తనిఖీ చేయండి
    lang_param = request.args.get("lang")
    if lang_param in valid_langs:
        return lang_param

    # 2. సెషన్‌ను తనిఖీ చేయండి
    if "translation_lang" in session:
        return session["translation_lang"]

    # 3. కుకీని తనిఖీ చేయండి
    # ... (అమలు వివరాలు తొలగించబడ్డాయి)

భాష మార్పిడి

వినియోగదారులు URL ద్వారా భాషను మార్చుకోవచ్చు:

/p/Treo-N100-8-256?lang=hi

ఇది ఈ క్రింది వాటిని ప్రేరేపిస్తుంది:

1. సెషన్ సెట్ చేయండి: session["translation_lang"] = "hi"

2. కుకీ సెట్ చేయండి: translation_lang=hi; Max-Age=2592000 (30 రోజులు)

3. రీడైరెక్ట్ చేయండి: URL నుండి lang పరామితిని తొలగించండి

ప్రయోజనం: భాష ఎంపిక తర్వాత క్లీన్ URLలు

మద్దతు ఉన్న భాషలు

మేము 20 భాషలకు మద్దతు ఇస్తాము:

భారతీయ భాషలు (10):

  • హిందీ (hi)

  • బెంగాలీ (bn)

  • తమిళం (ta)

  • తెలుగు (te)

  • గుజరాతీ (gu)

  • మరాఠీ (mr)

  • కన్నడ (kn)

  • మలయాళం (ml)

  • పంజాబీ (pa)

  • ఉర్దూ (ur)

యూరోపియన్ భాషలు (7):

  • జర్మన్ (de)

  • ఫ్రెంచ్ (fr)

  • స్పానిష్ (es)

  • ఇటాలియన్ (it)

  • పోర్చుగీస్ (pt)

  • రష్యన్ (ru)

ఆసియన్ భాషలు (3):

  • జపనీస్ (ja)

  • కొరియన్ (ko)

  • చైనీస్ (zh)

కంటెంట్ అనువాదం

విభిన్న కంటెంట్ రకాలు విభిన్న అనువాద పద్ధతులను ఉపయోగిస్తాయి:

స్టాటిక్ టెంప్లేట్లు (Flask-Babel)

నావిగేషన్, బటన్లు, లేబుల్లు .po ఫైల్‌ల ద్వారా అనువదించబడతాయి:

{{ _('Add to Cart') }}  → "कार्ट में जोड़ें" (హిందీ)

డైనమిక్ కంటెంట్ (TranslationManager)

ఉత్పత్తి పేర్లు, లక్షణాలు ఫ్రేజ్ టేబుల్‌ల ద్వారా అనువదించబడతాయి:

"Mini PC" → "मिनी पीसी" (హిందీ)

లాంగ్ కంటెంట్ (DeepSeek AI)

ఉత్పత్తి వివరణలు, వ్యాసాలు AI ద్వారా అనువదించబడతాయి:

"Compact office computer..." → "कॉम्पैक्ट ऑफिस कंप्यूटर..." (హిందీ)

చూడండి: 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">

ప్రయోజనం: గూగుల్‌కు ఏ భాష వెర్షన్ చూపించాలో తెలుసు

ఫాల్‌బ్యాక్ వ్యూహం

ఎంచుకున్న భాషకు అనువాదం లేకపోతే:

1. ఇంగ్లీష్ ప్రయత్నించండి: చాలా కంటెంట్‌కు ఇంగ్లీష్ వెర్షన్ ఉంటుంది

2. అసలు కంటెంట్ చూపించండి: ఏమీ లేకపోవడం కంటే మెరుగ్గా

3. అనువాదం కోసం క్యూలో ఉంచండి: బ్యాచ్ ప్రాసెసింగ్ కోసం అనువాద క్యూలో జోడించండి

పనితీరు

క్యాచింగ్

అనువాదాలు మెమరీలో క్యాచ్ చేయబడతాయి:

ఫ్రేజ్ టేబుల్‌లు: ప్రారంభంలో ఒకసారి లోడ్ చేయబడతాయి

AI అనువాదాలు: డేటాబేస్‌లో క్యాచ్ చేయబడతాయి

ప్రయోజనం: ప్రతి అభ్యర్థనకు అనువాద ఓవర్‌హెడ్ లేదు

లేజీ లోడింగ్

అవసరమైనప్పుడు మాత్రమే అనువాదాలు లోడ్ చేయబడతాయి:

ఉత్పత్తి వివరణలు: ఉత్పత్తి పేజీ వీక్షణపై లోడ్ చేయబడతాయి

ప్రశ్న పేజీ కంటెంట్: ప్రశ్న పేజీ వీక్షణపై లోడ్ చేయబడతాయి

ప్రయోజనం: వేగవంతమైన ప్రారంభ పేజీ లోడ్

సూచనలు

సాంకేతిక భావనలు

లైబ్రరీలు

  • Flask-Babel - టెంప్లేట్ అనువాదం

  • Babel - అంతర్జాతీయ లైబ్రరీ

సంబంధిత వ్యాసాలు

సారాంశం

భాష గుర్తింపు ప్రాధాన్యత వ్యవస్థను ఉపయోగిస్తుంది:

గుర్తింపు క్రమం:

  • ✅ URL పరామితి (?lang=hi)

  • ✅ సెషన్ (బ్రౌజింగ్ సమయంలో)

  • ✅ కుకీ (30 రోజులు)

  • ✅ డిఫాల్ట్ (ఇంగ్లీష్)

మద్దతు ఉంది:

  • ✅ 20 భాషలు (10 భారతీయ, 7 యూరోపియన్, 3 ఆసియన్)

  • ✅ ప్రాంతీయ ఫార్మాటింగ్ (సంఖ్యలు, తేదీలు, కరెన్సీ)

  • ✅ SEO hreflang ట్యాగ్‌లు

అనువాద పద్ధతులు:

  • ✅ Flask-Babel (స్టాటిక్ టెంప్లేట్లు)

  • ✅ TranslationManager (ఉత్పత్తి పేర్లు, లక్షణాలు)

  • ✅ DeepSeek AI (వివరణలు, వ్యాసాలు)

పనితీరు:

  • ✅ ఇన్-మెమరీ క్యాచింగ్

  • ✅ లేజీ లోడింగ్

  • ✅ AI అనువాదాల కోసం డేటాబేస్ క్యాచింగ్

ఇది స్వయంచాలక భాష గుర్తింపు మరియు నిరంతర బహుభాషా అనుభవాన్ని ప్రారంభిస్తుంది.


← డాక్యుమెంటేషన్ ఇండెక్స్‌కు తిరిగి వెళ్ళండి