Localization: Storyboard Localization
Localization, geliştirdiğimiz projeler için çoklu dil desteği eklemeyi sağlayan yapıdır.
Merhaba sevgili TurkishKit okurları, bu yazımızda Localization (Yerelleştirme) terimini inceleyeceğiz. Ardından kullanım alanlarını değerlendirip, yazacağımız örnek uygulamamız üzerinden Localization desteğini, projelerimize nasıl ekleyebileceğimiz hakkında fikir sahibi olacağız.
Ayrıca, Swift dili için olmazsa olmaz Protocols konusu üzerine yayınladığımız serinin yeni yazısı olan Protocols #2 makalemizi okumanızı da tavsiye ederim.
Localization Nedir ?
Localization (Yerelleştirme), geliştirdiğimiz projeler için çoklu dil desteği yaratmayı sağlayan, uygulama geliştirme basamakları arasında önemli bir yere sahip olan temel yapılardan biridir.
Nerede Kullanılır ?
Localization, uygulamalarımızın içerisinde kullanıcıların bölgelerine ve kullandıkları dile bağlı olarak değişebilecek tüm elementler üzerinde kullanılabilecek bir yapıdır. Örneğin
- Uygulamada gösterdiğimiz tarihlerin formatı
- Bölgelere göre para birimleri
- Kullanıcıların bölgelerinin kullandığı dile göre açılan klavyeler
- Uygulama içerisinde ki metinlerin dili
Yukarıda ki örnekler dışında da aklınıza gelebilecek, bölgesel tüm ihtiyaçlarınızı Localization ile çözebilirsiniz.
Localization hakkında bir fikir sahibi olmuşuzdur umarım, şimdi örnek uygulamamızı geliştirelim ve Swift ile geliştirdiğimiz bir uygulamanın Storyboard dosyası üzerinde ki elemanların değerlerini, nasıl bölgelere göre kontrol edebiliriz öğrenelim
Kodlama Zamanı
Örnek uygulamamızda, cihazımızın bölgesinde ki tanımlı dile göre uygulama içerisinde ki UILabel elementlerimizi güncelleyebileceğimiz bir arayüz oluşturacağız.
1- Projemizi Oluşturalım Ve Interface Builder Yardımı İle Arayüzü Tasarlayalım
Örnek projemizde, sadece üzerinde localization yapısını çalıştırabilmek adına, bir adet UILabel elementi oluşturuyoruz. UILabel elementimizin içerisinde ki “Merhaba TurkishKit Okurları” mesajının dilini, cihazın bölgesine göre değiştireceğiz.
2- Localization Yapısını Oluşturalım
Uygulamalarımıza localization yapısını ekleyebilmek için, öncelikle proje ayarlarımız içerisinden Info sekmesini seçiyoruz.
Ardından yeni bir dil desteği ekleyebilmek için, Localizations sekmesi altında ki + butonuna tıklıyoruz. Karşımıza çıkan ekranda localization yapısı kurabilmemiz için bize iki seçenek sunuyor. Bunlar her dil desteği için yeni bir storyboard oluşturmak ve uygulamamızın kaynak kodu içerisinden localizations yapısını kullanabilmemiz için String dosyaları için bir localizations dosyası oluşturmak.
Ben örnek projemiz için desteklediğim dillere İngilizce ve İtalyancayı ekledim. Şimdi bölgemize göre dili nasıl değiştirebileceğimizi görelim. Main.storyboard dosyamız içerisinde yeni bir dosya oluştuğunu görebiliriz. İtalyanca dil desteği için oluşan dosya, içerisinde ekrandaki elemanlarımızın içerilerinde barındırdıkları değerlerin İtalyanca karşılıklarını tutuyor.
UILabel içerisine koyduğumuz mesajımızın İtalyanca çevirisini dosyamıza eklediğimizde, geriye sadece uygulamamızı çalıştırmak kalıyor!
Tüm adımları doğru takip ettiysek, beklenen çıktı aşağıdaki gibi olacak.
Simülatörün ayarları içerisinden telefonun bölge ve dilini İtalya için uygun hale getirmeliyiz. Bunun için target bölmemize tıklayıp, Edit Scheme sekmesini seçmeliyiz.
Ardından açılan ayarlar sayfasından, bölge ve dili İtalyanca için uygun hale getirip, Duplicate Scheme sekmesine tıklıyoruz.
Uygulamayı, oluşturduğumuz İtalya bölgeli simülatör üzerinden tekrar açtığımızda, karşımızda gördüğümüz çıktı aşağıdaki gibi olacak.
Bu yazımızda, Localization yapısına bir giriş yapıp, uygulamalarımızın ekranları içerisinde ki elementlere dil desteği nasıl ekleyebileceğimizi inceledik. Örnek uygulamamız ile pratiğini ve implementasyonunu gördük.
Uygulamamızın kaynak kodlarına GitHub hesabımız üzerinden ulaşabilirsiniz.
Hedeflerinize bir adım daha yaklaştığınız günler dilerim. Kendinize iyi bakın ✋