Android aplikazioan hizkuntza aukeraketarako kode laguntzailea
2017-01-05 android Android-developer Developer Tutorialak
Dakizunez Android aplikazioa hizkuntza ezberdinetan lokalizatzeko ../values/string.xml fitxategiak erabiltzen dira. Eskuragarri nahi dugun hizkuntza bakoitzarengatik …/values-xx/string.xml fitxategi bat sortu eta editatzearekin nahikoa da.
- Euskaraz values-eu
- Gazteleraz values-es
- Ingelesez values-en
- …
Aplikazioa exekutatzen denean, Gailuaren hizkuntza hartuko du oinarri gisa eta aplikazioa hizkuntza horretan agertuko da (Hizkuntza horri dagokion ../values-xx/string.xml fitxategia existitzen bada).
Hizkuntza nagusiekin, Gaztelera, Ingelesa, Frantsesa,, … ez dago arazorik. Baina, zer gertatzen da gure hizkuntza Euskara edo gailuak instalatuta ez duen hizkuntza batera lokalizatu nahi dugunean.
Adibidez:
Nire Smartphonea gazteleraz dago eta ezin dut Euskara hizkuntza aukeratu. Beraz, nire kasuan, nahiz eta exekutatzen dudan aplikazioa /values-eu/string.xml fitxategia izan, aplikazioa gazteleraz exekutatuko da. Euskara, Android sistema eragilearen hizkuntza ofiziala da, baina fabrikatzaile bakoitzak aukeraktzen du zein hizkuntza eskeiniko dizkio erabiltzaileei. Horregatik, Android Smartphone batzuk euskaraz eduki ditzazkegu (Samsung) eta beste batzuk ordea ez.
Horrexegatik, erabiltzaileek zure aplikazioa Euskaraz erabiltzeko aukera izatea nahi baduzu kode pixka bat gehiago idatzi beharra dago. Nik nire kode propioa garatu nuen, baina interneten nire kodea hobetzen duen bat aurkitu dut, Change Language Programmatically in Android postan eta nire gist kontuan fork bat egin dut. Baita, demo aplikazio bat ere.
Hona azalpena:
Bi fitxategi sortu behar dira. LocaleHelper.java eta MainApplication.java
LocaleHelper.java
MainApplication.java
LocalHelper klasea, bere izenak dioen bezala klase laguntzaile bat da. Hizkuntzaren aukera guztiak, klase honen bitartez kudeatzen dira. Erabiltzailaren hizkuntza begiratu, hizkuntza aukeratu, …
Egokiena, aplikazioa exekutatzerako orduan klase honen instanziazio bat egitea da. Horretarako MainApplication.java fitxategiaren onCreate() metodoan guk nahi dugun lehenetsitako hizkuntza aukeratzen dugu (en, es, eu, …)
Aplikazioaren manifest.xml fitxategian <aplication etiketaren barnean:
android:name=".MainApplication" |
Honekin nahikoa litzake.
Ondoren erabilpen kasu bat uzten dut. Kontutan hartu butterknife liburutegia erabiltzen dela.
Bestalde, hona hemen euskara, gaztelera eta ingelesaren arteko aldaketa egiten duen demo aplikazioa bat (butterknife gabe).
Iruzkinak