భాష గుర్తింపు: డైనమిక్ బహుభాషా మద్దతు
ఈ వ్యాసం వినియోగదారు యొక్క ఇష్టమైన భాషలో కంటెంట్ను మేము ఎలా స్వయంచాలకంగా గుర్తించి సర్వ్ చేస్తామో వివరిస్తుంది.
సమస్య: ప్రపంచ వినియోగదారులకు సేవ చేయడం
వినియోగదారులు వేర్వేరు దేశాల నుండి వేర్వేరు భాషలు మాట్లాడుతూ వస్తారు:
-
భారతదేశం: హిందీ, బెంగాలీ, తమిళం, తెలుగు, గుజరాతీ, మరాఠీ, కన్నడ, మలయాళం, పంజాబీ, ఉర్దూ
-
యూరప్: జర్మన్, ఫ్రెంచ్, స్పానిష్, ఇటాలియన్, పోర్చుగీస్, రష్యన్
-
ఆసియా: జపనీస్, కొరియన్, చైనీస్
మేము వారి భాష ప్రాధాన్యతను గుర్తించి, అనువదించిన కంటెంట్ను స్వయంచాలకంగా సర్వ్ చేయాలి.
గుర్తింపు ప్రాధాన్యత
మేము క్రమంలో బహుళ మూలాలను తనిఖీ చేస్తాము:
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 అనువాదాలు: డేటాబేస్లో క్యాచ్ చేయబడతాయి
ప్రయోజనం: ప్రతి అభ్యర్థనకు అనువాద ఓవర్హెడ్ లేదు
లేజీ లోడింగ్
అవసరమైనప్పుడు మాత్రమే అనువాదాలు లోడ్ చేయబడతాయి:
ఉత్పత్తి వివరణలు: ఉత్పత్తి పేజీ వీక్షణపై లోడ్ చేయబడతాయి
ప్రశ్న పేజీ కంటెంట్: ప్రశ్న పేజీ వీక్షణపై లోడ్ చేయబడతాయి
ప్రయోజనం: వేగవంతమైన ప్రారంభ పేజీ లోడ్
సూచనలు
సాంకేతిక భావనలు
-
Internationalization (i18n) - వికీపీడియా
-
Content negotiation - వికీపీడియా
లైబ్రరీలు
-
Flask-Babel - టెంప్లేట్ అనువాదం
-
Babel - అంతర్జాతీయ లైబ్రరీ
సంబంధిత వ్యాసాలు
-
Translation System - మూడు-టెక్నాలజీ హైబ్రిడ్ విధానం
-
Content AI Generation - DeepSeek అనువాదాలు
సారాంశం
భాష గుర్తింపు ప్రాధాన్యత వ్యవస్థను ఉపయోగిస్తుంది:
గుర్తింపు క్రమం:
-
✅ URL పరామితి (
?lang=hi) -
✅ సెషన్ (బ్రౌజింగ్ సమయంలో)
-
✅ కుకీ (30 రోజులు)
-
✅ డిఫాల్ట్ (ఇంగ్లీష్)
మద్దతు ఉంది:
-
✅ 20 భాషలు (10 భారతీయ, 7 యూరోపియన్, 3 ఆసియన్)
-
✅ ప్రాంతీయ ఫార్మాటింగ్ (సంఖ్యలు, తేదీలు, కరెన్సీ)
-
✅ SEO hreflang ట్యాగ్లు
అనువాద పద్ధతులు:
-
✅ Flask-Babel (స్టాటిక్ టెంప్లేట్లు)
-
✅ TranslationManager (ఉత్పత్తి పేర్లు, లక్షణాలు)
-
✅ DeepSeek AI (వివరణలు, వ్యాసాలు)
పనితీరు:
-
✅ ఇన్-మెమరీ క్యాచింగ్
-
✅ లేజీ లోడింగ్
-
✅ AI అనువాదాల కోసం డేటాబేస్ క్యాచింగ్
ఇది స్వయంచాలక భాష గుర్తింపు మరియు నిరంతర బహుభాషా అనుభవాన్ని ప్రారంభిస్తుంది.