Play framework 2.0 -國際化

#外部消息和國際化

 

1.指定應用程序支持的語言

 

要知道應用程序支持的語言,你需要一個有效的語言代碼,指定一個有效的ISO語言代碼,可選項跟一個有效的ISO國家代碼,例如,fr or en-US。

在conf/application.con文件中指定你的應用程序支持的語言:

application.langs=en,en-US,fr
 

 

2.消息外部化

 

你可以在conf/messages.xxx文件中外部化消息。

默認的conf/messages文件匹配所有語言,你可以指定另外的語言信息(消息)文件。例如,conf/messages.fr,或者conf/messages.en_US。

你可以通過應用play.api.i18n.Messages對象獲取當前語言的消息。

String title = Messages.get("home.title")
 

你也可以顯示地指定語言:

String title = Messages.get(new Lang("fr"), "home.title")
 

注:如果在作用域中有個請求,它會從Accept-Language頭中提取指定的語言,與你應用程序支持的語言進行匹配,然後提供一個與之對應的默認語言值。

 

3.格式化消息

 

使用java.text.MessageFormat可以格式化消息。例如,你定義了這樣的消息:

files.summary=The disk {1} contains {0} file(s).
 

你可以這樣指定參數:

Messages.get("files.summary", d.files.length, d.name)
 


4.從Http請求中獲得支持的語言

 

你可以得到某個特定的Http請求所支持的所有語言:

public static Result index() {
	  return ok(request().acceptLanguages());
	}
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章