5 पॉइंट द्वारा GN⁺ 2025-05-20 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • अगर वेब सेवाएँ दिखाने की भाषा IP location information से तय करती हैं, तो VPN, यात्रा, विदेश में रहने वाले और बहुभाषी देशों के users को अनचाही भाषा दिख सकती है
  • देश और भाषा का 1:1 संबंध नहीं होता: Belgium में 3, Switzerland में 4, India में 22 आधिकारिक भाषाएँ हैं, और Canada आधिकारिक रूप से bilingual देश है
  • ब्राउज़र OS या browser settings के आधार पर Accept-Language header भेजता है; उदाहरण: Accept-Language: en-US,en;q=0.9,de;q=0.8
  • बेहतर implementation में Accept-Language को प्राथमिकता दी जाती है, और user द्वारा खुद बदली गई भाषा को cookie या URL parameter में याद रखा जाता है
  • GeoIP को currency, shipping, legal requirements जैसे location की जरूरत वाले क्षेत्रों में इस्तेमाल करें; language selection के लिए न इस्तेमाल करना user preferences को कम distort करता है

IP location information भाषा preference नहीं बताती

  • IP address सिर्फ यह दिखाता है कि request कहाँ से आई है; यह नहीं बताता कि user कौन-सी भाषा चाहता है या समझता है
  • VPN, यात्रा, विदेश में रहना, और कई आधिकारिक भाषाओं वाले देशों में IP-based language selection आसानी से गलत हो जाता है
  • देश और भाषा का सीधा संबंध नहीं होता
    • Belgium: 3 आधिकारिक भाषाएँ
    • Switzerland: 4 आधिकारिक भाषाएँ
    • India: 22 आधिकारिक भाषाएँ
    • Canada: आधिकारिक रूप से bilingual है और अनौपचारिक रूप से multilingual environment है
  • VPN users को IP बदलने पर हर बार random भाषा दिख सकती है, और Google खोलते समय ऐसी भाषा दिखने के मामले भी हैं जिसे वे समझते नहीं
  • अगर गलत IP database को browser की language information से ऊपर प्राथमिकता दी जाए, तो user को अनचाही UI language मिलती है

ब्राउज़र के Accept-Language को प्राथमिकता देनी चाहिए

  • सभी ब्राउज़र user की preferred languages वाला Accept-Language header भेजते हैं
  • यह value location या IP पर नहीं, बल्कि OS या browser settings पर आधारित होती है
  • उदाहरण:
    • Accept-Language: en-US,en;q=0.9,de;q=0.8
  • reasonable processing flow सरल है
    • Accept-Language पढ़ें
    • उस value का सम्मान करें
    • जरूरत होने पर user को भाषा बदलने दें
    • बदली हुई choice को cookie या URL parameter में याद रखें
  • GeoIP की जरूरत हो भी तो उसे भाषा के बजाय currency, shipping, legal requirements जैसे क्षेत्रों तक सीमित रखना उचित है

1 टिप्पणियां

 
GN⁺ 2025-05-20
Hacker News की राय
  • Accept-Language को न मानना वाकई चिढ़ाने वाली बात है
    इससे भी बुरा यह है कि कई बहुभाषी साइटें भाषा बदलने वाला बटन और भाषाओं की सूची तक मौजूदा भाषा में translate कर देती हैं; यह इतना बेवकूफाना design है कि मकसद ही खत्म हो जाता है
    Wikipedia इसे सही तरीके से करता है। भाषा बदलने वाला बटन universal multilingual icon से साफ दिखता है, भाषाओं की सूची में हर भाषा का नाम उसी भाषा में दिखाया जाता है, आम तौर पर alphabetical order में रखा जाता है, और संभावित विकल्पों को ऊपर रखा जाता है
    उदाहरण के लिए English Wikipedia पेज Deutsch, Français, Nederlands जैसी recommended languages दिखाता है। भाषा को मनमाने ढंग से assume करने से सबको परेशानी होती है, इसलिए Wikipedia जैसा ही करना चाहिए

    • Search engine से मनचाहे पेज पर पहुंचने के बाद country selection modal खुलना, और country चुनते ही उस region वाली site के homepage पर भेज देना भी गुस्सा दिलाता है
      कुछ जगह close button होता है, लेकिन कई जगह नहीं होता, इसलिए और ज्यादा चिढ़ होती है
    • इसे “alphabetical order” कहना थोड़ा पेचीदा है। आज के English featured article में भाषा सूची देखी तो 中文, Italiano recommendations में दिखे, और बाकी भाषाएं geographic regions के हिसाब से grouped थीं; खास तौर पर alphabetical भी नहीं थीं
      Europe वाले हिस्से में शायद Cyrillic script का group है, लेकिन Қазақша Українська के बाद आता है; Kazakh के हिसाब से भी यह सही नहीं है, और Қ न जानने वालों के लिए भी unexpected हो सकता है। Chinese languages भी stroke order से sorted नहीं लगतीं, और Korean उसके नीचे है
      Wikipedia localization शानदार है, लेकिन भाषा के नाम को उसी भाषा में दिखाते समय “alphabetical sorting” कितनी अस्पष्ट हो जाती है, इस पर बस एक छोटा-सा जोड़ है
    • Wikipedia पिछला selection भी याद रखता है और उसे ऊपर ला देता है। यही user experience है। सच में मददगार और बिना झुंझलाहट पैदा किए
    • एकदम खराब example के तौर पर iPhone की YouTube app एक बार अचानक Amharic में बदल गई थी
      Google support document https://support.google.com/youtube/answer/87604 ने दबाने वाले buttons को English में समझाया था, लेकिन मुझे Amharic नहीं आती थी और उस समय यह भी नहीं पता था कि वह कौन-सी भाषा है। iPhone translation भी इस Ethiopian language को पहचान नहीं पाया
      सिर्फ एक universal multilingual icon होता तो इस मुश्किल स्थिति से आसानी से बचा जा सकता था
    • इस समस्या के दो स्तर हैं। कोई दूसरी European language आ जाए तो आम तौर पर “English” के बराबर शब्द को अंदाजे से ढूंढकर switch किया जा सकता है, इसलिए बड़ी दिक्कत नहीं होती
      लेकिन Bengali जैसी कोई अपरिचित script आ जाए तो समस्या बन जाती है
      इसलिए हर language selection menu में escape hatch के तौर पर English और Chinese को unlocalized form में रखना अच्छा हो सकता है। लगभग सभी web users menu में टटोलकर अपनी असली भाषा खोजने भर के लिए इन्हें पहचान सकते हैं
  • YouTube का video titles को settings वाली भाषा में auto-translate करने वाला “feature” भी नापसंद है। मुझे English समझ आती है, इसलिए ऐसी auto translation की जरूरत नहीं और यह सच में परेशान करती है

    • यह सिर्फ “English समझ आती है” से कहीं ज्यादा बुरा है
      अगर मुझे भाषा नहीं आती, तो शायद वह video मेरे लिए है ही नहीं। International audience को target करने वाले videos ज्यादातर English में होते हैं, या कम से कम creator ने खुद translation किया होता है
      Title छोटी line होती है, इसलिए translation के लिए जरूरी context कम होता है। Portuguese में Vamos assistir uma conexão com o passado जैसा title देखा था, जिसका literal translation “आओ अतीत से एक connection देखें” था, और दिमाग में reverse-translate करने पर पता चला कि original title Let's play A Link to the Past था
      Online material दूसरी भाषा practice करने के लिए भी अच्छा होता है, इसलिए काश मेरी क्षमता को कम न आंका जाए। कम से कम original text खुद पढ़ने दें, जरूरत हो तो Google Translate या dictionary इस्तेमाल कर सकता हूं
      मैं मानता हूं कि यह feature online content की accessibility बढ़ाता है, लेकिन अगर experience खराब करता है तो कम से कम इसे बंद करने का option होना चाहिए
    • मैं German हूं, लेकिन computer को English में set रखता हूं; कभी-कभी YouTube German videos या ads को auto-translate करके बेहद अजीब phrases और unnatural machine voice सुना देता है
      जैसे Lidl is worth it, ja!
    • सिर्फ titles ही नहीं, audio tracks भी समस्या हैं
      कुछ YouTubers जिन्हें मैं अक्सर देखता हूं, fan-made translated audio tracks से languages बढ़ा रहे हैं, और कभी-कभी English भी उनमें से एक होती है। ऐसे videos देखते समय original language के puns या छिपे अर्थ translation में गायब हो जाते हैं, इसलिए हर बार manually original language पर switch करना पड़ता है
      YouTube को Firefox और YouTube-related extensions पसंद नहीं हैं, इसलिए controls पूरी तरह load होने से पहले video शुरू हो जाता है, और language track बदलने के लिए कई बार rewind भी करना पड़ता है
      किसी और reply में मदद करने वाला extension link किया गया था, उसे try करने का सोच रहा हूं, लेकिन YouTube settings में “हमेशा original language इस्तेमाल करें” जैसा एक toggle न होना चिढ़ाता है। जब translated audio चाहिए होगा तो मैं खुद on कर सकता हूं, और मुझे कई languages कुछ हद तक आती हैं, इसलिए मेरे देखे जाने वाले content में ऐसे cases rare हैं
      अगर मकसद ad blocking रोकना या ads push करना होता तो कम से कम समझ आता, लेकिन यह बस गलत तरह से implemented “convenience” feature है। फिर भी लगता है किसी PM को इसके लिए तारीफ मिली होगी
    • लगता है YouTube algorithm इस feature का इस्तेमाल करने और “content accessibility” बढ़ाने वालों को reward करता है
      लेकिन अगर मेरे पढ़ सकने वाले English title की जगह बदसूरत machine-translated Norwegian title दिखता है, तो मेरे अनुभव में वह channel algorithm के पीछे भागने वाला low-quality channel होने का signal है, इसलिए मैं “इस channel को recommend न करें” दबा देता हूं
    • अब Google और Kagi के Reddit results भी translate होकर आते हैं, इसलिए लगता है कि मेरी भाषा में relevant answer मिल गया, लेकिन असल में वह English post का machine translation निकला होता है
  • ऐसे design में यह implicit assumption छिपा होता है कि “हर व्यक्ति सिर्फ़ एक ही भाषा समझता है”, इसलिए यह पसंद नहीं आता
    मैं आपकी भाषा आराम से पढ़ सकता हूँ, और आम तौर पर खराब localization के बजाय original language को prefer करता हूँ। इसलिए IP के आधार पर preferred language guess करना लगभग हमेशा गलत ही होगा
    Browser language settings के ज़रिए मैं पहले ही बता रहा हूँ कि कौन-सी भाषाएँ इस्तेमाल कर सकता हूँ, तो यह मानने की कोई वजह नहीं कि user इतना समझदार नहीं है कि उसे ठीक से सेट कर सके
    YouTube का default-on AI dubbing इससे भी खराब है। जो videos देखता हूँ उनमें से लगभग आधे खोलने के बाद settings में जाकर AI dubbing बंद करनी पड़ती है, फिर शुरुआत पर rewind करके दोबारा शुरू करना पड़ता है। इसमें बहुत समय नहीं लगता, लेकिन बेहद परेशान करता है

    • YouTube का AI dubbing सच में भयानक है। मुझे यह समझने में 5 मिनट लग गए कि जो audio सुनाई दे रहा था वह किसी दूसरे tab का अजीब ad नहीं, बल्कि video से ही आ रहा था
      Title का translated दिखना भी पसंद नहीं। जब video में बात English में हो रही हो लेकिन title किसी दूसरी भाषा में हो, तो बहुत अजीब लगता है
    • Google में Spanish को अपनी ज्ञात भाषाओं में से एक के रूप में सेट करने के बावजूद वह अब भी हर चीज़ को English में auto-translate कर देता है
      मेरी Spanish fluent नहीं है, लेकिन fluent होने का एक अच्छा तरीका original-language content consume करना है, और YouTube उसे मुश्किल बना देता है
  • सबसे ज़्यादा चिढ़ाने वाला Google है। उसे पता है मैं कौन हूँ, यह भी पता है कि मैं travel कर रहा हूँ, और मेरी language preference English है, फिर भी कुछ pages पर वह location-based language दिखाता है
    जब मैंने Google को मुझे track करने की अनुमति दी है, तो काश वह इसका इस्तेमाल ads के अलावा अच्छे user experience के लिए भी करे

    • Catalan users को Google account, system language या browser language में कहीं भी Spanish linked न होने पर भी जबरन Spanish मिलती है
      मैं US में रहता हूँ, फिर भी Google Catalan से जुड़े searches में भी Spanish results देने की कोशिश करता है। उदाहरण के लिए, वह Spanish Wikipedia को prefer करता है। Search engine का behavior साल-दर-साल ऊपर-नीचे हुआ है, लेकिन कभी अच्छा नहीं रहा
      यह उन बच्चों के लिए बड़ी समस्या है जो Spanish नहीं समझते, और Andorra सहित Spain के बाहर के Catalan-speaking इलाकों के लिए भी समस्या है
      Gemini Catalan content को आसानी से unsafe mark कर देता था और conversation आगे बढ़ाने से रोक देता था। “इस article को summarize करो” जैसे prompts पर भी ऐसा हुआ, हालांकि हाल में शायद बेहतर हुआ हो
      पुराना Google दुनिया की विविधता के प्रति संवेदनशील, ज़िम्मेदार बड़ी company का example था। आज भी कई teams की कोशिशों की सराहना करता हूँ, लेकिन साफ़ लगता है कि अब यह priority नहीं है
    • Google इस मामले में अजीब तरह से सबसे खराब है
      हाल में लगता है उसने Maps reviews में local language को English में auto-translate करना गलत मान लिया है। बाकी सभी भाषाओं को English में translate करता है, लेकिन सिर्फ़ इसलिए कि मैं उस region में रहता हूँ, मान लेता है कि मुझे local language भी आती होगी और English की ज़रूरत नहीं
      Search results में भी यही है। चूँकि मैं वहाँ लंबे समय से हूँ, वह मानता है कि मुझे ज़रूर local-language Wikipedia चाहिए। Local information ढूँढने के लिए local language में search करना पड़ता है, बस यही वजह होती है, लेकिन वह इसे preference signal समझ लेता है
      यह पूरे उस trend पर भी लागू होता है कि “software को smart होकर सभी preferences guess कर लेनी चाहिए।” Google इतनी लगातार नाकाम हो रहा है फिर भी यह जारी रखता है—इसे गलत corporate arrogance के अलावा किसी और तरह समझना मुश्किल है
    • इस मुद्दे पर एक Google developer से बहस हुई थी
      उसने कहा कि efficiency के लिए content rendering में stages होते हैं, और main page structure बनाते समय user information अभी उपलब्ध नहीं होती। लेकिन उस stage पर भी Accept-Language header तुरंत available होना चाहिए, इसलिए यह बात समझ में नहीं आती
    • सबसे खराब experience तब था जब मैं नए देश पहुँचा और Play Store ने local apps नहीं दिखाए, क्योंकि Google account पुराने देश से बंधा था
      Country बदलना आसान नहीं था, और पुराने country और उसके apps छोड़ने पड़े। मेरा आना-जाना कुछ ज़्यादा रहता है, इसलिए आखिरकार दूसरा phone खरीदकर नए देश के लिए account बनाना पड़ा
    • Google को पता है कि मैं UK में रहता हूँ और English बोलता हूँ, फिर भी Spanish hotel room के TV में login करके English YouTube videos देखने पर वह Spanish ads दिखाता है
      मज़ेदार बात यह है कि उसे अच्छी तरह पता होगा कि मैं उन्हें समझ नहीं पाता, फिर भी advertisers से charge कर सकता है, इसलिए शायद ऐसा करता रहता है
  • इससे कहीं ज़्यादा महत्वपूर्ण principle यह है कि content को user की भाषा में auto-translate मत करो
    जिस भाषा में data असल में मौजूद है, वही दिखा दो। User चाहे तो browser का “translate” button दबाने जितना समझदार है, और उस translation की quality बेहतर होने की संभावना भी ज़्यादा है
    English मेरी native language भी नहीं है, second language भी नहीं, लेकिन रोज़ काम में इस्तेमाल करने लायक अच्छी समझता हूँ। Original English version पढ़ने का button ढूँढने के लिए auto-translation के कूड़े के ढेर में नहीं भटकना चाहता
    अजीब बात है कि यह समस्या मुख्यतः English के साथ ही होती है। दूसरी भाषाओं की sites आम तौर पर ऐसा नहीं करतीं, और यही तथ्य अपने आप में काफी signal है कि foreign visitors इसे पसंद नहीं करते
    अगर किसी website पर machine translation इस्तेमाल करना चाहते हैं, तो publish करने से पहले सभी languages के लिए round-trip translation कर देखना चाहिए। Translate करें, result को फिर paste करें, और वापस original language में translate करें—तब लगभग दिख जाएगा कि आप क्या publish करने वाले थे। बेहतर है ऐसा न करें

    • Reddit का French में auto-translate करना पसंद नहीं है। Users की खास writing style को सही से इंसान द्वारा translate करना भी मुश्किल या असंभव होगा, लेकिन वह auto-translate कर देता है
      अगर English न भी आती हो, तो भी मुझे नहीं लगता कि वह translated content देखने लायक होगा
      Language बदलने या original text दिखाने वाला feature ढूँढना मुश्किल है, और यह इस पर निर्भर करता है कि आप app, mobile web या desktop web इस्तेमाल कर रहे हैं
      App download करवाने की इतनी कोशिश करना भी अलग समस्या है
    • Machine translation कुछ साल पहले से ही इतनी अच्छी हो चुकी है कि native speakers भी पहचान नहीं पाते
  • यह धारणा भी टूटी हुई है कि “सभी ब्राउज़र Accept-Language header भेजते हैं, यूज़र के OS या browser settings के आधार पर पसंदीदा भाषा बताते हैं, और यूज़र चाहे तो उसे बदल सकता है”
    सबसे पहले, Accept-Language एक क्रम वाली सूची है, लेकिन रोज़मर्रा में कई भाषाएँ इस्तेमाल करने वाले लोगों की अक्सर कोई पूर्ण प्राथमिकता-क्रम नहीं, बल्कि विषय के हिसाब से पसंद होती है
    किसी English news site का French translation version मौजूद हो, और भले ही यूज़र French में ज़्यादा दक्ष हो, फिर भी वह English version चाह सकता है
    इसलिए यूज़र अपनी वास्तविक पसंद के बजाय सबसे व्यावहारिक भाषा सेट कर देता है। मसलन, local non-English sites आम तौर पर international English sites की तुलना में कम चालाकी करती हैं, इसलिए भाषा को सिर्फ English पर सेट करने से पहले वाली sites English display के लिए मजबूर होती हैं और ज़्यादातर दूसरी sites पर कम असर पड़ता है
    बल्कि ऐसे मामलों में किसी French site का सारी preferences अनदेखी करके default तौर पर French version दिखा देना मददगार होता है
    आखिरकार इच्छा यही है कि site operators ज़्यादा होशियार बनने की कोशिश न करें और दूसरे version पर बदलने के लिए बहुत साफ़ और तेज़ interface दें। Wikipedia यह काफी ठीक से करता है

    • उपयोगी Accept-Language header को फेंकने के बजाय समाधान यह है कि आधे-अधूरे translation न दिए जाएँ
      अगर website multilingual है, तो उसे केवल पूरी तरह translate और verify किए गए translation sets ही देने चाहिए। UI और अपने content को कुछ भाषाओं में translate करना target customers के हिसाब से company के लिए मायने रख सकता है, लेकिन उस सबको maintain और sync भी करना होगा
      user content को छेड़ना नहीं चाहिए। “Spanish detect हुआ है। English automatic translation देखने के लिए click करें” जैसे button के नीचे help feature के रूप में रखने की स्थिति छोड़ दें, तो automatic translation नहीं करना चाहिए; और सच कहें तो वह भी browser पर छोड़ना बेहतर है
      Accept-Language से भाषा चुनें, और साथ में switch करने का तरीका दे दें
      Wikipedia असल में उसी content का translation देने के तरीके से काम नहीं करता। हर भाषा एक अलग instance है, और MediaWiki UI strings को छोड़ दें तो यह उसी document का translation नहीं, बल्कि अलग भाषा का अलग document है जिसमें कुछ overlap हो सकता है। Language entry का Dutch version यह दावा नहीं करता कि वह उसी article का Dutch translation है, और जानबूझकर अलग subdomain और path पर है
    • तकनीकी रूप से Accept-Language हर भाषा को “quality value” या weight assign कर सकता है: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/...
      मुझे लगता है browser और website, दोनों तरफ सुधार की काफी गुंजाइश है
      website को यूज़र को browser द्वारा request की गई भाषा override करने देनी चाहिए। browser को भी site-by-site “site default”, “system default language request”, “English request”, “Chinese request”, “Spanish request” वगैरह चुनने देना चाहिए
      सबसे अच्छा तरीका यह होगा कि site supported languages की list expose करे। उदाहरण के लिए इसे manifest.json में रखा जा सकता है: https://developer.mozilla.org/en-US/docs/Web/Progressive_web... format Map> जैसा हो सकता है
      भाषा चयन server नहीं, client side पर होना चाहिए
    • Accept-Language क्रम वाली सूची नहीं, बल्कि partial order list है
      अगर किसी English news site का French translation version होते हुए भी आप English version चाहते हैं, तो दोनों भाषाओं को समान priority पर रख दें
    • यह assumption कहाँ से आता है कि यूज़र अपनी वास्तविक पसंद नहीं, बल्कि सबसे व्यावहारिक भाषा specify करता है, समझ नहीं आता
      यह देखते हुए कि बहुत सारी, शायद लगभग सारी sites Accept-Language header का सम्मान ही नहीं करतीं, यह मानना मुश्किल है कि यूज़र यह setting चुनते समय अपने दिमाग में ऐसा game theory चला रहा है
  • एक बार मैंने government-related site पर accessibility और multilingual support implement करने वाला project संभाला था
    supported languages में से default चुनने के लिए Accept-Language इस्तेमाल किया था, लेकिन PM ने वह फैसला पलट दिया और English default force कर दिया
    accessibility auditor ने audit report में “Accept-Language usage” को red item के रूप में डाला, और जब उसे पता चला कि पहले ऐसा implement किया गया था और फिर वापस किया गया, तो उसने company को कड़ी फटकार लगाई
    इस और इसी तरह के दूसरे बेवकूफ़ी भरे फैसलों की वजह से contract work कुछ हफ़्ते और बढ़ गया

  • लगता है यह भाषा-संबंधी शिकायतें निकालने की जगह है, तो Apple TV को लेकर भी शिकायत है
    मेरे परिवार में ऐसे लोग हैं जो सिर्फ Japanese बोलते हैं और मेरा Apple account Finland का है। हम साथ में The Martian देखने की कोशिश कर रहे थे, लेकिन Japanese dubbed audio track साफ़ तौर पर मौजूद होने के बावजूद उसे select नहीं कर सके
    account country से असंबंधित options दिखाए ही नहीं जाते, और bypass करने के लिए पूरा Apple account किसी दूसरे country में बदलना पड़ता है
    लेकिन अगर active Apple TV subscription है, तो वह बदलाव भी नहीं किया जा सकता। नतीजा यह हुआ कि परिवार साथ में Apple TV देख ही नहीं सका

    • शायद यह licensing issue होगा। हो सकता है Japanese dub को Finland में play करने की अनुमति न हो। ऐसे में बेवकूफ़ी copyright law या lawyers की वजह से है
    • Finland में Netflix के साथ भी कुछ ऐसी ही अजीब बात थी
      अगर याद सही है, तो account language setting होती है, और Kim's Convenience देखने के लिए उसे English पर set करना पड़ता था। VPN की ज़रूरत नहीं, न ही यह claim करने की ज़रूरत कि आप किसी दूसरे country में हैं, लेकिन सही language set न हो तो content छिपा दिया जाता है
      Finnish UI में English subtitles के साथ content देखने पर भी ऐसा ही था
  • विदेश में होने पर यह वाकई बेतुका लगता है, और अपने देश में भी, programming docs जैसी जगहों पर जहाँ localized version बराबरी का नहीं होता, यह चिढ़ाता है
    आदर्श स्थिति में भी मैं शायद English original को ही पसंद करूँगा, और असल में तो अक्सर यह machine translation होता है, इसलिए और भी खराब
    हाल में एक और बेहद परेशान करने वाली चीज़ ज्यादा दिख रही है: search results में content का machine-translated version आना। Reddit अब ऐसा करता है, और यह सचमुच भयानक है
    non-English search terms इस्तेमाल करने की एक मुख्य वजह non-English results पाना होती है। जैसे, ऐसे topics की जानकारी ढूँढना जो दुनिया भर में लागू नहीं होते

    • ऐसा लगता है जैसे Reddit product team ने यह feature बनाते हुए खुद को monolingual users मान लिया हो और अमेरिकी राष्ट्रगान गुनगुना रही हो
      दुनिया के बाकी लोग कई भाषाएँ अच्छी तरह समझ सकते हैं
    • हाल में Mongo docs की वजह से काफी बुरी तरह frustrated हूँ
      यह location-based है या Accept-Language-based, मैंने टेस्ट नहीं किया, लेकिन इसका behavior सच में गुस्सा दिलाता है
      web search करने पर English version result आता है, और खोलते ही जैसे ही JavaScript load होता है, वह PT-BR में बदल जाता है, फिर कुछ सेकंड बाद page पूरी तरह load होने पर URL में /pt-br/ slug छोड़कर वापस English में आ जाता है
      translation भी साफ़ तौर पर इंसान द्वारा बनाई या review की हुई नहीं लगती। ऊपर से मैं PT-PT user हूँ, इसलिए PT-BR से फर्क के कारण और ज्यादा चिढ़ होती है
  • पहले मैंने एक छोटा system बनाया था जो Accept-Language को parse करके user priority को weight देता था, और हमारी उपलब्ध languages में से user preference के सबसे करीब language चुनता था
    उदाहरण के लिए, अगर Brazilian Portuguese translation है लेकिन Portugal Portuguese नहीं है, तो बाद वाला मांगने वाले user को पहला वाला दिया जाता था, पर अगर lower-priority exact match हो तो उसे इस्तेमाल किया जाता था
    technically यह अच्छी तरह काम करता था, code भी साफ था, और इसे बनाना मजेदार था
    लेकिन user perspective से, अधिकतर लोग Accept-Language header चाहे जो भी हो, बस English चाहते थे। footer में बदल सकते थे, लेकिन शायद वह पर्याप्त दिखता नहीं था
    अब हम बस पूछ लेते हैं, और users भी ज्यादा संतुष्ट हैं

    • अगर “पूछना” का मतलब यह है कि cookies न होने पर site visit करते ही पहले language selection wall दिखाई जाए, तो यह एक आम तकलीफ है
      जिस page पर मैंने click किया था, उसी पर बने रहने का तरीका समझना मुश्किल होता है। “continue” button pre-selected value apply करता है या बस popup बंद करके current page दिखाता रहता है, यह confusing है
      अगर पहला है, तो यह भी नहीं पता कि pre-selected value current page की language है या कोई दूसरी language, और सोचना पड़ता है कि current locale guess करके select करूँ और popup बंद करूँ या नहीं। यहाँ तक सोचता हूँ कि developer tools से modal हटाकर bypass किया जा सकता है क्या। ऐसी language wall में एक छोटा close button भी luxury है
      100 में से 95 बार, जिस language पर मैंने click किया है, वही ठीक होती है। अगर मुझे German version की regional shipping info या payment options चाहिए होंगे, तो मैं top-right या footer में language selector ढूँढ लूँगा
      अगर वह इन दो जगहों में से किसी एक पर ही हो, और JavaScript popup बार-बार न आए, तो web बहुत ज्यादा सुखद होगा
    • फिर भी default को Accept-Language रखना चाहूँगा, लेकिन मुख्य बात है user से पूछना
      options देने के patterns को लेकर उत्सुक हूँ। यह article icons को reject करता है, यह अच्छी बात है, लेकिन कई regions को एक ही language में समेटने का तरीका मुझे पसंद नहीं: https://usersnap.com/blog/design-language-switch/
    • बहुत से लोगों के लिए यह value OS default पर set होगी, वे बस इसके आदी हो चुके होंगे, और शायद इसे बदलने का तरीका भी नहीं जानते होंगे