Merhaba arkadaşlar, bu yazımızda Xamarin Forms ile iOS tarafında izinleri farklı diller için nasıl yönetebiliriz bundan bahsedeceğim. Bir çok uygulamada çoklu dil desteği sunulur ama uygulamanın bütünlüğünün bozulmaması için kullanıcıya her şeyin bir bütün olduğunu göstermek zorundayız. Örnek veriyorum uygulamanız İngilizce ve Türkçe dillerini desteklemesine rağmen izinler sadece Türkçe dilindeyse yabancı kullanıcılar için b sorun olacaktır. Aynı zamanda App Store’da uygulama incelenirken, inceleyenler de bunu gördüklerinde uygulamanızı düzeltmenizi istiyorlar.
Öncelikle projemizin iOS katmanına geliyoruz ve ardından Resource klasörünün altında farklı dillerde kullanılacak olan stringleri eklemek için bir Base.lproj adında bir klasör oluşturuyoruz. Bunu yanı sıra uygulamanızda başka hangi dillerde kullanılacaksa tr.lproj gibi klasörler eklemelisiniz.
Ardından bu klasörlerin içini doldurmamız gerekiyor. Bunu için oluşturduğumuz klasörlerin üzerine gelip buradan yeni bir dosya eklemeliyiz. Önümüze çıkan seçeneklerden EmptyTextFile seçip ismine de InfoPlist.strings olarak kaydetmeliyiz.
Son adım olarak ise bu oluşturmuş olduğumuz dosyaların içini doldurmalıyız. Bunun için yapmamız gereken iş aşağıdaki gibidir. Biliyorsunuz Info.Plist’te bulunan her property key value tipindedir. Bu sebeple burada oluşturacağımız değişkenler de bu şekilde olacaktır.
"NSCameraUsageDescription" = "Camera string"; "NSLocationWhenInUseUsageDescription" = "Location string"; "NSLocationAlwaysAndWhenInUseUsageDescription" = "Location string"; "NSLocationAlwaysUsageDescription" = "Location string"; "NSCalendarsUsageDescription" = "Calendar string";
Hangi izne ihtiyacınız var ise Info.Plist’ten bu key’i alıp buraya yazdıktan sonra string’i de girmelisiniz. Tabi Info.Plist’te ise bu izinlerin karşılığını boş bırakmalısınız ki uygulama bu izin yazılarını buradan çekebilsin.
Son işlem olarak da yine Info.Plist’te bulunan Localizations dizisine kullandığınız dilleri eklemelisiniz.
Sorularınız olursa mail veya yorum atarak ulaşabilirsiniz. İyi çalışmalar.
Bir yanıt yazın