CodeBlanks Logo Icon CodeBlanks

useTranslation

useTranslation hook'unu öğrenirsin.

useTranslation hook'u

useTranslation, react-i18next'in sağladığı bir hook'tür. Bileşende t fonksiyonuna ulaşmanın en temiz yoludur. Props ile t taşımak yerine her bileşen kendi çevirisini çağırır.

Kullanım: const { t } = useTranslation();. Sonra <Text>{t('hello')}</Text> yazarsın. Hook, aktif dile göre t'yi döndürür; dil değişince bileşen otomatik yeniden render olur. Bu, props drilling'i ortadan kaldırır. useTranslation ayrıca i18n nesnesi de döndürür; dil değiştirme için kullanılır.

Uygulama useTranslation kullan

Bir Greeting bileşeni yaz. useTranslation() çağırıp t alın. <Text>{t('hello')}</Text> döndürsün.

Başlangıç kodu

App.js
import React from 'react';
import { Text } from 'react-native';
import { useTranslation } from 'react-i18next';

function Greeting() {
  // useTranslation çağrısı ve Text dönüşü
  return <Text>Sabit</Text>;
}

Örnek çözüm

App.js
import React from 'react';
import { Text } from 'react-native';
import { useTranslation } from 'react-i18next';

function Greeting() {
  const { t } = useTranslation();
  return <Text>{t('hello')}</Text>;
}

t fonksiyonu parametreleri

t fonksiyonu yalnızca anahtar almaz; parametre de alır. Örneğin t('welcome', { name: 'Ayşe' }) çağrısı çevirideki {{ name }} yerini doldurur. Çeviri: "welcome": "Hoş geldin, {{name}}".

Sonuç: "Hoş geldin, Ayşe". Bu interpolation olarak bilinir. Çoğullama da desteklenir: t('item', { count: 3 }). Çeviri dosyasında "item_one": "bir öğe", "item_other": "{{count}} öğe" tanımlanır. Bu sayede dinamik metinler temiz kalır; string birleştirme yapmazsın.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 useTranslation ne döndürür?

App.js
const { t, i18n } = useTranslation();
  • Boş nesne
  • Yalnızca i18n
  • Yalnızca t
  • t ve i18n Doğru cevap

Açıklama: useTranslation hem t hem i18n döndürür.

2 useTranslation çağrısı

Soru
const { ____ } = useTranslation();
Cevap
const { t } = useTranslation();

Açıklama: Destructuring ile alınır.

3 Parçayı rolüne eşle

Kavram Anlamı
useTranslation Hook
t Çeviri döndürür
i18n Dil yönetir
react-i18next Kütüphane

Uzman bölümündeki tüm dersler