ભાષા શોધ: ડાયનેમિક મલ્ટીલિંગ્યુલ સપોર્ટ
આ લેખ સમજાવે છે કે કેવી રીતે અમે યુઝરની પસંદગીની ભાષા સ્વચાલિત રીતે શોધીએ છીએ અને સામગ્રી સર્વ કરીએ છીએ.
સમસ્યા: વૈશ્વિક યુઝર્સને સર્વ કરવા
યુઝર્સ વિવિધ દેશોમાંથી આવે છે અને વિવિધ ભાષાઓ બોલે છે:
-
ભારત: હિન્દી, બંગાળી, તમિલ, તેલુગુ, ગુજરાતી, મરાઠી, કન્નડ, મલયાલમ, પંજાબી, ઉર્દૂ
-
યુરોપ: જર્મન, ફ્રેંચ, સ્પેનિશ, ઇટાલિયન, પોર્ટુગીઝ, રશિયન
-
એશિયા: જાપાનીઝ, કોરિયન, ચાઇનીઝ
અમારે તેમની ભાષાની પસંદગી શોધવી અને અનુવાદિત સામગ્રી સ્વચાલિત રીતે સર્વ કરવાની જરૂર છે.
શોધ પ્રાથમિકતા
અમે ક્રમમાં બહુવિધ સ્રોતો તપાસીએ છીએ:
1. URL પેરામીટર (?lang=hi)
2. સેશન (પ્રથમ શોધ પછી સંગ્રહિત)
3. કૂકી (translation_lang અથવા lang)
4. બ્રાઉઝર એક્સેપ્ટ-લેંગ્વેજ હેડર (ભવિષ્યમાં)
5. ડિફૉલ્ટ (અંગ્રેજી)
આ ક્રમ શા માટે?
URL પેરામીટર પ્રથમ: સ્પષ્ટ ભાષા સ્વિચિંગની મંજૂરી આપે છે
સેશન બીજું: બ્રાઉઝિંગ સેશન દરમિયાન ટકી રહે છે
કૂકી ત્રીજું: સેશન્સ વચ્ચે ટકી રહે છે (30 દિવસ)
ડિફૉલ્ટ છેલ્લું: નવા યુઝર્સ માટે ફૉલબેક
અમલીકરણ
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
આ ટ્રિગર કરે છે:
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..." → "કોમ્પેક્ટ ઓફિસ કમ્પ્યુટર..." (ગુજરાતી)
જુઓ: 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 જાણે છે કે કઈ ભાષાનું વર્ઝન બતાવવું
ફૉલબેક વ્યૂહરચના
જો પસંદ કરેલી ભાષા માટે અનુવાદ ખૂટે છે:
1. અંગ્રેજી આજમાવો: મોટાભાગની સામગ્રીમાં અંગ્રેજી વર્ઝન હોય છે
2. મૂળ બતાવો: કંઈ નહીં તેના કરતાં વધુ સારું
3. અનુવાદ માટે કતારમાં મૂકો: બેચ પ્રોસેસિંગ માટે અનુવાદ કતારમાં ઉમેરો
પરફોર્મન્સ
કેશિંગ
અનુવાદ મેમરીમાં કેશ કરવામાં આવે છે:
ફ્રેઝ ટેબલ્સ: સ્ટાર્ટઅપ પર એક વાર લોડ કરવામાં આવે છે
AI અનુવાદો: ડેટાબેઝમાં કેશ કરવામાં આવે છે
ફાયદો: પ્રતિ રિક્વેસ્ટ અનુવાદ ઓવરહેડ નહીં
લેઝી લોડિંગ
અનુવાદો ફક્ત જરૂર પડ્યે લોડ થાય છે:
ઉત્પાદન વર્ણનો: ઉત્પાદન પેજ વ્યૂ પર લોડ થાય છે
ક્વેરી પેજ કન્ટેન્ટ: ક્વેરી પેજ વ્યૂ પર લોડ થાય છે
ફાયદો: ઝડપી પ્રારંભિક પેજ લોડ
સંદર્ભો
તકનીકી ખ્યાલો
-
Internationalization (i18n) - Wikipedia
-
Content negotiation - Wikipedia
લાઇબ્રેરીઓ
-
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 અનુવાદો માટે ડેટાબેઝ કેશિંગ
આ સ્વચાલિત ભાષા શોધ અને સીમલેસ મલ્ટીલિંગ્યુલ અનુભવને સક્ષમ કરે છે.