2012-10-03 114 views
2

我正在設計一個J2me應用程序,在那裏我只需要提供特定語言的界面,比如說烏爾都語。我正在做的是使用Unicode字符來打印標籤,例如「歡迎」到我的語言中,並且它顯示正確的方式。 由於這個應用程序應該運行在不同的移動模型上,我只想知道,如果它是編程的,可以檢查運行我的應用程序的特定移動是否支持我的語言的unicode?因爲如果沒有,那麼它就會以默認英文顯示標籤。除了將英文字母轉換爲我的語言字符之外,我還沒有對其進行編碼,我只想知道並且如果可能的話找到一種方法來執行此檢查。在此先感謝:)如何檢測移動設備是否支持J2ME中特定語言的unicode

回答

1

有一個System屬性,您可以在其中讀取手機上選擇的當前語言。

String locale = System.getProperty("microedition.locale"); 

前兩個字母標識語言,而最後兩個字母標識國家。例如,"en-US"代表美利堅合衆國的英文,而"pt-BR"代表巴西的葡萄牙文。
一件好事是根據當前語言加載所有GUI String。 比方說,你所有的字符串存儲在一個單一陣列並初始化它像這樣:

String messages [] = null; 

if (locale.startsWith("pt")) { 
    messages = new String [] { 
     "Novo Jogo", 
     "Configurações", 
     "Ajuda" 
    }; 
} else { // default language is English 
    messages = new String [] { 
     "New Game", 
     "Settings", 
     "Help" 
    }; 
} 

然後定義一些常量,以確定各指標。

static final int MSG_NEW_GAME = 0; 
static final int MSG_SETTINGS = 1; 
static final int MSG_HELP = 2; 

,並使用它們像這樣的(這裏的菜單列表是列表的一個實例):

menuList.append(messages[MSG_NEW_GAME], null); 
menuList.append(messages[MSG_SETTINGS], null); 
menuList.append(messages[MSG_HELPS], null); 

有了這個,你必須爲你的應用程序兩種語言的支持。基於區域設置的消息啓動案例越多,最終用戶就越有用。

截至http://smallandadaptive.blogspot.com.br/2008/12/internationalization-or-just-i18n-count.html

+0

我什麼都沒有做與手機所選擇的語言看到的,我已經使用該屬性,但這樣做沒有幫助,我想要做的是手機是否支持Unicode或不我正在轉換的特定語言。謝謝 – Saqib

相關問題