Çevirilerim görünmüyor — neyi kontrol etmeliyim?

Uygulamanız ham anahtarlar gösteriyorsa veya bazı dillerde çeviriler eksikse, bu kontrol listesini takip edin.

7 dk okumaOrta Düzey

Uygulamanız çevrilmiş metin yerine ham anahtarlar (örneğin common.welcome_title) gösteriyorsa veya bazı dillerde çeviriler eksikse, bu kontrol listesini adım adım takip edin.

1. Adım: Çeviriler yayınlandı mı?

En yaygın neden, yayınlanmamış çevirilerdir. Dashboard'unuzu kontrol edin:

  1. Projenize gidin
  2. "Taslak değişiklikler" göstergesini arayın
  3. Yayınlanmamış değişiklikler varsa "Yayınla" seçeneğine tıklayın

Yalnızca yayınlanan çeviriler CDN üzerinde kullanılabilir. Taslak çeviriler yalnızca dashboard'da görünür.

2. Adım: CDN'yi doğrudan kontrol edin

Çevirilerin CDN'de olup olmadığını doğrudan sorgulayarak doğrulayın:

# Manifesti kontrol edin (mevcut locale listesi)
curl https://cdn.better-i18n.com/your-org/your-project/manifest.json

# Belirli bir locale için çevirileri kontrol edin
curl https://cdn.better-i18n.com/your-org/your-project/en/translations.json

Manifest boş bir nesne veya { "fallback": true } döndürüyorsa, çevirileriniz henüz yayınlanmamıştır.

3. Adım: Proje yapılandırmasını doğrulayın

SDK yapılandırmanızın projenizle eşleştiğinden emin olun:

// Proje tanımlayıcısını bir kez daha kontrol edin
const i18n = createI18n({
  project: 'acme/dashboard', // Tam olarak eşleşmeli: org/project
  defaultLocale: 'en',       // Dashboard'daki kaynak locale ile eşleşmeli
});

Yaygın hatalar:

  • Yanlış org/project formatı (büyük/küçük harf duyarlı)
  • defaultLocale ile dashboard'daki kaynak dil arasındaki uyumsuzluk
  • Public key gerekirken secret key kullanmak (veya tam tersi)

4. Adım: Locale normalizasyonunu kontrol edin

CDN, küçük harfli BCP 47 locale kodlarını kullanır. Uygulamanız pt-BR kullanırken CDN pt-br bekliyorsa, çeviriler eşleşmez.

SDK bunu normalizeLocale() aracılığıyla otomatik olarak yönetir; ancak URL'leri manuel olarak oluşturuyorsanız küçük harfe dönüştürdüğünüzden emin olun.

5. Adım: Tarayıcı konsolunu kontrol edin

DevTools'u açın ve şunlara bakın:

  • Network sekmesicdn.better-i18n.com'a bir istek var mı? Yanıt ne?
  • Konsol hatalarıBETTER_I18N_PROJECT is not configured gibi bir hata var mı?
  • Yanıt gövdesi — çeviriler JSON'ı anahtarlarınızı içeriyor mu?

6. Adım: Önbellek zamanlaması

Yayınladıktan sonra, önbelleklerin eski veri sunabileceği kısa bir süre olabilir:

Önbellek katmanı Maks. eski veri süresi
CDN edge Yayınlamada anında temizlenir
SDK bellek içi (TtlCache) 60 saniyeye kadar
Next.js ISR 30 saniyeye kadar (varsayılan)
Tarayıcı HTTP önbelleği 60 saniyeye kadar

Yayınladıktan 60 saniye sonra bekleyin ve tarayıcınızı tamamen yenileyin (Cmd+Shift+R).

7. Adım: Namespace eşleşmesini kontrol edin

Namespace kullanıyorsanız, kodunuz ile dashboard arasında eşleştiğinden emin olun:

// Kod 'common' namespace'ini kullanıyor
const t = useTranslations('common');

// Dashboard'da 'common' namespace altında anahtarlar bulunmalı
// common.welcome_title → "Hoş geldiniz!"

Anahtarlarınız varsayılan namespace'deyken kodunuz belirli bir namespace istiyorsa (veya tam tersi), çeviriler çözümlenmez.

Hâlâ takıldınız mı?

CLI doctor komutunu çalıştırın:

better-i18n doctor

Bu komut yapılandırmayı, kimlik doğrulamayı, API bağlantısını ve yaygın kurulum sorunlarını kontrol eder.

Sonraki adımlar

Bu makale yardımcı oldu mu?