Günümüzde artık uygulamalar çoklu dil desteğine sahip şekilde gelmektedir bizde bu makalemizde çoklu dil desteğine sahip uygulalamanın nasıl oluştuğunu görmüş olacağız.
ANDROID ile çoklu dil destekli uygulamalar oluşturma
Bu makalemizde Türkçe, İngilizce ve Almanca dillerine sahip bir uygulama geliştireceğiz.
Yeni proje oluşturduğunuzda res ⇒ values
klasörü altında strings.xml adında bir xml dosyası oluşmaktadır proje içerisinde kullanacağımız metinleri buraya tanımlayıp kullanabilmekteyiz. Uluslararası dil kodlarını kullanarak yeni strings.xml dosyaları oluşturup dile ait değerleri gireceğiz.
Yeni bir dil tanımlamak için yapmanız gereken uluslararası dil koduyla beraber res klasörü altına values klasörü oluşturmaktır örnek ingilizce dili için res klasörü altında values-en klasörü tanımlayın ardından ingilizce metinlerinizin bulunacağı strings.xml adlı dosyanızı oluşturun.
Çoklu dil desteğini test etmek için aşağıdaki adımları takip edin
- Oluşturduğunuz dilleri uygulamanızda görebilmek için cihazınızın dilini test etmek istediğiniz dile göre ayarlamalısınız örnek uygulamanızı İngilizce olarak test etmek isterseniz Ayarlar ⇒ Dil ve giriş ⇒ Dil kısmından İngilizce’yi seçin ve uygulamanıza gözattığınızda eğer eksik bir durum yoksa çalışacaktır.
- Uygulamanıza yeni diller eklemek isterseniz makale başlangıcında da belirttiğim gibi yeni bir values klasörünü Uluslararası dil koduyla beraber oluşturun örnek almanca için values-de şeklinde klasör oluşturup strings.xml adında dile ait metinlerinizin bulunacağız xml dosyasını oluşturun.
- Tüm dilleri tanımlamak zorunda değilsiniz eğer uygulamanızın desteklemediği bir dil ile uygulamaya giriş yapıldıysa varsayılan olarak values klasörü devreye girecektir.
- strings.xml dosyalarınızın tanımlamaları eksik olmamalıdır eğer eksik dil dosyanız olursa uygulama çalışma esnasında kırılıp kapanacaktır.
Yapılması gereken
Eğer uygulamanızda çoklu dil desteği sunacaksanız sabit metinlerinizi nesne içerisine değilde strings.xml dosyasına tanımlayın ardından nesneye strings.xml’e string adını belirtin örnek olarak aşağıdaki koda gözatabilirsiniz.
Metnin strings.xml dosyasına tanımlanması
strings.xml(XML)
1 | <string name="note_email">eposta adresinizi girin</string> |
strings.xml içerisindeki metinlerinizi referans göstererek kullanmak için @string belirtecini kullanmalısınız.
1 | <TextView ... android:text="@string/note_email" /> |
Yapılmaması gereken
Çeviri amacınızı zorlaştıracak ve metin tekrarı oluşturacak olan aşağıdaki sabit metin tanımlama yöntemini kesinlikle kullanmayın.
1 | <TextView ... android:text="eposta adresinizi girin" /> |
1 | emailNote.setText("eposta adresinizi girin"); |
Bazı için uluslararası kod ve oluşturulacak klasör adları
Dil | Kod | values/strings.xml |
---|---|---|
Almanca | de | values-de/strings.xml |
Çince | zh | values-zh/strings.xml |
Çekce | cs | values-cs/strings.xml |
Hollandaca | nl | values-nl/strings.xml |
Fransızca | fr | values-fr/strings.xml |
İtalyanca | it | values-it/strings.xml |
Japonca | ja | values-ja/strings.xml |
Korece | ko | values-ko/strings.xml |
Lehçe | pl | values-pl/strings.xml |
Rusça | ru | values-ru/strings.xml |
İspanyolca | es | values-es/strings.xml |
Arapça | ar | values-ar/strings.xml |
Bulgarca | bg | values-bg/strings.xml |
Katalanca | ca | values-ca/strings.xml |
Hırvatça | hr | values-hr/strings.xml |
Danimarka Dili | da | values-da/strings.xml |
Fince | fi | values-fi/strings.xml |
Yunanca | el | values-el/strings.xml |
İbranice | iw | values-iw/strings.xml |
Hintçe | hi | values-hi/strings.xml |
Macarca | hu | values-hu/strings.xml |
Endonezya Dili | in | values-in/strings.xml |
Letonya Dili | lv | values-lv/strings.xml |
Litvanya Dili | lt | values-lt/strings.xml |
Norveçce | nb | values-nb/strings.xml |
Portekizce | pt | values-pt/strings.xml |
Romanca | ro | values-ro/strings.xml |
Sırpça | sr | values-sr/strings.xml |
Slovakça | sk | values-sk/strings.xml |
Slovence | sl | values-sl/strings.xml |
İsveçce | sv | values-sv/strings.xml |
Takalotça | tl | values-tl/strings.xml |
Tayland Dili | th | values-th/strings.xml |
Türkçe | tr | values-tr/strings.xml |
Ukraynaca | uk | values-uk/strings.xml |
Vietnamca | vi | values-vi/strings.xml |
Örnek
Şimdi sizlerle buradaki anlattıklarımı bir projeme uygularak oluşturduğum çoklu dilin ekran görüntülerini paylaşmak istiyorum.
Yazılarınızı çok yararlı buluyorum.Başarılar diliyorum.
Teşekkür ederim.