React Native Lokalizasyon – Çeviri (Localization)

React Native ile geliştirilen mobil uygulamalarda dil desteği ekleyebilmekteyiz. Dil desteği ya da farklı dillerde kullanılabilme özelliği uygulamaları daha efektif yapabilmektedir.

React Native için dil desteği sağlayan etkili kütüphane olarak seçtiğimiz kütüphane üzerinden işlemleri anlatalım.

Kurulum

Alttaki komutlarla kurulum işlemini tamamlayabiliriz.

yarn add react-native-localization --save

#react-native >= 0.60
cd ios && pod install

#react-native < 0.60
react-native link react-native-localization

Girilen komutlardan sonra eğer kütüphanenin kullanımında bir problem oluşursa elle (manuel) bağlama (link) yolunu tercih etmek durumunda kalabiliriz.

Kullanım

Otomatik çevirisinin yapılmasını istediğimiz metinleri dillere göre json formatında bir array içerisinde tutuyoruz. Örnek olarak uygulamamızda ücretli / ücretsiz durumlar için kullanılabilecek bir ifade olan “Start for free” ibaresi için kod parçacığı aşağıdadır.

import LocalizedStrings from 'react-native-localization'

export const localizationStrings = new LocalizedStrings({
    en:{
      start_for_free: "Start for free",
    },
    tr: {
        start_for_free: "Ücretsiz başla",
    },
    fr: {
        start_for_free: "Commencer gratuitement",
    },
    de: {
        start_for_free: "Kostenlos starten",
    },
    es: {
        start_for_free: "Empezar gratis",
    },
    pt: {
        start_for_free: "Comece de graça",
    },
    zh: {
        start_for_free: "免费开始",
    },
    ja: {
        start_for_free: "無料で始める",
    },
    ko: {
        start_for_free: "무료로 시작",
    }
});

Yukarıdaki kodda 9 farklı dilde “Start for free” ibaresi yer almaktadır. Bu metnin örnek kullanımını alttaki kodda belirttik. Böylelikle otomatik çevirimiz başarılı bir şekilde çalışacaktır.

<Text>
{localizationStrings.start_for_free}
</Text>

Not: Bazı diller birden çok ülkede kullanılabilmektedir. Mesela Amerika ve İngiltere, İngilizce konuşmaktadır. Bunların dil kodları en, en-Us şeklinde olabilmektedir. Biz – ibaresinden sonrasını json yapımıza dahil etmiyoruz.

Teşekkürler.