0Pricing
React Academy · Ders

useTranslation Hook'unu Kullanma

Sabit kodlanmış metinleri t() çağrılarıyla değiştirin ve çeviri JSON dosyalarını düzenleyin.

useTranslation Hook'unu Kullanma, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 2. 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 t() işlevine erişmek için useTranslation kancasını kullanacak, bileşenlerdeki dizeleri çevirecek ve JSON çeviri dosyalarını ad alanına göre düzenleyeceksiniz.

useTranslation Kancası

`useTranslation()` işlevini bir bileşenin içinde çağırarak `t` çeviri işlevini ve `i18n` örneğini alın. Ad alanlarına göre çeviri kullanıyorsanız ad alanının adını iletin.
import { useTranslation } from 'react-i18next';

function Header() {
  const { t } = useTranslation('common');
  return <h1>{t('app_title')}</h1>;
}

Temel Çeviri Anahtarları

Her dil ve ad alanı için bir JSON dosyası oluşturun. Anahtarlar nokta gösterimiyle erişilebilen dizelerdir. Düz anahtarlar basittir; iç içe anahtarlarda nokta gösterimi kullanılır.
// public/locales/en/common.json
{
  "app_title": "My App",
  "nav": {
    "home": "Home",
    "about": "About"
  }
}

Nokta Gösterimli Anahtarlar

t() işlevinde iç içe anahtarlara nokta gösterimiyle erişin: `t('nav.home')`, JSON içindeki `nav -> home` yolunu okur.
const { t } = useTranslation('common');
return <a href="/">{t('nav.home')}</a>;

Varsayılan Ad Alanı

i18n init içinde bir `defaultNS` yapılandırarak useTranslation() işlevini bağımsız değişken olmadan çağırabilir ve anahtarların otomatik olarak varsayılan ad alanında çözümlenmesini sağlayabilirsiniz.
i18n.init({ defaultNS: 'common', ... });

// No namespace argument needed
const { t } = useTranslation();
t('app_title'); // resolves in 'common'

Birden Çok Ad Alanına Erişme

Birden çok ad alanına erişmek için useTranslation işlevine bir dizi iletin. Anahtarların önüne, ardından iki nokta gelen ad alanını ekleyin.
const { t } = useTranslation(['common', 'auth']);

t('common:app_title');
t('auth:login');

JSX İçeriği için Trans Bileşeni

Çevrilmiş bir dize HTML veya React bileşenleri içerdiğinde Trans bileşenini kullanın. Bu bileşen, React bileşenleriyle eşleşen yer tutucuları destekler.
import { Trans } from 'react-i18next';

// JSON: "tos": "Read our <1>Terms</1>"
<Trans i18nKey="tos">
  Read our <a href="/terms">Terms</a>
</Trans>

Çeviri Dosyası Yapısı

JSON dosyalarını `public/locales/{lang}/{ns}.json` biçiminde düzenleyin. Anahtarları anlamlı tutun ve özelliklere göre gruplandırın. Çok derin iç içe anahtarlardan kaçının — genellikle 2 seviye yeterlidir.
public/
  locales/
    en/
      common.json
      auth.json
      dashboard.json
    tr/
      common.json
      auth.json

Çalışma Zamanında Dil Değiştirme

Etkin dili program aracılığıyla değiştirmek için `i18n.changeLanguage(lng)` kullanın. useTranslation kullanan React bileşenleri otomatik olarak yeniden işlenir.
const { i18n } = useTranslation();

<button onClick={() => i18n.changeLanguage('tr')}>Turkish</button>

Etkin Dili Algılama

Geçerli etkin yerel ayarı almak için `i18n.language` değerini okuyun. Bunu bir bayrak görüntülemek veya etkin dil düğmesini vurgulamak için kullanabilirsiniz.
const { i18n } = useTranslation();
return <p>Current lang: {i18n.language}</p>;

Hızlı Kontrol

'common' ad alanındaki 'nav.home' iç içe çeviri anahtarına nasıl erişirsiniz?

Özet

useTranslation size t() işlevini verir. Anahtarları ad alanı JSON dosyalarında düzenleyin. İç içe anahtarlar için nokta gösterimini kullanın. Dilleri i18n.changeLanguage ile değiştirin. JSX içeren dizeler için Trans bileşenini kullanın.

Sırada

Sonraki ders: **Çoğullaştırma ve Enterpolasyon** — sayıya dayalı çoğul biçimlerini ele alacak ve çevrilmiş dizelere dinamik değerler ekleyeceksiniz.

Sıkça Sorulan Sorular

“useTranslation Hook'unu Kullanma” dersi ücretsiz mi?

Evet — “useTranslation Hook'unu Kullanma” 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.

“useTranslation Hook'unu Kullanma” dersinde ne öğreneceğim?

Sabit kodlanmış metinleri t() çağrılarıyla değiştirin ve çeviri JSON dosyalarını düzenleyin. 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 2. dersidir.

“useTranslation Hook'unu Kullanma” 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