i18n कौशल
i18n स्ट्रिंग्स की जाँच और रैपिंग के लिए AI कमांड
समस्या
आपके कोडबेस के कंपोनेंट, टेम्पलेट और व्यू में 500 हार्डकोड की गई स्ट्रिंग्स बिखरी हुई हैं। इन्हें मैन्युअल रूप से रैप करने में खोजने और बदलने का थकाऊ काम कई दिन लेता है। रैप करने के बाद भी जर्मन में बिगड़ने वाले विभाजित वाक्य, अरबी में विफल होने वाला बहुवचन लॉजिक और आपकी लोकेल फ़ाइलों को अनावश्यक रूप से बड़ा करने वाली अप्रयुक्त कुंजियाँ छूट जाती हैं।
समाधान
दो AI स्लैश कमांड, जो पूरे i18n कार्य-प्रवाह को संभालते हैं। अपने कोड की केवल-पढ़ने योग्य जाँच के लिए /i18n-review चलाएँ, फिर सभी समस्याएँ अपने-आप ठीक करने के लिए /i18n-wrap चलाएँ। दोनों कमांड आपके फ़्रेमवर्क की पहचान करते हैं, आपकी लोकेल फ़ाइल का फ़ॉर्मेट समझते हैं और बदलाव लागू करने से पहले उनकी पुष्टि करते हैं।
/i18n-review
केवल-पढ़ने योग्य जाँच, जो विभाजित वाक्य, बिगड़े हुए बहुवचन, बिना रैप की गई स्ट्रिंग्स और अप्रयुक्त कुंजियाँ खोजती है। यह आपके कोड को कभी नहीं बदलती।
/i18n-wrap
हार्डकोड की गई स्ट्रिंग्स को सही अनुवाद फ़ंक्शन से अपने-आप रैप करता है, अर्थपूर्ण कुंजियाँ जनरेट करता है, लोकेल फ़ाइलें अपडेट करता है और बिल्ड की पुष्टि करता है।
/i18n-review कमांड
रिव्यू कमांड आपके कोडबेस की केवल-पढ़ने योग्य जाँच करता है। यह i18n समस्याओं के लिए हर फ़ाइल को स्कैन करता है और फ़ाइल में सटीक स्थानों तथा सुधार के सुझावों वाली प्राथमिकता-आधारित रिपोर्ट तैयार करता है। आपका कोड कभी नहीं बदला जाता।
/i18n-review src/
/i18n-review src/ --framework=next-intlयह क्या जाँचता है
- विभाजित वाक्य: जोड़े गए t() कॉल, जो दूसरी भाषाओं में शब्द क्रम बिगाड़ देते हैं
- अत्यधिक रैपिंग: तकनीकी स्ट्रिंग्स, CSS क्लास, URLs और enum मानों को गलती से t() से रैप करना
- अपर्याप्त रैपिंग: बटन लेबल, हेडिंग और त्रुटि संदेश जैसी दिखाई देने वाली UI स्ट्रिंग्स को हार्डकोड छोड़ना
- बहुवचन संबंधी समस्याएँ: सही ICU बहुवचन सिंटैक्स के बजाय टर्नरी ऑपरेटर या === 1 जाँच का उपयोग
- अप्रयुक्त कुंजियाँ: लोकेल फ़ाइलों में परिभाषित ऐसी अनुवाद कुंजियाँ, जिनका कोड में कहीं संदर्भ नहीं है
- हार्डकोड किए गए फ़ॉर्मेट मान: ऐसी तारीखें, मुद्राएँ और संख्याएँ जिनमें Intl फ़ॉर्मेटर का उपयोग नहीं किया गया है
/i18n-wrap कमांड
रैप कमांड हार्डकोड की गई स्ट्रिंग्स को आपके फ़्रेमवर्क के सही अनुवाद फ़ंक्शन से अपने-आप रैप करता है। यह आपकी i18n लाइब्रेरी की पहचान करता है, कंपोनेंट या सुविधा के अनुसार समूहित अर्थपूर्ण कुंजियाँ जनरेट करता है, आपकी लोकेल फ़ाइलें अपडेट करता है और पुष्टि करता है कि बिल्ड अब भी सफल है।
/i18n-wrap src/components/
/i18n-wrap src/ --framework=react-i18nextयह क्या करता है
- फ़्रेमवर्क की पहचान: आपकी i18n लाइब्रेरी और उसके अनुवाद फ़ंक्शन (t, $t, $_, gettext आदि) की पहचान करता है
- अर्थपूर्ण कुंजियाँ जनरेट करना: सामान्य लेबल के बजाय nav.signIn और errors.notFound जैसी सार्थक कुंजियाँ बनाता है
- लोकेल फ़ाइल अपडेट: आपकी सोर्स लोकेल फ़ाइल में सही फ़ॉर्मेट (JSON, YAML, PO आदि) में नई कुंजियाँ जोड़ता है
- बिल्ड की पुष्टि: किसी भी रिग्रेशन को पकड़ने के लिए रैपिंग के बाद आपके बिल्ड, लिंट और टेस्ट कमांड चलाता है
समर्थित फ़्रेमवर्क
दोनों कमांड आपके प्रोजेक्ट की डिपेंडेंसी से फ़्रेमवर्क की अपने-आप पहचान करते हैं। आप --framework फ़्लैग से इसे स्पष्ट रूप से भी बता सकते हैं। यहाँ अनुवाद फ़ंक्शन और बहुवचन फ़ॉर्मेट सहित समर्थित 10 फ़्रेमवर्क दिए गए हैं।
| फ़्रेमवर्क | अनुवाद फ़ंक्शन | बहुवचन फ़ॉर्मेट |
|---|---|---|
| react-i18next | t() | key_one / key_other |
| next-intl | t() | ICU {count, plural, ...} |
| vue-i18n | $t() | Pipe syntax | singular | plural |
| angular i18n | $localize | ICU {count, plural, ...} |
| svelte-i18n | $_() | ICU {count, plural, ...} |
| flutter intl | S.of(context) | Intl.plural() |
| django | gettext / _() | ngettext() |
| rails i18n | t() | count key |
| laravel | __() / @lang | trans_choice() |
| swift | NSLocalizedString | .stringsdict |
इंस्टॉलेशन
कमांड फ़ाइलों को अपनी .claude/commands/ डायरेक्टरी में कॉपी करें। बस इतना ही—न डिपेंडेंसी, न कॉन्फ़िगरेशन। ये साधारण Markdown फ़ाइलें हैं, जिन्हें कोई भी AI कोडिंग सहायक चला सकता है।
mkdir -p .claude/commands
cp commands/i18n-review.md .claude/commands/
cp commands/i18n-wrap.md .claude/commands/उपयोग के उदाहरण
React प्रोजेक्ट
react-i18next का उपयोग करने वाले React ऐप की जाँच करें, फिर सभी हार्डकोड की गई स्ट्रिंग्स रैप करें। कमांड आपके package.json से react-i18next की पहचान करते हैं और सही t() फ़ंक्शन तथा key_one/key_other बहुवचन फ़ॉर्मेट का उपयोग करते हैं।
# 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.jsonDjango प्रोजेक्ट
i18n समस्याओं के लिए Django टेम्पलेट और व्यू की जाँच करें, फिर स्ट्रिंग्स को gettext से रैप करें। कमांड आपकी settings.py से Django की पहचान करते हैं और साधारण स्ट्रिंग्स के लिए _() तथा बहुवचन के लिए ngettext() का उपयोग करते हैं।
# 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
या ब्राउज़ करने के लिए क्लिक करें
लक्षित भाषाएँ