自 Android 7.0(API24) 開始支援多語言,即一個 Android 裝置可以設定多個語言,而且,以簡體中文為例,就有 中國,香港,澳門,新加坡四種。
- // 台灣,繁體中文
- var myLocale = Locale.getDefault()
- var sCountry = "country =" + myLocale.country // 顯示 TW
- var sLanguage = "language = " + myLocale.language // 顯示 zh
- // 因為 myLocale.language 只顯示 zh,
- // 所以還要搭配 myLocale.country 去判斷 是 台灣繁體中文/大陸简体中文/香港繁體中文...
- var sDisplayLanguage = "Display language = " + myLocale.displayLanguage // 顯示 中文
- var sDisplayName = "displayName = " + myLocale.displayName // 顯示 中文(台灣)
- var sTostring = "ToString = " + myLocale.toString() // zh_TW_#Hant, 這個函式不錯, 需要的資訊一次提供了
- var myCurrency = Currency.getInstance(myLocale)
- var mySymbol = "Symbol = " + myCurrency.symbol // 顯示 $
- var formatter = NumberFormat.getCurrencyInstance(myLocale) as DecimalFormat
- var sNumber = "Currency number =" + formatter.format(123456.789) // 顯示 $123,456.79
- // 香港,繁體中文
- var myLocale = Locale.getDefault()
- var sCountry = "country =" + myLocale.country // 顯示 HK
- var sLanguage = "language = " + myLocale.language // 顯示 zh
- var sDisplayLanguage = "Display language = " + myLocale.displayLanguage // 顯示 中文
- var sDisplayName = "displayName = " + myLocale.displayName // 顯示 中文(繁體中文,香港)
- var sTostring = "ToString = " + myLocale.toString() // zh_HK_#Hant
- // 大陸,簡體中文
- var myLocale = Locale.getDefault()
- var sCountry = "country =" + myLocale.country // 顯示 CN
- var sLanguage = "language = " + myLocale.language // 顯示 zh
- var sDisplayLanguage = "Display language = " + myLocale.displayLanguage // 顯示 中文
- var sDisplayName = "displayName = " + myLocale.displayName // 顯示 中文(简体中文,中国)
- var sTostring = "ToString = " + myLocale.toString() // zh_CN_#Hans
- // 香港,簡體中文
- var myLocale = Locale.getDefault()
- var sCountry = "country =" + myLocale.country // 顯示 HK
- var sLanguage = "language = " + myLocale.language // 顯示 zh
- var sDisplayLanguage = "Display language = " + myLocale.displayLanguage // 顯示 中文
- var sDisplayName = "displayName = " + myLocale.displayName // 顯示 中文(简体中文,香港)
- var sTostring = "ToString = " + myLocale.toString() // zh_HK_#Hans
- // 澳門,簡體中文
- var myLocale = Locale.getDefault()
- var sCountry = "country =" + myLocale.country // 顯示 MO
- var sLanguage = "language = " + myLocale.language // 顯示 zh
- var sDisplayLanguage = "Display language = " + myLocale.displayLanguage // 顯示 中文
- var sDisplayName = "displayName = " + myLocale.displayName // 顯示 中文(简体中文,澳门)
- var sTostring = "ToString = " + myLocale.toString() // zh_MO_#Hans
- // 新加坡,簡體中文
- var myLocale = Locale.getDefault()
- var sCountry = "country =" + myLocale.country // 顯示 SG
- var sLanguage = "language = " + myLocale.language // 顯示 zh
- var sDisplayLanguage = "Display language = " + myLocale.displayLanguage // 顯示 中文
- var sDisplayName = "displayName = " + myLocale.displayName // 顯示 中文(简体中文,新加坡)
- var sTostring = "ToString = " + myLocale.toString() // zh_SG_#Hans
繁體中文(台灣)的資源檔目錄為:values-zh-rTW
簡體中文(大陸)的資源檔目錄為:values-zh-rCN
簡體中文(新加坡)的資源檔目錄為:values-zh-rSG
當地區為香港時,
若使用者選擇的語言為繁體中文,則 APP 會讀取 values-zh-rTW;
若使用者選擇的語言為簡體中文,且為大陸屬地(如香港、澳門),則 APP 會讀取 values-zh-rCN
若使用者選擇的語言為簡體中文,且為新加坡,則 APP 會讀取 values-zh-rSG