i18n nedir?
- React Native kursu
- Uzman
- Ders 31/47
- 5 dk
Internationalization (i18n) kavramını öğrenirsin.
i18n nedir?
i18n, internationalization kelimesinin kısaltmasıdır; 18 harf arası ilk ve son harfi alır. Uygulamanın birden fazla dili desteklemesidir. Kullanıcı dil seçer; arayüz o dile geçer. React Native'de bunu i18next kütüphanesiyle yaparız.
i18n olmadan her metin koda gömülür; yeni dil eklemek için kod değişikliği gerekir. i18n ile metinler ayrı dosyalarda tutulur; kod t('hello') gibi anahtarlarla metne ulaşır. Yeni dil eklemek yalnızca yeni bir dosya eklemektir. Bu, uygulamanın dünya çapında kullanılabilir olmasını sağlar.
Anahtar ve çeviri
i18n'de her metin bir anahtarla temsil edilir. Örneğin 'greeting' anahtarı Türkçede 'Merhaba', İngilizcede 'Hello' olur. Kod yalnızca anahtarı bilir; çeviri dile göre gelir.
t('greeting') çağrısı aktif dile bakar ve doğru çeviriyi döndürür. Anahtarlar kısa ve anlamlı olmalı: 'greeting', 'login.button', 'cart.total'. Noktalarla gruplama, büyük projelerde düzeni korur. Çeviri dosyaları tr.json, en.json gibi yerel dosyalardır; her biri bir dilin tüm anahtarlarını taşır.
Uygulama İlk çeviri anahtarını kullan
Bir Text bileşeni yaz. İçeriği t('title') çağrısı olsun. t fonksiyonu bileşene parametre olarak gelsin.
Başlangıç kodu
import React from 'react';
import { Text } from 'react-native';
function Title({ t }) {
return (
// t ile çeviri çağrısı yap
<Text>Sabit metin</Text>
);
}Örnek çözüm
import React from 'react';
import { Text } from 'react-native';
function Title({ t }) {
return (
<Text>{t('title')}</Text>
);
}Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 i18n neyin kısaltmasıdır?
t('hello')- internationalization Doğru cevap
- integration
- internet
- interpretation
Açıklama: internationalization kelimesinin kısaltmasıdır.
2 Çeviri çağrısı
const text = ____('greeting');
const text = t('greeting');
Açıklama: t fonksiyonu çeviri döndürür.
3 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
i18n |
Çok dillilik |
i18next |
Kütüphane |
t() |
Çeviri döndürür |
tr.json |
Türkçe çeviriler |