Skip to main content

i18n कौशल

i18n स्ट्रिंग्स की जाँच और रैपिंग के लिए AI कमांड

समस्या

आपके कोडबेस के कंपोनेंट, टेम्पलेट और व्यू में 500 हार्डकोड की गई स्ट्रिंग्स बिखरी हुई हैं। इन्हें मैन्युअल रूप से रैप करने में खोजने और बदलने का थकाऊ काम कई दिन लेता है। रैप करने के बाद भी जर्मन में बिगड़ने वाले विभाजित वाक्य, अरबी में विफल होने वाला बहुवचन लॉजिक और आपकी लोकेल फ़ाइलों को अनावश्यक रूप से बड़ा करने वाली अप्रयुक्त कुंजियाँ छूट जाती हैं।

मैन्युअल i18n रैपिंग में त्रुटियों की आशंका रहती है: डेवलपर विभाजित वाक्य चूक जाते हैं, टर्नरी ऑपरेटर से बहुवचन बिगाड़ देते हैं और विशेष परिस्थितियों में स्ट्रिंग्स को हार्डकोड ही छोड़ देते हैं। ये बग अनुवाद के बाद ही सामने आते हैं, जब इन्हें ठीक करना 10x अधिक महँगा होता है।

समाधान

दो AI स्लैश कमांड, जो पूरे i18n कार्य-प्रवाह को संभालते हैं। अपने कोड की केवल-पढ़ने योग्य जाँच के लिए /i18n-review चलाएँ, फिर सभी समस्याएँ अपने-आप ठीक करने के लिए /i18n-wrap चलाएँ। दोनों कमांड आपके फ़्रेमवर्क की पहचान करते हैं, आपकी लोकेल फ़ाइल का फ़ॉर्मेट समझते हैं और बदलाव लागू करने से पहले उनकी पुष्टि करते हैं।

/i18n-review

केवल-पढ़ने योग्य जाँच, जो विभाजित वाक्य, बिगड़े हुए बहुवचन, बिना रैप की गई स्ट्रिंग्स और अप्रयुक्त कुंजियाँ खोजती है। यह आपके कोड को कभी नहीं बदलती।

/i18n-wrap

हार्डकोड की गई स्ट्रिंग्स को सही अनुवाद फ़ंक्शन से अपने-आप रैप करता है, अर्थपूर्ण कुंजियाँ जनरेट करता है, लोकेल फ़ाइलें अपडेट करता है और बिल्ड की पुष्टि करता है।

/i18n-review कमांड

रिव्यू कमांड आपके कोडबेस की केवल-पढ़ने योग्य जाँच करता है। यह i18n समस्याओं के लिए हर फ़ाइल को स्कैन करता है और फ़ाइल में सटीक स्थानों तथा सुधार के सुझावों वाली प्राथमिकता-आधारित रिपोर्ट तैयार करता है। आपका कोड कभी नहीं बदला जाता।

Terminal
/i18n-review src/
/i18n-review src/ --framework=next-intl

यह क्या जाँचता है

  • विभाजित वाक्य: जोड़े गए t() कॉल, जो दूसरी भाषाओं में शब्द क्रम बिगाड़ देते हैं
  • अत्यधिक रैपिंग: तकनीकी स्ट्रिंग्स, CSS क्लास, URLs और enum मानों को गलती से t() से रैप करना
  • अपर्याप्त रैपिंग: बटन लेबल, हेडिंग और त्रुटि संदेश जैसी दिखाई देने वाली UI स्ट्रिंग्स को हार्डकोड छोड़ना
  • बहुवचन संबंधी समस्याएँ: सही ICU बहुवचन सिंटैक्स के बजाय टर्नरी ऑपरेटर या === 1 जाँच का उपयोग
  • अप्रयुक्त कुंजियाँ: लोकेल फ़ाइलों में परिभाषित ऐसी अनुवाद कुंजियाँ, जिनका कोड में कहीं संदर्भ नहीं है
  • हार्डकोड किए गए फ़ॉर्मेट मान: ऐसी तारीखें, मुद्राएँ और संख्याएँ जिनमें Intl फ़ॉर्मेटर का उपयोग नहीं किया गया है
रिव्यू कमांड पूरी तरह केवल-पढ़ने योग्य है। अनचाहे बदलावों के जोखिम के बिना इसे डेवलपमेंट के दौरान या CI/CD पाइपलाइन में जितनी बार चाहें चलाएँ।

/i18n-wrap कमांड

रैप कमांड हार्डकोड की गई स्ट्रिंग्स को आपके फ़्रेमवर्क के सही अनुवाद फ़ंक्शन से अपने-आप रैप करता है। यह आपकी i18n लाइब्रेरी की पहचान करता है, कंपोनेंट या सुविधा के अनुसार समूहित अर्थपूर्ण कुंजियाँ जनरेट करता है, आपकी लोकेल फ़ाइलें अपडेट करता है और पुष्टि करता है कि बिल्ड अब भी सफल है।

Terminal
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18next

यह क्या करता है

  • फ़्रेमवर्क की पहचान: आपकी i18n लाइब्रेरी और उसके अनुवाद फ़ंक्शन (t, $t, $_, gettext आदि) की पहचान करता है
  • अर्थपूर्ण कुंजियाँ जनरेट करना: सामान्य लेबल के बजाय nav.signIn और errors.notFound जैसी सार्थक कुंजियाँ बनाता है
  • लोकेल फ़ाइल अपडेट: आपकी सोर्स लोकेल फ़ाइल में सही फ़ॉर्मेट (JSON, YAML, PO आदि) में नई कुंजियाँ जोड़ता है
  • बिल्ड की पुष्टि: किसी भी रिग्रेशन को पकड़ने के लिए रैपिंग के बाद आपके बिल्ड, लिंट और टेस्ट कमांड चलाता है
रैप कमांड आपका बिल्ड और टेस्ट सुइट चलाकर हर बदलाव की पुष्टि करता है। कुछ भी विफल होने पर यह अपने-आप पिछले संस्करण पर वापस लौट जाता है।

समर्थित फ़्रेमवर्क

दोनों कमांड आपके प्रोजेक्ट की डिपेंडेंसी से फ़्रेमवर्क की अपने-आप पहचान करते हैं। आप --framework फ़्लैग से इसे स्पष्ट रूप से भी बता सकते हैं। यहाँ अनुवाद फ़ंक्शन और बहुवचन फ़ॉर्मेट सहित समर्थित 10 फ़्रेमवर्क दिए गए हैं।

फ़्रेमवर्कअनुवाद फ़ंक्शनबहुवचन फ़ॉर्मेट
react-i18nextt()key_one / key_other
next-intlt()ICU {count, plural, ...}
vue-i18n$t()Pipe syntax | singular | plural
angular i18n$localizeICU {count, plural, ...}
svelte-i18n$_()ICU {count, plural, ...}
flutter intlS.of(context)Intl.plural()
djangogettext / _()ngettext()
rails i18nt()count key
laravel__() / @langtrans_choice()
swiftNSLocalizedString.stringsdict

इंस्टॉलेशन

कमांड फ़ाइलों को अपनी .claude/commands/ डायरेक्टरी में कॉपी करें। बस इतना ही—न डिपेंडेंसी, न कॉन्फ़िगरेशन। ये साधारण Markdown फ़ाइलें हैं, जिन्हें कोई भी AI कोडिंग सहायक चला सकता है।

Terminal
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/
ये मानक स्लैश कमांड फ़ाइलें हैं। ये Claude Code में बिना अतिरिक्त सेटअप के काम करती हैं और कस्टम कमांड का समर्थन करने वाले अन्य AI कोडिंग सहायकों के लिए अनुकूलित की जा सकती हैं।

उपयोग के उदाहरण

React प्रोजेक्ट

react-i18next का उपयोग करने वाले React ऐप की जाँच करें, फिर सभी हार्डकोड की गई स्ट्रिंग्स रैप करें। कमांड आपके package.json से react-i18next की पहचान करते हैं और सही t() फ़ंक्शन तथा key_one/key_other बहुवचन फ़ॉर्मेट का उपयोग करते हैं।

React Project
# Review a React project for i18n issues
/i18n-review src/ --framework=react-i18next

# Wrap all hardcoded strings automatically
/i18n-wrap src/components/ --framework=react-i18next

# Result: t() calls inserted, keys added to en/translation.json

Django प्रोजेक्ट

i18n समस्याओं के लिए Django टेम्पलेट और व्यू की जाँच करें, फिर स्ट्रिंग्स को gettext से रैप करें। कमांड आपकी settings.py से Django की पहचान करते हैं और साधारण स्ट्रिंग्स के लिए _() तथा बहुवचन के लिए ngettext() का उपयोग करते हैं।

Django Project
# Review Django templates and views
/i18n-review myapp/ --framework=django

# Wrap hardcoded strings with gettext
/i18n-wrap myapp/templates/ --framework=django

# Result: _() calls inserted, .po file updated

i18n Agent अभी आज़माएँ

अपनी अनुवाद फ़ाइल यहाँ छोड़ें

JSON, YAML, PO, XML, CSV, Markdown, Properties

या ब्राउज़ करने के लिए क्लिक करें

लक्षित भाषाएँ

साइन अप की ज़रूरत नहींतुरंत अनुमान

अक्सर पूछे जाने वाले प्रश्न