மொழி கண்டறிதல்: மாறும் பன்மொழி ஆதரவு
இந்த கட்டுரை பயனரின் விருப்ப மொழியில் உள்ளடக்கத்தை எவ்வாறு தானாகவே கண்டறிந்து வழங்குகிறோம் என்பதை விளக்குகிறது.
சிக்கல்: உலகளாவிய பயனர்களுக்கு சேவை செய்தல்
பயனர்கள் வெவ்வேறு நாடுகளில் இருந்து வெவ்வேறு மொழிகளை பேசுகிறார்கள்:
-
இந்தியா: இந்தி, வங்காளம், தமிழ், தெலுங்கு, குஜராத்தி, மராத்தி, கன்னடம், மலையாளம், பஞ்சாபி, உருது
-
ஐரோப்பா: ஜெர்மன், பிரெஞ்சு, ஸ்பானிஷ், இத்தாலியன், போர்த்துகீசியம், ரஷ்யன்
-
ஆசியா: ஜப்பானியம், கொரியன், சீனம்
அவர்களின் மொழி விருப்பத்தை கண்டறிந்து மொழிபெயர்க்கப்பட்ட உள்ளடக்கத்தை தானாகவே வழங்க வேண்டும்.
கண்டறியும் முன்னுரிமை
பல்வேறு மூலங்களை வரிசையாக சரிபார்க்கிறோம்:
1. URL அளவுரு (?lang=hi)
2. அமர்வு (முதல் கண்டறிதலுக்குப் பிறகு சேமிக்கப்படுகிறது)
3. குக்கீ (translation_lang அல்லது lang)
4. உலாவி Accept-Language தலைப்பு (எதிர்காலம்)
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 அளவுருவை அகற்று
நன்மை: மொழி தேர்வுக்குப் பிறகு சுத்தமான URLs
ஆதரவு தரும் மொழிகள்
நாங்கள் 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..." → "कॉम्पैक्ट ऑफिस कंप्यूटर..." (இந்தி)
பார்க்க: விவரங்களுக்கு மொழிபெயர்ப்பு அமைப்பு
பிராந்திய வடிவமைப்பு
மொழி தேர்வு வடிவமைப்பையும் பாதிக்கிறது:
எண் வடிவம்
ஆங்கிலம்: 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 க்குத் தெரியும்
காப்பு வழி உத்தி
தேர்ந்தெடுக்கப்பட்ட மொழிக்கு மொழிபெயர்ப்பு காணவில்லை என்றால்:
1. ஆங்கிலத்தை முயற்சிக்கவும்: பெரும்பாலான உள்ளடக்கத்தில் ஆங்கில பதிப்பு உள்ளது
2. அசலைக் காட்டு: எதுவுமில்லாமல் இருப்பதை விட சிறந்தது
3. மொழிபெயர்ப்புக்காக வரிசையில் வைக்கவும்: தொகுதி செயலாக்கத்திற்காக மொழிபெயர்ப்பு வரிசையில் சேர்க்கவும்
செயல்திறன்
தற்காலிக சேமிப்பு
மொழிபெயர்ப்புகள் நினைவகத்தில் தற்காலிகமாக சேமிக்கப்படுகின்றன:
சொற்றொடர் அட்டவணைகள்: துவக்கத்தில் ஒருமுறை ஏற்றப்படும்
AI மொழிபெயர்ப்புகள்: தரவுத்தளத்தில் தற்காலிகமாக சேமிக்கப்படுகின்றன
நன்மை: கோரிக்கைக்கு மொழிபெயர்ப்பு மேல்நிலை இல்லை
சோம்பேறி ஏற்றம்
மொழிபெயர்ப்புகள் தேவைப்படும் போது மட்டுமே ஏற்றப்படுகின்றன:
தயாரிப்பு விளக்கங்கள்: தயாரிப்புப் பக்கக் காட்சியில் ஏற்றப்படும்
வினவல் பக்கம் உள்ளடக்கம்: வினவல் பக்கக் காட்சியில் ஏற்றப்படும்
நன்மை: வேகமான ஆரம்பப் பக்க ஏற்றம்
குறிப்புகள்
தொழில்நுட்ப கருத்துகள்
-
சர்வதேசமயமாக்கல் (i18n) - விக்கிபீடியா
-
உள்ளடக்க பேரம் - விக்கிபீடியா
நூலகங்கள்
-
Flask-Babel - டெம்ப்ளேட் மொழிபெயர்ப்பு
-
Babel - சர்வதேசமயமாக்கல் நூலகம்
தொடர்புடைய கட்டுரைகள்
-
மொழிபெயர்ப்பு அமைப்பு - மூன்று-தொழில்நுட்ப கலப்பு அணுகுமுறை
-
உள்ளடக்க AI உருவாக்கம் - DeepSeek மொழிபெயர்ப்புகள்
சுருக்கம்
மொழி கண்டறிதல் ஒரு முன்னுரிமை அமைப்பைப் பயன்படுத்துகிறது:
கண்டறியும் வரிசை:
-
✅ URL அளவுரு (
?lang=hi) -
✅ அமர்வு (உலாவும் போது)
-
✅ குக்கீ (30 நாட்கள்)
-
✅ இயல்புநிலை (ஆங்கிலம்)
ஆதரவு தரும்:
-
✅ 20 மொழிகள் (10 இந்திய, 7 ஐரோப்பிய, 3 ஆசிய)
-
✅ பிராந்திய வடிவமைப்பு (எண்கள், தேதிகள், நாணயம்)
-
✅ SEO hreflang குறிச்சொற்கள்
மொழிபெயர்ப்பு முறைகள்:
-
✅ Flask-Babel (நிலையான டெம்ப்ளேட்டுகள்)
-
✅ TranslationManager (தயாரிப்பு பெயர்கள், அம்சங்கள்)
-
✅ DeepSeek AI (விளக்கங்கள், கட்டுரைகள்)
செயல்திறன்:
-
✅ நினைவகத்தில் தற்காலிக சேமிப்பு
-
✅ சோம்பேறி ஏற்றம்
-
✅ AI மொழிபெயர்ப்புகளுக்கான தரவுத்தள தற்காலிக சேமிப்பு
இது தானியங்கி மொழி கண்டறிதல் மற்றும் மென்மையான பன்மொழி அனுபவத்தை சாத்தியமாக்குகிறது.