2013-06-01 123 views
0

我想本地化我的獨立應用程序,即如果我們將GMT時區更改爲美國,那麼我的所有應用程序的貨幣格式,時間格式,數字格式都應該更改爲美國格式,那麼有人可以告訴我需要通過基本的查找,因爲我在這個國際化中是0,所以請指導我....我正在開發的桌面應用程序是印度醫院ERP,用於數據庫訪問的java & hibernate。獨立應用程序的國際化

回答

2

無論何時使用Java,無論這是桌面,移動還是Web應用程序,您應該關心的是使用語言環境。也就是說,你應該檢測它們。

如果要更改數據是區域設置知道,你需要使用以下(Java 7中)

// Detecting locale in desktop application 
Locale fmtLocale = Locale.getDefault(LocaleCategory.FORMAT); 
DateFormat dateFmt = DateFormat.getDateTimeInstance(
    DateFormat.DEFAULT, DateFormat.DEFAULT, fmtLocale); 
dateFmt.setTimeZone(theTimeZone); // ommited 
Date now = new Date(); 
String formattedDate = dateFmt.format(now); 
// do something with formatted date 
// Similarily for numbers, percentages and currencies 
NumberFormat numberFmt = NumberFormat.getInstance(fmtLocale); 
NumberFormat percentFmt = NumberFormat.getPercentInstance(fmtLocale); 
NumberFomrat currencyFmt = NumberFormat.getCurrencyInstance(fmtLocale); 

你不應該,在與時區綁這件事的任何情況。例如,美國有幾個時區,所以它確實沒有意義。你將不得不檢查這是否是美國時區(這不會是最簡單的事情),並且做一些非常糟糕的事情,比如分配默認的語言環境(這會在每個運行在此JVM上的程序分配的語言環境,非常糟糕的想法) 。 只要檢測到Locale就足夠了(這實際上是國際化的最佳實踐)。