React ile Internationalization (i18n) Yönetimi


Web uygulamanızda birden fazla dil desteği sunmak, kullanıcı deneyimini önemli ölçüde artırabilir. React uygulamalarında Internationalization (i18n) sağlamak, kullanıcıların tercih ettikleri dilde içerik görmelerini sağlamanın yanı sıra global pazara açılma süreçlerinde de fayda sağlar. Bu makalede, React ile i18n yönetiminden bahsedeceğiz.

Neden Internationalization (i18n)?

Globalleşen dünyada, kullanıcıların kendi dillerinde hizmet alabilmeleri büyük bir avantajdır. i18n, çeşitli dil ve kültürlere uygun hale getirilmiş yazılımlar oluşturarak, kullanıcı memnuniyetini artırır. Aynı zamanda hedef pazarınıza daha iyi yanıt vermenizi sağlar.

React Uygulamalarında i18n Kullanımı

React ile i18n yönetimi için popüler bir kütüphane olan react-i18next kullanılmaktadır. Bu kütüphane, kullanıcı arayüzlerinin dinamik olarak farklı dillere çevrilmesine olanak tanır. Şimdi, bu kütüphaneyi nasıl kuracağımızı ve kullanacağımızı adım adım inceleyelim.

Kurulum

React projenize react-i18next kütüphanesini eklemek için öncelikle gerekli paketleri yüklemeniz gerekiyor:

npm install react-i18next i18next

Kütüphane Yapılandırması

Kütüphaneyi projenizde yapılandırmak için aşağıdaki adımları takip edebilirsiniz:

import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';

i18n
  .use(initReactI18next)
  .init({
    resources: {
      en: {
        translation: {
          "welcome": "Welcome to our application!"
        }
      },
      tr: {
        translation: {
          "welcome": "Uygulamamıza Hoşgeldiniz!"
        }
      }
    },
    lng: "en", // Default language
    fallbackLng: "en",
    interpolation: {
      escapeValue: false // React already safes from xss
    }
  });

Kullanım

Daha sonra, diller arasında geçiş yapmak için bir dil değiştirme fonksiyonu tanımlayabilirsiniz:

const changeLanguage = (lng) => {
  i18n.changeLanguage(lng);
};

Dil değişikliğini gerçekleştirdikten sonra bileşeninizi oluştururken içeriklerinizi i18n ile kullanabilirsiniz:

import { useTranslation } from 'react-i18next';

const MyComponent = () => {
  const { t } = useTranslation();

  return <h1>{t('welcome')}</h1>;
};

Sonuç

React uygulamalarında Internationalization (i18n) sağlamak, kullanıcı deneyimini geliştiren önemli bir adımdır. react-i18next kütüphanesi sayesinde, farklı dillerde içerik sunmak oldukça kolay hale gelmektedir. Global pazarlara açılmada önemli bir avantaj sağlayan i18n, kullanıcı memnuniyetini artırması açısından da büyük önem taşımaktadır.