淺析Java中的國際化
互聯網 2022/5/2 9:12:47
Internationalization 軟件國際化,通俗的講就是企業開發的軟件可以在多個不同的語言環境下方便使用,通常也被簡稱為i18n,因為Internationalization 中間有18個單詞,通理的還有K8S之類的簡稱。
Java中對于軟件國際化的支持主要是通過Locale類來實現的。Locale類有一個很重要的構造器:
Locale(String language, String country)
從參數可以看出,構造一個代表特定語言環境的Locale需要傳入語言和國家編碼,前者的定義來自于IANA的定義,具體查找某個國家的語言可以在 IANA SUBTAG LANGUAGE 中查找,Type: language 是語言編碼,Type: region 是國家編碼。Java中默認給我們提供了很多示例:
如:
TAIWAN 中國臺灣地區 CHINA 中國大陸地區 US 美國地區
如何為應用設置默認使用的語言環境呢?Java給我們提供了一個API,即
Locale.setDefault(Locale newLoce)
有了代表某個地區的Locale類,那么它如何和我們日常開發的軟件結合起來使用呢?這里就引申出了另外一個類 ResourceBundle,ResourceBundle可以和一個Locale相關聯,用來表示特定地區的資源。
使用方式如下:baseName代表的是Resource Bundle的基礎名稱,如圖中的 exception。
ResourceBundle bundle = ResourceBundle.getBundle("exception");
在項目開發中通常會將這種信息資源定義為一個properties文件,實際上就是通過簡單的key=value對實現鍵值對映射。
除了上面的兩個類之外,通常還一起搭配使用的還有MessageFormat類,它是用來做信息格式化的。它也會關聯一個Locale對象,通過在待格式化的字符串中留下{0}、{1}等占位符,然后通過
format(String value, Object...arguments) 進行格式化即可。

關于找一找教程網
本站文章僅代表作者觀點,不代表本站立場,所有文章非營利性免費分享。
本站提供了軟件編程、網站開發技術、服務器運維、人工智能等等IT技術文章,希望廣大程序員努力學習,讓我們用科技改變世界。
[淺析Java中的國際化]http://www.yachtsalesaustralia.com/tech/detail-318719.html
- 2022-05-1916_Java異常
- 2022-05-19java面試——反射與泛型
- 2022-05-19Java注解和反射04:Class對象的使用
- 2022-05-19利用java加載bert模型進行加速推理
- 2022-05-19grpc-java源碼環境編譯
- 2022-05-19《Head Frist Java》章節概要
- 2022-05-19Java學習筆記---SpringBoot自動配置
- 2022-05-19【校招VIP】出品:校招java沖刺一線之算法(2022)
- 2022-05-19歸并排序算法
- 2022-05-19Java IO 常見類使用