Posted by: Glorious on: August 1, 2008
Mungkin Anda sudah pernah mendengar, melihat atau bahkan sudah terbiasa dengan istilah Internationalization dan Localization. Hm, mungkin bagi yang sudah tahu tentang topik ini bisa memberikan komentar demi menambah kelengkapan isi tulisan ini.
Ok, kita bahas istilah yang pertama dulu…
Internationalization seringkali disebut dengan singkatan i18n, artinya bahwa terdapat 18 huruf diantara huruf pertama dan terakhir. Internationalization merupakan proses atau prosedur dalam perancangan suatu aplikasi, sehingga memungkinkan penyesuaian atau adaptasi terhadap berbagai bahasa, negara, format penulisan angka maupun pengaturan-pengaturan lainnya yang bersifat spesifik dengan mudah. Dengan kata lain, internationalization merupakan prosedur generalisasi suatu aplikasi.
Bagaimana dengan localization???
Seperti halnya internationalization, istilah localization juga sering disebut dengan singkatan l10n, yang artinya terdapat 10 huruf diantara huruf pertama dan terakhir. Localization merupakan prosedur yang memakai format pengaturan yang spesifik. Misal, dalam suatu aplikasi, angka-angka dalam suatu aplikasi harus ditampilkan dengan format penulisan tata bahasa Inggris.
Kedua istilah ini sebenarnya sangat berkaitan. Internationalization dilakukan dengan tujuan agar localization dapat dilakukan dengan mudah.
Hm, contoh penggunaannya seperti apa ya?
Class berikut adalah contoh program yang tidak melakukan prosedur internationalization.
package com.goglo.i18n;
public class NoI18n {
public static void main(String[] args) {
System.out.println("Halo, nama saya Glory!");
}
}
Buatlah sebuat file dan namai goglo.properties. File ini berisi kode bahasa dan kode negara yang akan digunakan.
lang.code = id
country.code = ID
Kemudian, buat lagi sebuah file dengan nama id_ID.dict yang berisi cara memperkenalkan diri dalam bahasa Indonesia.
say.hello = Halo, nama saya Glory!
Terakhir, buat sebuah class dengan nama WithI18n.java
package com.goglo.i18n;
import java.io.IOException;
import java.util.Properties;
public class WithI18n {
public static void main(String[] args) throws IOException {
Properties gogloProp = new Properties();
//load input stream to properties object gogloProp.load(WithI18n.class.getResourceAsStream("goglo.properties"));
//get languange code and country code
String langCode = gogloProp.getProperty("lang.code");
String countryCode = gogloProp.getProperty("country.code");
//use appropriate language on correct country
Properties idProp = new Properties();
//load file based on lang.code and country.code idProp.load(WithI18n.class.getResourceAsStream(langCode+"_"+countryCode+".dict"));
//print
System.out.println(idProp.getProperty("say.hello"));
}
}
Program di atas dapat menampilkan ucapan perkenalan diri dalam bahasa apapun dengan memodifikasi file goglo.properties dan menambahkan file dictionary untuk bahasa tersebut. Memang kelihatannya program menjadi cukup rumit dengan penerapan internationalization. Tetapi, hal ini memberikan kemudahan bagi software developer yang ingin mengembangkan suatu project berdaya jual global.
Recent Comments