9 Aralık 2018 Pazar

Android Uygulamalara Dil Secenegi Ekleme

Merhaba bu yazimda android projelerine dil destegi eklemeyi anlatacagim. Diyelim bir uygulamamiz var ve bu uygulamanin baska dil secili telefonlarda o dilde calismasini istiyoruz. Burada yapmamiz gereken uygulamamizdaki her kelimenin diger dildeki(uygulamanin calistigi telefon dilinde) karsiligini yazacagimiz bir dosya olusturmak.

Bunun icin res klasorune sag tiklayip New -> Android resource directory -> Karsimiza cikan ekrandan Locale secip -> Gelen listeden istedigimiz dili secmektir.

Ornegin Ingilizce icin bu sekilde bir secim yaptigimizda values-en adinda, Almanca icin ise values-de adinda bir klasor olusturacaktir. Simdi ise yapmamiz gereken her values klasorunun altina strings.xml adinda bir resource file olusturmak. (Bu arada gorunumu Project olarak degistirelim. Ben Android gorunumundeyken olusturdugum klasorleri gorememistim)

Dosyalarin nasil gorundugune alttaki resimden bakabilirsiniz.



















Simdi ise ingilizce karsiligi olmasi gereken kelimeleri strings.xml den kopyalamak ve values-en e altindaki strings.xml e yapistirmak. Orada ingilizce karsiliklarinii yazmak. Asagida bir ornek yapacagim.

Alttaki turkcedeki strings.xml

<resources>
    <string name="app_name">CheckBoxExample</string>
    <string name="btnName1">GONDER</string>
    <string name="text1"> Cinsiyetinizi secin</string>
</resources>





Alttaki ise values-en alttaki strings.xml

<?xml version="1.0" encoding="utf-8"?><resources>
    <string name="app_name">Ornek Uygulama</string>
    <string name="btnName1">SEND</string>
    <string name="text1">Choose your gender</string>
</resources>

Ancak bu sekilde ayarlama yaptiktan sonra ekranda gosterecegimiz mesajlarin

statik degil dinamik olmasi gerekir. Ornegin bir buton icin :

<Button    
  android:id="@+id/sec"
  android:text="@string/btnName1"    
  android:gravity="center"  
  android:layout_width="wrap_content"    
android:layout_height="wrap_content" />

Uygulamanin calistigi telefondaki dil Turkce ise turkce , ingilizce ise ingilizce 
karsiliklari yazar. 
Iyi calismalar

Hiç yorum yok:

Yorum Gönder