மொழி கண்டறிதல்: மாறும் பன்மொழி ஆதரவு

இந்த கட்டுரை பயனரின் விருப்ப மொழியில் உள்ளடக்கத்தை எவ்வாறு தானாகவே கண்டறிந்து வழங்குகிறோம் என்பதை விளக்குகிறது.

சிக்கல்: உலகளாவிய பயனர்களுக்கு சேவை செய்தல்

பயனர்கள் வெவ்வேறு நாடுகளில் இருந்து வெவ்வேறு மொழிகளை பேசுகிறார்கள்:

  • இந்தியா: இந்தி, வங்காளம், தமிழ், தெலுங்கு, குஜராத்தி, மராத்தி, கன்னடம், மலையாளம், பஞ்சாபி, உருது

  • ஐரோப்பா: ஜெர்மன், பிரெஞ்சு, ஸ்பானிஷ், இத்தாலியன், போர்த்துகீசியம், ரஷ்யன்

  • ஆசியா: ஜப்பானியம், கொரியன், சீனம்

அவர்களின் மொழி விருப்பத்தை கண்டறிந்து மொழிபெயர்க்கப்பட்ட உள்ளடக்கத்தை தானாகவே வழங்க வேண்டும்.

கண்டறியும் முன்னுரிமை

பல்வேறு மூலங்களை வரிசையாக சரிபார்க்கிறோம்:

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 மொழிபெயர்ப்புகள்: தரவுத்தளத்தில் தற்காலிகமாக சேமிக்கப்படுகின்றன

நன்மை: கோரிக்கைக்கு மொழிபெயர்ப்பு மேல்நிலை இல்லை

சோம்பேறி ஏற்றம்

மொழிபெயர்ப்புகள் தேவைப்படும் போது மட்டுமே ஏற்றப்படுகின்றன:

தயாரிப்பு விளக்கங்கள்: தயாரிப்புப் பக்கக் காட்சியில் ஏற்றப்படும்

வினவல் பக்கம் உள்ளடக்கம்: வினவல் பக்கக் காட்சியில் ஏற்றப்படும்

நன்மை: வேகமான ஆரம்பப் பக்க ஏற்றம்

குறிப்புகள்

தொழில்நுட்ப கருத்துகள்

நூலகங்கள்

  • Flask-Babel - டெம்ப்ளேட் மொழிபெயர்ப்பு

  • Babel - சர்வதேசமயமாக்கல் நூலகம்

தொடர்புடைய கட்டுரைகள்

சுருக்கம்

மொழி கண்டறிதல் ஒரு முன்னுரிமை அமைப்பைப் பயன்படுத்துகிறது:

கண்டறியும் வரிசை:

  • ✅ URL அளவுரு (?lang=hi)

  • ✅ அமர்வு (உலாவும் போது)

  • ✅ குக்கீ (30 நாட்கள்)

  • ✅ இயல்புநிலை (ஆங்கிலம்)

ஆதரவு தரும்:

  • ✅ 20 மொழிகள் (10 இந்திய, 7 ஐரோப்பிய, 3 ஆசிய)

  • ✅ பிராந்திய வடிவமைப்பு (எண்கள், தேதிகள், நாணயம்)

  • ✅ SEO hreflang குறிச்சொற்கள்

மொழிபெயர்ப்பு முறைகள்:

  • ✅ Flask-Babel (நிலையான டெம்ப்ளேட்டுகள்)

  • ✅ TranslationManager (தயாரிப்பு பெயர்கள், அம்சங்கள்)

  • ✅ DeepSeek AI (விளக்கங்கள், கட்டுரைகள்)

செயல்திறன்:

  • ✅ நினைவகத்தில் தற்காலிக சேமிப்பு

  • ✅ சோம்பேறி ஏற்றம்

  • ✅ AI மொழிபெயர்ப்புகளுக்கான தரவுத்தள தற்காலிக சேமிப்பு

இது தானியங்கி மொழி கண்டறிதல் மற்றும் மென்மையான பன்மொழி அனுபவத்தை சாத்தியமாக்குகிறது.


← ஆவணமாக்கல் குறியீட்டுக்குத் திரும்பு