Flutter ile Internationalization (i18n)

Flutter ile Internationalization (i18n)

Flutter ile Internationalization Nedir?

Flutter, mobil uygulama geliştirme için popüler bir framework'tür ve uluslararasılaşma (i18n) desteği ile farklı dillerdeki kullanıcılar için uygulamalar geliştirmenizi sağlar. Bu, kullanıcının diline ve yerel ayarlarına uygun içerik sunarak uygulamanızın daha erişilebilir olmasına yardımcı olur. Kullanıcı deneyimini geliştirmek ve uygulamanızın global pazarında rekabetçi olması için i18n önemli bir adımdır.

Uygulamada Internationalization Nasıl Uygulanır?

Dillerin Eklenmesi

Flutter'da i18n uygulamak için "flutter_localizations" paketini kullanmak gerekmektedir. İlk adım, bu paketi pubspec.yaml dosyanıza eklemektir:

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter

Daha sonra, uygulamanızın MaterialApp widget'ında localizationsDelegates ve supportedLocales özelliklerini ayarlamanız gerekir.

import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
      ],
      supportedLocales: [
        const Locale('en', ''), // İngilizce
        const Locale('tr', ''), // Türkçe
      ],
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Flutter ile Internationalization (i18n)')), 
      body: Center(child: Text('Merhaba Dünya')),  
    );
  }
}

Dil Dosyalarının Oluşturulması

Uygulamanızda kullanmak istediğiniz tüm diller için dil dosyaları oluşturmalısınız. Bu dosyalar genellikle JSON formatında olup, dil anahtarları ve karşılık gelen değerleri içerir:

{
  "hello": "Merhaba",
  "welcome": "Hoş geldiniz"
}

Sonuç

Flutter ile Internationalization (i18n) uygulamak, kullanıcı deneyimini artırmanın ve uygulamanızı küresel pazara sunmanın etkili bir yoludur. Yukarıda belirtilen adımları takip ederek, farklı dillerde içerik sunabilir ve geniş bir kullanıcı kitlesine hitap edebilirsiniz. Uygulamanızı geliştirdikçe, desteklemek istediğiniz dillerin sayısını artırmak kolaydır.