1,配置文件:
application.conf
# i18n
# ~~~~~
# Define locales used by your application.
# You can then place localized messages in conf/messages.{locale} files
application.langs=en,zh
语言配置文件
内容很简单:
messages.en
welcome=Welcome to China
messages.zh
welcome=欢迎来到中国
routes配置文件
GET /setLang Application.setLang
2,页面:
main.html
<span style="font-size:14px;"><!DOCTYPE html>
<script type="text/javascript">
function setLang(lang){
window.location.href = "/setLang?lang=" + lang;
}
</script>
<html>
<head>
<title>#{get 'title' /}</title>
<meta charset="${_response_encoding}">
<link rel="stylesheet" media="screen" href="@{'/public/stylesheets/main.css'}">
#{get 'moreStyles' /}
<link rel="shortcut icon" type="image/png" href="@{'/public/images/favicon.png'}">
<script src="@{'/public/javascripts/jquery-1.6.4.min.js'}" type="text/javascript" charset="${_response_encoding}"></script>
#{get 'moreScripts' /}
</head>
<body>
<h1>&{'welcome'}</h1>
<a href="javascript:setLang('en');" title="English">English</a>
<a href="javascript:setLang('zh');" title="简体中文">简体中文</a>
</body>
</html></span>
效果图:
点击不同文件链接切换不同语言、具体实现方式很多,这里是用了简洁方便的
3,后台实现:
<span style="font-size:14px;">package controllers;
import play.i18n.Lang;
import play.mvc.*;
public class Application extends Controller {
public static void index() {
render();
}
public static void sayHello(String myName) {
render(myName);
}
public static void setLang(String lang) {
Lang.change(lang);
index();
}
}</span>
主要是 setLang方法;