अनुवाद उत्पन्न करने के लिए Claude Code के टोकन उपभोग को कैसे सीमित करें

    समस्या का विवरण

    Claude Code (या किसी भी कोडिंग एजेंट) से अपनी सामग्री का अनुवाद करने के लिए कहना सबसे महंगा तरीका है। प्रत्येक निष्पादन के दौरान, एजेंट को:

    • पहले से अनुवादित कुंजियों सहित संपूर्ण JSON या सामग्री फ़ाइल को अपने संदर्भ (context) में लोड करना पड़ता है।
    • सामग्री कहाँ स्थित है और इसकी संरचना कैसी है, यह समझने के लिए संबंधित फ़ाइलों को खोजना पड़ता है।
    • यह पता लगाना पड़ता है कि कौन से लोकेल अनुपलब्ध हैं और उन्हें उत्पन्न करने की आवश्यकता है।
    • आपके कस्टम निर्देशों को हर बार फिर से पढ़ना पड़ता है ("URL को इस तरह बदलें", "ब्रांड नाम अंग्रेजी में रखें", "अनौपचारिक रूप का उपयोग करें")।
    • उन हिस्सों सहित पूरी फ़ाइल को फिर से लिखना पड़ता है जिनमें कोई बदलाव नहीं हुआ था।

    यह सब प्रत्येक संवाद चक्र में फिर से भेजा जाता है, जिससे लागत सामग्री का आकार × लोकेल की संख्या × चक्रों की संख्या के अनुपात में बढ़ती है, और फ़ॉर्मेटिंग या कुंजियों में किसी भी अंतर को मैन्युअल रूप से ठीक करना पड़ता है।

    Intlayer इसके बजाय क्या करता है

    Intlayer की सबसे बड़ी विशेषता यह है कि यह कार्य अनुवाद के लिए विशेष रूप से निर्मित पाइपलाइन के साथ एजेंट के बाहर किया जाता है:

    • मौजूदा अनुवादों को फ़िल्टर करता है ताकि टोकन का उपयोग सीमित रहे। आपके JSON में पहले से अनुवादित कुंजियों को हटा दिया जाता है, और केवल अनुपलब्ध कुंजियों को मॉडल को भेजा जाता है।
    • Markdown का ब्लॉक-दर-ब्लॉक अनुवाद करता है। प्रलेखन के लिए, doc translate और doc review प्रत्येक ब्लॉक की तुलना मूल दस्तावेज़ से करते हैं और उन ब्लॉकों को छोड़ देते हैं जो पहले से अनुवादित या अपरिवर्तित हैं।
    • यदि आपका JSON बहुत बड़ा है तो उसके टुकड़े (chunking) करता है, ताकि संदर्भ विंडो के सबसे उपयुक्त भाग में रहा जा सके।
    • टोकन खपत को अनुकूलित करने के लिए आपके JSON को समतल (flatten) और पुनर्गठित करता है
    • कस्टम प्रॉम्प्ट सम्मिलित करता है आपके ब्रांड और शब्दावली से संबंधित विशिष्ट नियमों के लिए (applicationContext, --custom-instructions), जिससे आप उन्हें हर बातचीत में दोहराने के बजाय केवल एक बार लिखते हैं।
    • संरचना को मान्य करता है ताकि निरंतरता सुनिश्चित हो सके और कुंजियों का भटकाव रुके, साथ ही फ़ॉर्मेटिंग (markdown, HTML, इंसर्शन, बहुवचन) सुरक्षित रहे।
    • पुनः प्रयास प्रबंधन (retry) लागू करता है यदि आउटपुट का प्रारूप अमान्य हो।
    • गति बढ़ाने के लिए फ़ाइलों, टुकड़ों और लोकेल में अनुरोधों को कतारबद्ध और समानांतर करता है

    इनमें से कुछ भी एजेंट के संदर्भ से होकर नहीं गुजरता। मुख्य नियम: एजेंट को यह तय करने दें कि क्या अंतर्राष्ट्रीयकृत करना है, और दोहराए जाने वाले कार्य को Intlayer पर छोड़ दें।

    समाधान

    1. निष्कर्षण को intlayer extract को सौंपें

    एजेंट को प्रत्येक घटक को हाथ से फिर से लिखने के लिए कहने के बजाय, उसे extract कमांड चलाने दें। यह पूरी फ़ाइल को एजेंट के संदर्भ में लोड किए बिना हार्ड-कोडेड स्ट्रिंग्स को घटक के बगल में एक .content फ़ाइल में स्थानांतरित करता है।

    bash
    npx intlayer extract --file src/components/Header.tsx
    

    2. अनुवाद को intlayer fill को सौंपें

    एजेंट से सीधे अनुवाद करने के लिए कभी न कहें। fill कमांड ऊपर दी गई पाइपलाइन को लागू करता है: यह केवल अनुपलब्ध कुंजियों को भेजता है, उन्हें टुकड़ों में बाँटता है, लोकेल को समानांतर में चलाता है और परिणाम को आपकी सामग्री फ़ाइलों में वापस लिखता है।

    bash
    npx intlayer fill
    

    कुछ फ़्लैग निष्पादन को सीमित रखते हैं:

    • --git-diff (या --uncommitted) केवल वर्तमान शाखा में बदले गए शब्दकोशों को संसाधित करता है।
    • --file या --keys विशिष्ट सामग्री फ़ाइलों को लक्षित करता है।
    • --output-locales fr es निष्पादन को केवल उन लोकेल तक सीमित करता है जिनकी आपको वास्तव में अभी आवश्यकता है।
    • --skip-metadata शीर्षक, विवरण और टैग निर्माण को छोड़ देता है।
    • --data-serialization toon मॉडल को अधिक संक्षिप्त पेलोड भेजता है (कम टोकन, थोड़ा कम पूर्वानुमानित आउटपुट)।
    bash
    npx intlayer fill --git-diff --output-locales fr es --skip-metadata
    

    3. doc translate और doc review के साथ markdown का अनुवाद करें

    किसी एजेंट से .md फ़ाइल का अनुवाद करने के लिए कहने का अर्थ है प्रत्येक परिवर्तन पर, प्रत्येक लोकेल के लिए पूरा दस्तावेज़ चिपकाना। इसके विपरीत doc translate और doc review कमांड ब्लॉक-दर-ब्लॉक काम करते हैं।

    जब अनुवादित फ़ाइल अभी मौजूद न हो तो doc translate का उपयोग करें। यह markdown को टुकड़ों में बाँटता है, इसे समानांतर में अनुवाद करता है और लक्षित फ़ाइलें लिखता है:

    bash
    npx intlayer doc translate --doc-pattern "docs/**/*.md" --base-locale en --locales fr es
    

    जब अनुवादित फ़ाइल पहले से मौजूद हो तो doc review का उपयोग करें। यह प्रत्येक ब्लॉक की तुलना मूल दस्तावेज़ से करता है, उन ब्लॉकों को छोड़ देता है जो पहले से अनुवादित या अपरिवर्तित हैं, और केवल भिन्न ब्लॉकों को भेजता है:

    bash
    npx intlayer doc review --doc-pattern "docs/**/*.md" --base-locale en --locales fr es
    

    दोनों कमांड आपके नियमों को एक बार स्वीकार करते हैं, जिससे उन्हें हर प्रॉम्प्ट में दोहराने की आवश्यकता नहीं होती:

    bash
    npx intlayer doc translate --custom-instructions "Do not translate URLs. Keep the markdown structure and the code blocks untouched."
    

    doc review के दो मोड तब उपयोगी होते हैं जब एजेंट को Intlayer से किसी भी AI कॉल के बिना प्रक्रिया में शामिल रहने की आवश्यकता होती है:

    • --mode report उन ब्लॉकों को लाइन नंबर के साथ लॉग करता है जिन पर ध्यान देने की आवश्यकता है, ताकि एजेंट केवल उन्हीं ब्लॉकों को छुए।
    • --mode synthesis केवल यह लॉग करता है कि कौन से दस्तावेज़ अद्यतित हैं और किसमें अभी भी संपादित करने के लिए ब्लॉक बाकी हैं।
    bash
    npx intlayer doc review --mode report --locales fr
    

    4. एजेंट को MCP सर्वर के माध्यम से CLI कॉल करने दें

    Intlayer MCP सर्वर के साथ, एजेंट वर्तमान प्रलेखन के आधार पर उत्तर देता है और बातचीत में इसे फिर से लागू करने के बजाय सीधे intlayer fill या intlayer doc review चलाता है।

    bash
    claude mcp add intlayer npx -y @intlayer/mcp
    

    npx intlayer init skills के साथ Agent Skills स्थापित करने से एजेंट को Intlayer API का अनुमान लगाने और प्रत्येक कार्य पर प्रलेखन को फिर से पढ़ने से भी रोका जा सकता है।

    5. claude setup-token के साथ अपने Claude सब्सक्रिप्शन का पुन: उपयोग करें

    अपने इंटरैक्टिव Claude Code सत्र में i18n सेटअप चलाने से बातचीत का पूरा इतिहास संदर्भ में बना रहता है। भारी कार्यों को इसके बजाय एक संक्षिप्त हेडलेस (headless) सत्र में स्थानांतरित करें।

    अपने Claude सब्सक्रिप्शन से एक दीर्घकालिक टोकन उत्पन्न करें:

    bash
    claude setup-token
    

    इसे CLAUDE_CODE_OAUTH_TOKEN के रूप में संग्रहीत करें (एक .env फ़ाइल या अपने CI सीक्रेट्स में), फिर Intlayer कमांड चलाने वाले एक-बार के सत्र के लिए इसका पुन: उपयोग करें:

    bash
    CLAUDE_CODE_OAUTH_TOKEN=... claude -p "Run npx intlayer extract on src/components, then npx intlayer fill --uncommitted"
    

    यह सत्र केवल उस प्रॉम्प्ट और कमांड आउटपुट को वहन करेगा, न कि आपकी पूरी बातचीत को। यही टोकन प्रत्येक पुल अनुरोध पर intlayer fill चलाने के लिए Claude Code GitHub Action में काम करता है।

    claude setup-token द्वारा जारी टोकन केवल Claude Code को प्रमाणित करता है। इसका उपयोग ai.apiKey में Anthropic API कुंजी के रूप में नहीं किया जा सकता है। अनुवाद के लिए, intlayer fill आपके Intlayer खाते (मुफ्त स्तर शामिल) या ai में कॉन्फ़िगर की गई आपकी अपनी प्रदाता कुंजी का उपयोग करता है।

    सारांश

    कार्यकौन करता हैएजेंट संदर्भ में टोकन
    क्या स्थानीयकृत करना है यह तय करनाClaude Codeकम
    स्ट्रिंग्स निकालनाintlayer extractकोई नहीं
    सामग्री का अनुवाद करनाintlayer fillकोई नहीं
    प्रलेखन का अनुवाद करनाintlayer doc translateकोई नहीं
    प्रलेखन अद्यतन करनाintlayer doc reviewकोई नहीं
    कमांड चलानाहेडलेस Claude Codeप्रॉम्प्ट + कमांड आउटपुट