code reviews अपनी भाषा में डिक्टेट कीजिए
Code अंग्रेज़ी है। आपके review कमेंट्स का अंग्रेज़ी होना ज़रूरी नहीं। 25 भाषाओं में से किसी एक में on-device डिक्टेशन, और भाषा pin करने की अहमियत।
ज़्यादातर डेवलपर टूलिंग में एक चुपचाप पड़ी मान्यता गुँथी हुई है: code अंग्रेज़ी में है, तो डेवलपर भी अंग्रेज़ी वाला ही होगा। Keywords अंग्रेज़ी। Library के नाम अंग्रेज़ी। Error messages अंग्रेज़ी। और इसीलिए, तर्क यह चलता है, डेवलपर्स के लिए डिक्टेशन सिर्फ़ अंग्रेज़ी में हो तो किसी को फ़र्क़ नहीं पड़ेगा।
Code review इस मान्यता को तुरंत तोड़ देती है। एक review कमेंट code नहीं है। वह किसी इंसान को संबोधित एक वाक्य है, और बहुत सारी टीमों में वह इंसान आपकी ही पहली भाषा बोलता है। Rust सर्विस पर review करती एक Romanian टीम अंग्रेज़ी identifiers के बारे में Romanian में कमेंट लिखती है। एक Polish टीम वही Polish में करती है, एक German टीम German में। Code अंग्रेज़ी रहता है; code के बारे में बातचीत नहीं।
Review कमेंट्स के लिए डिक्टेशन असामान्य रूप से अच्छी है, क्योंकि review पढ़ने का काम है और टाइपिंग पढ़ने को काटती है। पर यह तभी अच्छी है जब उस भाषा में चले जिसमें कमेंट सचमुच है। यह पोस्ट उसी को चलाने लायक़ बनाने के बारे में है: Keebye on-device कौन-सी भाषाएँ कवर करता है, भाषा pin कैसे बर्ताव करती है, और किनारे कहाँ हैं। यह सब क्यों मायने रखता है, इसकी दलील डेवलपर्स के लिए डिक्टेशन सिर्फ़ English तक सीमित नहीं होनी चाहिए में है; यह उसकी व्यावहारिक अगली कड़ी है।
review कमेंट्स डिक्टेशन का आदर्श निशाना क्यों हैं
एक review कमेंट में तीन गुण हैं जो उसे डेवलपर के लगभग हर दूसरे टेक्स्ट से बेहतर आवाज़ के लायक़ बनाते हैं।
वह छोटा है। ज़्यादातर कमेंट एक से तीन वाक्यों के होते हैं। यानी एक साँस, एक hotkey hold, एक utterance।
वह गद्य है। सख़्त फ़ॉर्मैट वाले commit message या सटीक syntax वाली config फ़ाइल के उलट, review कमेंट बस वही है जो आप समस्या को ज़ुबानी समझाते हुए कहते। "अगर socket कभी जवाब न दे तो यह हमेशा retry करता रहेगा; इसे सीमित कीजिए।" बोला हुआ और टाइप किया हुआ संस्करण लगभग एक जैसे हैं।
वह तब होता है जब आपकी आँखें व्यस्त हैं। आप diff पढ़ रहे हैं। जिस पल आप टाइप करने के लिए रुकते हैं, आप उसमें अपनी जगह खो देते हैं। डिक्टेशन आपको पढ़ते रहने देती है और उसी box में कमेंट बोलने देती है जिसमें आप पहले ही click कर चुके हैं।
अब भाषा वाला आयाम जोड़िए। अगर आपकी टीम Polish में review करती है, तो सिर्फ़ अंग्रेज़ी वाला डिक्टेशन टूल आपको चुनने पर मजबूर करता है: अंग्रेज़ी में review (अस्वाभाविक, और आपके साथी शायद धीरे पढ़ें) या टाइपिंग (फ़ायदा ही गया)। दोनों में से कोई भी वह नहीं जो आप चाहते थे।
Keebye असल में क्या सपोर्ट करता है
यहाँ दो on-device इंजन मायने रखते हैं, और उनके बारे में सटीक होना ज़रूरी है।
डिफ़ॉल्ट इंजन अंग्रेज़ी के लिए tuned है। वह तेज़ है, वही ज़्यादातर लोग इस्तेमाल करते हैं, और Polish review कमेंट के लिए वह नहीं चाहिए। ग़ैर-अंग्रेज़ी बोली पर तानने पर वह ध्वनि के हिसाब से भरोसेमंद लगती अंग्रेज़ी बना देगा, जो आपने कहा ही नहीं था।
दूसरा इंजन, Canary, ठीक 25 भाषाएँ कवर करता है: Bulgarian, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hungarian, Italian, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Russian, Slovak, Slovenian, Spanish, Swedish और Ukrainian। यह opt-in है, एक बार डाउनलोड होता है, और उसके बाद Keebye की बाक़ी हर चीज़ की तरह offline चलता है। सौ भाषाएँ नहीं; पच्चीस, गिनाई हुई, और अगर आपकी उस सूची में नहीं है तो यह पोस्ट अभी आपकी मदद नहीं कर सकती।
Apple की अपनी speech recognition को इंजन बनाने का विकल्प भी है, जो आपके Mac पर अपनी अलग भाषा-कवरेज लाती है। वह अलग रास्ता है, अलग गुणों वाला; बाक़ी पोस्ट Canary के बारे में है।
भाषा pin कीजिए; उसे अंदाज़ा मत लगाने दीजिए
ग़ैर-अंग्रेज़ी review के लिए सबसे अहम सेटिंग भाषा pin है।
Auto-detection सही डिफ़ॉल्ट लगती है और डेवलपर्स के लिए ग़लत डिफ़ॉल्ट है। Review कमेंट अंग्रेज़ी identifiers से ठसाठस भरे होते हैं: function नाम, package नाम, "null", "async", "callback" जैसे शब्द। अस्सी फ़ीसदी Romanian और बीस फ़ीसदी अंग्रेज़ी tokens वाला कमेंट भाषा-पहचानने वाले को ठीक वही मिला-जुला संकेत देता है जिसे वह सबसे बुरी तरह सँभालता है। वह वाक्य के बीच पलट जाएगा, या तय कर लेगा कि पूरा अंग्रेज़ी था, और आपको आत्मविश्वास से ग़लत transcript मिलेगा। अपनी डिक्टेशन भाषा pin कीजिए इस टूटन को विस्तार से देखती है।
Canary के साथ Keebye आपको भाषा साफ़-साफ़ तय करने देता है। Romanian pin कीजिए और मॉडल Romanian decode करता है; आपके वाक्य के भीतर के अंग्रेज़ी identifiers loanwords की तरह सँभाले जाते हैं, इस सबूत की तरह नहीं कि आपने भाषा बदल दी। किसी असामान्य identifier की पहचान फिर भी अधूरी रह सकती है, पर भाषा ख़ुद सिक्का उछालने जैसी नहीं रहती।
बर्ताव की एक बात जानने लायक़ है: pin की गई भाषा अगले utterance के लिए पढ़ी जाती है। pin बदलिए और जो dictation आप करने जा रहे हैं वह उसे इस्तेमाल करेगी; जो आप पहले ही छोड़ चुके हैं वह दोबारा transcribe नहीं होती। व्यवहार में इसका मतलब है: पहले बदलिए, फिर बोलिए। अगर आप दिन भर में दो भाषाओं में review करते हैं, तो यह बदलना सस्ता है। menu-bar tray में झट से बदलने के लिए 11 भाषाओं की छोटी सूची रहती है, और Settings में पूरी 25।
एक review session, बोलकर
Romanian में review करने वाली टीम में session ऐसा दिखता है।
आप pull request खोलते हैं। tray में कल से Romanian pin दिख ही रहा है, तो कुछ करने की ज़रूरत नहीं। आप पहली फ़ाइल पढ़ते हैं। तीसरा hunk, बिना सीमा वाला retry loop। कमेंट box में click, दायाँ Command दबाए रखा, Romanian में कमेंट बोला, छोड़ा। text गिर जाता है, "उम" और एक झूठी शुरुआत नियम-आधारित सफ़ाई से हट चुकी है, और identifier reconnectSocket सही-सलामत है क्योंकि हफ़्ता भर पहले आपने उसे custom dictionary में जोड़ा था।
अगली फ़ाइल। जो कमेंट आप छोड़ना चाहते हैं वह code suggestion है, गद्य नहीं। वह आप टाइप करते हैं; diff डिक्टेट करना किसी भी भाषा में बुरा अनुभव है।
बाद में दूसरी टीम का कोई contributor thread में आता है और अंग्रेज़ी में लिखता है। आप अंग्रेज़ी में जवाब देना चाहते हैं। tray पर click, छोटी सूची से English चुनिए, और अगला utterance अंग्रेज़ी की तरह decode होता है। जवाब दीजिए, फिर वापस बदल लीजिए।
इसमें से किसी को भी window नहीं चाहिए। Keebye menu bar में ही रहता है; hotkey उसी app में चलता है जिस पर focus है, चाहे वह review वाला browser tab हो, कोई desktop Git client, या CLI review टूल चलाता terminal।
ईमानदार सीमाएँ
पच्चीस भाषाएँ, सब नहीं। अगर आप Turkish, Japanese, Arabic या Canary सूची से बाहर की किसी भाषा में review करते हैं, तो दूसरा इंजन उसे कवर नहीं करता। Apple का अपना इंजन शायद करे, आपके सिस्टम के भाषा सपोर्ट पर निर्भर, पर वह अलग इंजन है और अलग बर्ताव वाला।
tray की छोटी सूची ग्यारह की है। English, Romanian, French, German, Spanish, Italian, Portuguese, Dutch, Polish, Russian और Ukrainian दो click दूर हैं। बाक़ी चौदह Settings में हैं। अगर आपकी रोज़ की जोड़ी में, मान लीजिए, Czech और Finnish हैं, तो एक तरफ़ Settings से होकर जाएगी।
identifiers तो identifiers ही रहते हैं। किसी भी भाषा का speech model snake_case_names पर लड़खड़ाता है। बार-बार आने वालों में dictionary मदद करती है; बाक़ी आप हाथ से ठीक करते हैं। पोस्ट करने से पहले कमेंट पढ़ लीजिए।
कोई live transcription नहीं। Canary key छोड़ने पर transcribe करता है, एक batch में। बोलते हुए शब्द नहीं दिखेंगे। एक से तीन वाक्य के review कमेंट के लिए यह मुश्किल से महसूस होता है।
polish वैकल्पिक है और डिफ़ॉल्ट शब्दशः। अगर आप on-device local-LLM polish चालू करते हैं, तो वह वाक्य-संरचना सुधारता है और एक fidelity guard तब कच्चे transcript पर लौट आता है जब output में गंभीर token loss, फैलाव या दोहराव दिखे। वह guard एक heuristic है; यह जाँच नहीं करता कि आपका अर्थ बचा या नहीं। review कमेंट्स में, जहाँ पलटा हुआ निषेध पूरा फ़ैसला बदल देता है, ज़्यादातर लोग polish बंद रखते हैं और काम नियम-आधारित सफ़ाई से करवाते हैं।
यह कहाँ फ़िट होता है
अगर भाषा pin ही वह चीज़ है जिसकी आपको सबसे ज़्यादा परवाह है, तो Keebye vs Wispr Flow दोनों की तुलना इस पर करता है कि speech कहाँ चलती है और भाषा कैसे सँभाली जाती है, साथ में यह भी कि Wispr Flow कहाँ बेहतर बैठता है। हाथ diff पर रहते हुए डिक्टेशन के व्यापक मामले के लिए डेवलपर्स गाइड रोज़मर्रा की बात करती है, और Mac गाइड setup की।
यह मान्यता कि डेवलपर सिर्फ़ अंग्रेज़ी वाले होते हैं, कभी सच थी ही नहीं। वह बस टूल्स के लिए सुविधाजनक थी। अपनी भाषा में, आवाज़ से, ऐसी speech के साथ जो कभी आपकी मशीन से बाहर नहीं जाती — यह कोई niche माँग नहीं है। सॉफ़्टवेयर लिखने वाले लोगों का एक बड़ा हिस्सा यही करता, अगर टूलिंग उन्हें करने देती।
उसी भाषा में review कीजिए जिसमें सोचते हैं
अपना फ़्री ट्रायल शुरू करें, अपनी भाषा pin करें, और एक review कमेंट वैसे ही बोलकर लिखें जैसे किसी साथी से कहते।
Start free trialEarly access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.
आगे पढ़ें
अपने-आप पहचान बार-बार ग़लत: अपनी भाषा pin करें
डिक्टेशन बार-बार ग़लत भाषा में उतरता है? द्विभाषी speech पर अपने-आप होने वाली पहचान बनावट से ही डगमगाती है। अपनी भाषा एक बार pin करें और वह pin रहती है।
Developers का डिक्टेशन सिर्फ़ English तक सीमित क्यों हो?
Code English में है; कार्यदिवस अक्सर नहीं। अपनी भाषा के Slack मैसेजों, reviews और docs के लिए on-device multilingual डिक्टेशन।
पैरलल agents को prompts डिक्टेट करना, lane दर lane
दो-तीन coding agents एक साथ चलाते ही prompting अड़चन बन जाती है। जिस lane में हैं उसे छोड़े बिना बाकी lanes को खिलाने का एक वॉइस workflow।