0Pricing
React Academy · Ders

Dil Değiştirici ve Çevirileri Tembel Yükleme

Bir yerel ayar değiştiricisi oluşturun ve başlangıç boyutunu azaltmak için çeviri paketlerini isteğe bağlı yükleyin.

Dil Değiştirici ve Çevirileri Tembel Yükleme, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

Bu derste bir dil değiştirici bileşeni oluşturacak ve i18next'i çeviri paketlerini gerektiğinde yükleyecek şekilde yapılandırarak ilk JavaScript yükünü azaltacaksınız.

Basit Dil Değiştirici

Etkin dili değiştirmek için düğme tıklamasında i18n.changeLanguage() çağrısını yapın. useTranslation kullanan tüm bileşenler yeni dille otomatik olarak yeniden işlenir.
function LanguageSwitcher() {
  const { i18n } = useTranslation();
  return (
    <div>
      {['en', 'tr', 'fr'].map(lng => (
        <button
          key={lng}
          onClick={() => i18n.changeLanguage(lng)}
          style={{ fontWeight: i18n.language === lng ? 'bold' : 'normal' }}
        >
          {lng.toUpperCase()}
        </button>
      ))}
    </div>
  );
}

Dil Seçimini Kalıcı Hale Getirme

Seçilen dilin sayfa yeniden yüklendiğinde korunması için dili localStorage içine kaydedin. LanguageDetector eklentisi bunu `localStorage` algılayıcı sırasıyla otomatik olarak gerçekleştirir.
i18n.init({
  detection: {
    order: ['localStorage', 'navigator'],
    caches: ['localStorage'],
  },
});

Çeviriler Neden Tembel Yüklenir?

Tüm çevirileri JavaScript paketine dahil etmek ilk yükleme süresini artırır. Tembel yükleme, ilk yüklemede yalnızca varsayılan dili gönderir ve diğer dilleri sadece kullanıcı değiştirdiğinde getirir.

HTTP Arka Ucunu Yapılandırma

i18next-http-backend eklentisi çeviri dosyalarını bir URL kalıbından getirir. Çeviriler `public/` klasöründe bulunur ve statik varlıklar olarak sunulur — sunucu tarafı kodu gerekmez.
import Backend from 'i18next-http-backend';

i18n.use(Backend).init({
  backend: {
    loadPath: '/locales/{{lng}}/{{ns}}.json',
  },
  ns: ['common', 'auth'],
  defaultNS: 'common',
});

Çeviri Dosyaları Ekleme

`public/locales/` içinde her dil ve ad alanı için bir JSON dosyası oluşturun. HTTP arka ucu, dil veya ad alanı ilk kez gerektiğinde bu dosyaları otomatik olarak getirir.
public/locales/
  en/common.json
  en/auth.json
  tr/common.json
  tr/auth.json

Dil Değiştirme Sırasında Yükleme Durumunu Gösterme

changeLanguage() çağrısından sonra i18next, yeni dilin dosyalarını eşzamansız olarak yükler. Bir yükleme göstergesi görüntülemek için `i18n.on('languageChanged')` olayına abone olun veya `i18n.isInitialized` değerini kontrol edin.
const [switching, setSwitching] = useState(false);

const change = async (lng) => {
  setSwitching(true);
  await i18n.changeLanguage(lng);
  setSwitching(false);
};

Belirli Ad Alanlarını Tembel Yükleme

Bir ad alanını yalnızca ilk kez gerektiğinde `i18n.loadNamespaces(['dashboard'])` ile yükleyin. Kimliği doğrulanmamış kullanıcılar için yüklemeyi önlemek amacıyla bunu bir dashboard rotası bağlandığında useEffect içinde çağırın.
useEffect(() => {
  i18n.loadNamespaces('dashboard');
}, []);

Çeviriler için CDN

Üretim ortamında çeviri dosyalarını bir CDN'de (S3 + CloudFront) barındırın. `loadPath` değerini CDN URL'siyle güncelleyin. Böylece çeviri güncellemeleri kod dağıtımlarından ayrılır.
backend: {
  loadPath: 'https://cdn.example.com/locales/{{lng}}/{{ns}}.json',
}

URL'de Yerel Ayar

Birçok uygulama yerel ayarı URL'ye ekler (ör. /en/products, /tr/products). React Router'ı i18n ile birleştirin: yerel ayarı URL parametresinden okuyun, changeLanguage çağrısını yapın ve kullanıcı değiştirdiğinde URL'yi güncelleyin.

Hızlı Kontrol

i18next-http-backend eklentisi ne yapar?

Özet

i18n.changeLanguage() ile bir dil değiştirici oluşturun. Seçimi localStorage algılayıcısıyla kalıcı hale getirin. Çeviri dosyalarını tembel yüklemek için i18next-http-backend kullanın. Dil değiştirme sırasında yükleme durumunu gösterin. Üretim ortamında dosyaları bir CDN'de barındırın.

Kurs Tamamlandı

Tebrikler! **React'te Uluslararasılaştırma (i18n)** kursunu tamamladınız. Artık react-i18next'i kurabilir, dizeleri ad alanlarıyla çevirebilir, çoğulları ve enterpolasyonu ele alabilir ve çeviri dosyalarını tembel olarak yükleyebilirsiniz.

Sıkça Sorulan Sorular

“Dil Değiştirici ve Çevirileri Tembel Yükleme” dersi ücretsiz mi?

Evet — “Dil Değiştirici ve Çevirileri Tembel Yükleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.

“Dil Değiştirici ve Çevirileri Tembel Yükleme” dersinde ne öğreneceğim?

Bir yerel ayar değiştiricisi oluşturun ve başlangıç boyutunu azaltmak için çeviri paketlerini isteğe bağlı yükleyin. React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

React Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Dil Değiştirici ve Çevirileri Tembel Yükleme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu React Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. react-i18next Kurulumu
  2. useTranslation Hook'unu Kullanma
  3. Çoğullaştırma ve Araya Değer Ekleme
  4. Dil Değiştirici ve Çevirileri Tembel Yükleme
← React Academy Sayfasına Dön