मेरे अनुवाद दिख नहीं रहे — मुझे क्या जाँचना चाहिए?
अगर आपका ऐप raw keys दिखा रहा है या कुछ भाषाओं में अनुवाद गायब हैं, तो समस्या का निदान करने के लिए इस चेकलिस्ट का पालन करें।
अगर आपका ऐप अनुवादित टेक्स्ट की जगह raw keys (जैसे common.welcome_title) दिखा रहा है, या कुछ भाषाओं में अनुवाद गायब हैं, तो इस चेकलिस्ट को क्रमशः फॉलो करें।
चरण 1: क्या अनुवाद publish हुए हैं?
सबसे आम कारण unpublished अनुवाद हैं। अपना dashboard जाँचें:
- अपने project में जाएँ
- "Draft changes" इंडिकेटर देखें
- अगर 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/projectformat (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 errors —
BETTER_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 जाँचता है।
अगले कदम
क्या यह लेख सहायक था?