Flutter Yerelleştirme(Localizations) İşlemleri

31.07.2020 22:54
#FLUTTER #HATA

Flutter Yerelleştirme(Localizations) İşlemleri

Flutter'da bir ShowDatePicker kullandığım sırada dilin varsayılan olarak ingilizce gelmesinden dolayı locale özelliğini kullanarak dili türkçe yapmak istediğim zaman aldığım hata şu şekildeydi.

The method 'formatMediumDate' was called on null.
Receiver: null
Tried calling: formatMediumDate(Instance of 'DateTime')

Buradaki sorun şu şekilde gelişti. 

locale: const Locale('tr','TR'),

Şeklinde bir tanım yaptım ve DatePicker'ı aktif ettiğim zaman yukarıda belirtilen hata meydana geldi.

Buradaki hata eksik kullanımdan kaynaklı bir hata. Bu hatayı çözmek için Flutter'da Localizations işleminin nasıl yapıldığını bilmemiz gerekiyor.

Flutter'da Yerelleştirme(Localizations) İşlemleri

1.Öncelikle pubspec.yaml dosyası içerisinde dependencies altında,

flutter_localizations:
sdk: flutter

Yukarıdaki kod yazılacaktır ve packages.get işlemi yapılacaktır.

2. Main.dart içerisinde projemizde kullanacağımız dilleri tanımlamamız gerekiyor. Bunun için MaterialApp altında,

localizationsDelegates: [
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
supportedLocales: [
const Locale('en', 'US'),
const Locale('ru', 'RU'),
const Locale('tr', 'TR'),
],

Yukarıdaki kod yazılacaktır. Ve sistemde kullanılabilecek diller kayıt altına alınmış olacaktır. Daha sonra yeni diller istenildiği takdirde alt alta eklenerek tanımlanabilmektedir.

3. Bu iki tanımlama yapıldıktan sonra artık dilediğimiz widget altında locale özelliğine const Locale('tr','TR') gibi bir tanımlama yaparak tanımlanan dillerden dilediğimizi aktif hale getirebiliriz.