अगर आपके repo में next-intl, react-i18next, i18next या Lingui पहले से wired in है—disk पर locale folders, package.json में dependencies, middleware या config files—तो आपको ऐसे किसी और tool की ज़रूरत नहीं जो यह दिखावा करे कि आप zero से शुरू कर रहे हैं। globalize.now AI-powered localization infrastructure है। L1 (already-internationalized) mode में product destructive setup scaffold को छोड़कर sync mode में रहता है: आपकी source language पढ़ता है, push पर दूसरी locales का diff निकालता है और fills वाली pull requests खोलता है। यह article बताता है कि यह mode किन चीज़ों को छूता है, किन्हें छूने से इनकार करता है और detection गलत होने पर क्या करना है।

ज़्यादातर i18n सलाह यह क्यों मानती है कि आप zero से शुरुआत कर रहे हैं?

i18n tools की marketing copy अब भी “greenfield” case को target करती है: कोई library install नहीं, कोई locale files नहीं, कोई extraction नहीं। ज़्यादातर production codebases ऐसी स्थिति में नहीं हैं।

पिछले कुछ हफ्तों में तीन असंबंधित first-touch sessions एक जैसी स्थिति के साथ आए: team ने एक बार i18n आज़माया, कुछ आधा-अधूरा काम करने लगा और फिर रुक गई—क्योंकि उसे निकालकर दोबारा बनाना, उस mess के साथ जीने से भी बदतर लगा।

अगर आपकी स्थिति भी ऐसी है, तो यह post आपके लिए ही लिखी गई है।

आधा-internationalized codebase वास्तव में कैसा दिखता है?

ये patterns बार-बार दिखाई देते हैं (विवरण anonymized हैं):

  • एक Next.js + next-intl app जिसमें ज़्यादातर components t() का इस्तेमाल करते हैं, लेकिन पुराने routes अब भी hardcoded English ship करते हैं क्योंकि पहला migration wave कभी पूरा नहीं हुआ।
  • एक React + i18next project जिसकी locale files मौजूद हैं, लेकिन उनमें केवल English values हैं—translation हमेशा अगले quarter के लिए टलती रही।
  • एक messages/ tree जिसमें en.json भरा हुआ है और es.json लगभग खाली है।
  • Layout में wired-in language switcher, जो कभी-कभी 404 देता है क्योंकि routing का migration केवल आधा हुआ था।

इनमें से किसी भी project को globalize.now से फिर से शुरुआत करने की ज़रूरत नहीं है। उन्हें बस काम पूरा करने के लिए इसकी ज़रूरत है।

L0 versus L1 setup pathA decision tree showing that when globalize.now detects existing i18n on first run, it skips four destructive setup steps and goes straight to translating missing keys.your repoDETECTIONfirst-run scan of package.json + repoNO i18n FOUNDL0 pathi18n DETECTEDL1 pathinstall libraryextract stringsgenerate locale filesinject switchertranslateinstall libraryextract stringsgenerate locale filesinject switchertranslateSKIPPEDPR on every push
डिटेक्शन सेटअप फ्लो को शाखाओं में बाँटता है। L0 सभी पाँच स्टेप्स चलाता है; L1 चार को छोड़कर सीधे सिंक पर पहुँच जाता है।

पहली run पर globalize.now किन signals को scan करता है?

Detection एक नहीं, दो steps में होता है।

पहले globalize.now को repo पर point करें। इसे app में connect करने पर detection और one-time conversion आपके लिए चल जाते हैं। अगर आप चाहते हैं कि आपका agent यह pass locally चलाए, तो skills install करें—यह .claude/skills/ में कुछ playbook files डालता है और आपके repo में कोई अन्य बदलाव नहीं करता:

npx skills add globalize-now/globalize-skills

फिर अपने agent—Claude Code, Cursor या Codex—को prompt करें। Agent installed skills पढ़कर उनका इस्तेमाल आपके repo को scan करने के लिए करता है:

Set up localization for my project

Detection वास्तव में इसी दूसरे step में चलता है। Agent इन चीज़ों को खोजता है:

  • package.json dependencies: next-intl, react-i18next, i18next, @lingui/core, @lingui/react, @lingui/macro या कोई भी i18next-* plugin।
  • Locale folders: repo root पर messages/, एक locales/ folder या locale subfolders वाला src/i18n/।
  • मौजूदा locale files: en.json, en.po, en.yml, en.yaml या आपकी library द्वारा अपेक्षित default-locale file।
  • Framework-specific config: i18n.config.ts, next-intl middleware, lingui.config.js या इनके equivalents।

अगर इनमें से कम-से-कम दो signals मौजूद हों, तो project को L1—already internationalized—माना जाता है और setup flow full greenfield scaffold चलाने के बजाय branch हो जाता है। अधिक जानकारी existing i18n पर Help Center article में है।

L1 mode किन चीज़ों को बदलने से इनकार करता है?

लोगों के लिए यही सबसे महत्वपूर्ण हिस्सा है। L1 mode में globalize.now यह नहीं करता:

  • Hardcoded literals के लिए components scan करने वाला broad string-extraction pass चलाना।
  • नई translation keys generate करना या आपके पहले से commit किए गए key structure को फिर से व्यवस्थित करना।
  • उन भाषाओं के लिए locale files का scaffold बनाना जिन्हें आपने अभी configure नहीं किया है।
  • Language switcher inject करना। अगर आपके पास है, तो वह बना रहता है। अगर नहीं है, तो हम उसे जोड़ते नहीं हैं।
  • आपके लिए routing, middleware या framework config rewrite करना।

आपका मौजूदा i18n setup आपका ही रहता है। उस mode में हम उसे refactor नहीं करते।

Detection के बाद L1 sync mode क्या करता है?

L1 sync-first है। Detection पूरा होने के बाद:

  1. हम आपकी मौजूदा locale files पढ़कर current key shape और source of truth वाली language का पता लगाते हैं।
  2. आप globalize.now CLI या web app के ज़रिए GitHub repository connect करते हैं।
  3. आपकी main branch पर हर push के बाद हम source-language file का दूसरी locales से diff निकालते हैं। Missing translations को आपके configure किए गए glossary और style guide का पालन करने वाले AI output से भरा जाता है।
  4. Updated locale files वाली pull request आती है। आप उसकी समीक्षा करके merge करते हैं। हम आपकी ओर से कभी merge नहीं करते।

यही loop है। कोई translation dashboard babysit करने की ज़रूरत नहीं। कोई manual exports नहीं। कोई file-format juggling नहीं।

इसकी तुलना How do I add i18n to a Cursor-built Next.js app in 15 minutes? के L0 walkthrough से करें—product वही है, entry path अलग है।

अगर UI का केवल कुछ हिस्सा translation calls का इस्तेमाल करता हो तो?

Mid-migration में यही सामान्य स्थिति होती है: नई screens t() का इस्तेमाल करती हैं, जबकि legacy screens अब भी literals leak करती हैं। Sync mode के बाहर skills pipeline पहले से keyed strings को locked मानती है: यह उन literals पर ध्यान देती है जो अभी wired नहीं हैं और मौजूदा keys को सुरक्षित रखती है। जो teams इस migration के बीच रहते हुए हर हफ्ते ship करती हैं, वे हमारे logs में canonical “mixed L1” user हैं।

कठिन tree पर full-agent conversion story के लिए What happens when an AI agent internationalizes a real monorepo? देखें।

अगर setup flow ने फिर भी सब कुछ scaffold कर दिया हो तो आपको क्या करना चाहिए?

हम detection logic को बेहतर बना रहे हैं ताकि गलत branch न चले, लेकिन अगर npx skills add globalize-now/globalize-skills ने पहले ही 100+ files का diff बना दिया है, आपकी locale folder को rewrite किया है, ऐसा switcher जोड़ दिया है जिसे आपने नहीं माँगा था, या routing का structure बदल दिया है—तो commit न करें। Feedback widget (नीचे दाईं ओर) में अपनी package.json dependency list और locale folders की layout पर एक छोटा-सा note भेजें; हम repo को manually L1 में route कर सकते हैं। Self-serve --existing-i18n CLI flag जल्द आ रहा है।

आपकी machine पर recovery के लिए git restore . और ज़रूरत पड़ने पर git clean -fd करें। कुछ भी push नहीं हुआ; production-facing कुछ भी नहीं टूटा; agent ने केवल आपकी local branch को छुआ। पूरा विवरण globalize_skills ने बहुत ज़्यादा बदलाव कर दिए—क्या हुआ? में है।

“हमने i18n आज़माया और रुक गए” अब default story क्यों बन गई है?

यह कोई नारा नहीं—यह एक पैटर्न है। छह हफ्तों में पहली बार हुई तीन स्वतंत्र बातचीत, और तीनों में लगभग यही बात सुनने को मिली: “हाँ, हमने वह आज़माया था; अब यह काफ़ी जुगाड़ू हालत में है।” दसियों हज़ार उपयोगकर्ताओं वाले एक Chrome extension पर कोरियाई ट्रैफ़िक अचानक बढ़ा और अधूरी next-intl migration शुरू हो गई। Lovable से बनाया गया एक ऐप multilingual support जोड़ते समय अपना ही build तोड़ बैठा और बदलाव वापस करने पड़े। Vibe-coded React + Vite repo में i18next जोड़ा गया, लगभग एक-तिहाई keys भरी गईं और काम वहीं रुक गया।

पूरी तरह साफ़-सुथरा L0 codebase, जो किसी library की तलाश में हो, निश्चित रूप से मौजूद है—लेकिन bottleneck वह नहीं है। असली bottleneck वह codebase है जिसने यह काम एक बार आज़मा लिया है और अब कोई भी उसके बाद की गड़बड़ी की ज़िम्मेदारी नहीं लेना चाहता।

ऐसे codebase के लिए L1 mode मौजूद है।

इसकी कीमत कितनी है?

€20 प्रति माह। एक ही plan। लगभग 16,000 शब्द शामिल हैं (यानी करीब 80 सामान्य app screens)। Sign-up पर €5 का translation credit। चाहे आप L0 greenfield project से शुरू कर रहे हों या तीन साल के locale debt को संभाल रहे L1 codebase से, कीमत समान है—हम throughput और automation के लिए शुल्क लेते हैं, पहले commit की गड़बड़ी के लिए नहीं।

अब मुझे कौन-से posts और Help Center docs पढ़ने चाहिए?

आपके ट्रैफ़िक को जिन भाषाओं की पहले से ज़रूरत है, उन्हें ship करें—repo को globalize.now से connect करें, या देखें कि Git-push automation आपकी मौजूदा team workflow में कैसे फिट होती है।

globalize.now आपके ऐप्लिकेशन की हार्डकोडेड कॉपी को अनुवाद-तैयार locale फ़ाइलों में बदल देता है और जैसे-जैसे आप नई रिलीज़ करते हैं, उन्हें अपडेट रखता है।

globalize.now को निःशुल्क आजमाएं