自 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