मेरे अनुवाद दिख नहीं रहे — मुझे क्या जाँचना चाहिए?

अगर आपका ऐप raw keys दिखा रहा है या कुछ भाषाओं में अनुवाद गायब हैं, तो समस्या का निदान करने के लिए इस चेकलिस्ट का पालन करें।

7 मिनट पठनमध्यम

अगर आपका ऐप अनुवादित टेक्स्ट की जगह raw keys (जैसे common.welcome_title) दिखा रहा है, या कुछ भाषाओं में अनुवाद गायब हैं, तो इस चेकलिस्ट को क्रमशः फॉलो करें।

चरण 1: क्या अनुवाद publish हुए हैं?

सबसे आम कारण unpublished अनुवाद हैं। अपना dashboard जाँचें:

  1. अपने project में जाएँ
  2. "Draft changes" इंडिकेटर देखें
  3. अगर unpublished changes हैं, तो "Publish" पर क्लिक करें

केवल published अनुवाद ही CDN पर उपलब्ध होते हैं। Draft अनुवाद केवल dashboard में दिखते हैं।

चरण 2: CDN को सीधे जाँचें

अनुवादों को सीधे fetch करके verify करें कि वे CDN पर हैं:

# Manifest जाँचें (उपलब्ध locales की सूची)
curl https://cdn.better-i18n.com/your-org/your-project/manifest.json

# किसी specific locale के अनुवाद जाँचें
curl https://cdn.better-i18n.com/your-org/your-project/en/translations.json

अगर manifest खाली object या { "fallback": true } return करता है, तो आपके अनुवाद अभी publish नहीं हुए हैं।

चरण 3: Project configuration verify करें

सुनिश्चित करें कि आपका SDK configuration आपके project से मेल खाता है:

// Project identifier को एक बार और जाँचें
const i18n = createI18n({
  project: 'acme/dashboard', // बिल्कुल मेल खाना चाहिए: org/project
  defaultLocale: 'en',       // आपके source locale से मेल खाना चाहिए
});

सामान्य गलतियाँ:

  • गलत org/project format (case-sensitive)
  • defaultLocale और dashboard में source language का मेल न खाना
  • जहाँ public key चाहिए वहाँ secret key उपयोग करना (या उल्टा)

चरण 4: Locale normalization जाँचें

CDN lowercase BCP 47 locale codes उपयोग करता है। अगर आपका ऐप pt-BR उपयोग करता है लेकिन CDN pt-br expect करता है, तो अनुवाद match नहीं होंगे।

SDK यह normalizeLocale() के जरिए automatically handle करता है, लेकिन अगर आप URLs manually बना रहे हैं, तो उन्हें lowercase करना सुनिश्चित करें।

चरण 5: Browser console जाँचें

DevTools खोलें और देखें:

  • Network tab — क्या cdn.better-i18n.com पर request जा रही है? Response क्या है?
  • Console errorsBETTER_I18N_PROJECT is not configured जैसी कोई error?
  • Response body — क्या translations JSON में आपकी keys हैं?

चरण 6: Cache timing

Publish करने के बाद, एक छोटी window होती है जिसमें caches पुराना data serve कर सकते हैं:

Cache layer अधिकतम stale समय
CDN edge Publish पर तुरंत purge होता है
SDK in-memory (TtlCache) 60 seconds तक
Next.js ISR 30 seconds तक (default)
Browser HTTP cache 60 seconds तक

Publish करने के 60 seconds बाद प्रतीक्षा करें और browser को hard-refresh करें (Cmd+Shift+R)।

चरण 7: Namespace matching जाँचें

अगर आप namespaces उपयोग कर रहे हैं, तो सुनिश्चित करें कि वे आपके code और dashboard के बीच match करते हैं:

// Code 'common' namespace उपयोग करता है
const t = useTranslations('common');

// Dashboard में 'common' namespace के अंतर्गत keys होनी चाहिए
// common.welcome_title → "स्वागत है!"

अगर आपकी keys default namespace में हैं लेकिन code एक specific namespace request करता है (या उल्टा), तो अनुवाद resolve नहीं होंगे।

अभी भी stuck हैं?

CLI doctor command चलाएँ:

better-i18n doctor

यह configuration, authentication, API connectivity, और सामान्य setup issues जाँचता है।

अगले कदम

क्या यह लेख सहायक था?