0Pricing
React Academy · Ders

react-i18next Kurulumu

Dil algılama ve ad alanı bölme özellikleriyle i18next'i kurup yapılandırın.

react-i18next Kurulumu, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 1. 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 React uygulamasına çok dilli destek eklemek için dil algılama ve ad alanı bölme özellikleriyle react-i18next'i kurup yapılandıracaksınız.

Bağımlılıkları Yükleme

i18next ve react-i18next'i yükleyin. Otomatik yerel ayar algılama için isteğe bağlı olarak i18next-browser-languagedetector, çevirileri HTTP üzerinden yüklemek için de i18next-http-backend ekleyin.
npm install i18next react-i18next
npm install i18next-browser-languagedetector i18next-http-backend

i18n.js Oluşturma

i18next'i başlatan bir `i18n.js` dosyası oluşturun. Eklentiler eklemek için `i18n.use(...)` ve yapılandırmanızla `.init({...})` çağrısını yapın.
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import LanguageDetector from 'i18next-browser-languagedetector';

i18n
  .use(LanguageDetector)
  .use(initReactI18next)
  .init({
    fallbackLng: 'en',
    resources: { en: { translation: {} }, tr: { translation: {} } },
    interpolation: { escapeValue: false },
  });

export default i18n;

i18n'i main.jsx İçinde İçe Aktarma

Uygulamayı oluşturmadan ÖNCE i18n başlatma dosyasını içe aktarın. Bu, herhangi bir bileşen useTranslation çağırmadan önce i18n'in hazır olmasını sağlar.
import './i18n'; // must be before App
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import App from './App';

createRoot(document.getElementById('root')).render(
  <StrictMode><App /></StrictMode>
);

Ad Alanları

Ad alanları çevirileri mantıksal gruplara böler (ör. 'common', 'auth', 'dashboard'). Her ad alanı, ilk paket boyutunu azaltmak için isteğe bağlı olarak yüklenen ayrı bir JSON dosyasıdır.
resources: {
  en: {
    common: { save: 'Save', cancel: 'Cancel' },
    auth: { login: 'Log in', logout: 'Log out' },
  }
}

Dil Algılama

LanguageDetector eklentisi, kullanıcının tercih ettiği dili tarayıcıdan (navigator.language), localStorage'dan veya URL sorgu dizesinden okur. İlk yüklemede etkin dili otomatik olarak ayarlar.

Çevirileri Genel Klasörden Yükleme

Çevirileri `public/locales/{lang}/{ns}.json` konumunda JSON dosyaları olarak saklayın. Çalışma zamanında yüklenmeleri için arka uç eklentisini yapılandırın; böylece yeni bir dil eklemek için kod değişikliği gerekmez.
import Backend from 'i18next-http-backend';

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

I18nextProvider (İsteğe Bağlı)

I18nextProvider, i18n örneğini bağlam üzerinden sağlamak için uygulamanızı sarmalar. react-i18next v11+ ve initReactI18next eklentisiyle bu adım isteğe bağlıdır; kanca, genel i18n örneğini doğrudan okur.

Bileşenlerde Başlatmayı Denetleme

i18next çevirileri eşzamansız olarak yükler. Çeviri anahtarlarının görünmesini önlemek için `useTranslation` içindeki `ready` özelliğini kullanın veya metni oluşturmadan önce `i18n.isInitialized` değerini denetleyin.
const { t, ready } = useTranslation();
if (!ready) return null;

DevTools ve Eksik Anahtarları Yönetme

Geliştirme sırasında eksik çeviri anahtarlarını konsola günlüğe kaydetmek için `saveMissing: true` ayarlayın. Bu, çevrilmemiş dizeleri hızlıca bulmanıza yardımcı olur.
i18n.init({ saveMissing: true,
  missingKeyHandler: (lng, ns, key) => console.warn('Missing:', key) });

Hızlı Kontrol

React uygulamanızı oluşturmadan önce i18n başlatma dosyasını neden içe aktarmanız gerekir?

Özet

i18next + react-i18next'i yükleyin, eklentiler ve init yapılandırmasıyla i18n.js oluşturun, uygulamayı oluşturmadan önce bu dosyayı içe aktarın ve çevirileri ad alanlarında düzenleyin. Çeviri dosyalarını çalışma zamanında yüklemek için http-backend kullanın.

Sırada

Sonraki ders: **useTranslation Kancasını Kullanma** — sabit kodlanmış dizeleri t() çağrılarıyla değiştirecek ve JSON çeviri dosyalarını düzenleyeceksiniz.

Sıkça Sorulan Sorular

“react-i18next Kurulumu” dersi ücretsiz mi?

Evet — “react-i18next Kurulumu” 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.

“react-i18next Kurulumu” dersinde ne öğreneceğim?

Dil algılama ve ad alanı bölme özellikleriyle i18next'i kurup yapılandırın. 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 1. dersidir.

“react-i18next Kurulumu” 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