Java的國際化支持(I18N問題)


一。讀取PC的locale信息

Locale信息是由語言跟國家代碼組成的,在Java中,提供了Locale類相應語言信息。java


/*
	 * //獲取local信息 Locale defaultLocale = Locale.getDefault();
	 * System.out.println("country:" + defaultLocale.getCountry());
	 * System.out.println("language:" + defaultLocale.getLanguage());
	 */


二。怎樣支持國際化


1,增長國際化資源文件post


       國際化資源文件由baseName+Locale構成。好比:MessagesBundle_zh_CN.properties。編碼

缺省的國際化資源文件名爲baseName.properties。中文的國際化資源文件必須將文件裏value的值轉換爲unicode編碼。好比:k1=\u4F60\u597D,{0}。spa


2。讀取國際化資源文件code


// 定義locale類
	// Locale currentLocale = new Locale("zh", "CN");
	Locale defaultLocale = Locale.getDefault();
	ResourceBundle rb = ResourceBundle.getBundle("MessagesBundle",
		defaultLocale);
	String k1 = rb.getString("k1");
	String k2 = rb.getString("k2");
	System.out.println(k1);
	System.out.println(k2);

	MessageFormat mf = new MessageFormat(rb.getString("k1"));
	System.out.println(mf.format(new Object[] { "張三" }));


對於缺省的佔位符。可以動態的使用MessageFormat賦值。orm

相關文章
相關標籤/搜索