多语言 - nokitjs/nokit GitHub Wiki
默认情况下,在 app 的根目录建立 locales
目录,然后可以在目录中添加 zh-cn.json、en-us.json 这样格式的文件,
格式如下:
{
"welcome" : "欢迎",
"hello" : "你好 <%= this.name %>"
}
{
"welcome" : "Welcome",
"hello" : "Hello <%= this.name %>"
}
<h1>用法一</h1>
<p>
<%= $.context.locale.welcome() %>, <%= $.context.locale.hello({ "name":"Nokit" }) %>
</p>
<h1>用法二</h1>
<p>
<%= $.locale.welcome() %>, <%= $.locale.hello({ "name":"Nokit" }) %>
</p>
self.context.send(self.context.locale.hello({ "name":"Nokit" }));
{
...
"locale": {
"path": "./locales", //语言文件目录
"default": "en", //默认语言,如果没有浏览器语言支持 “语言” 则使用 “默认语言”
"fixed": "" //固定语言,固定设置为指定的语言
}
...
}
默认情况下 nokit 会根据用户浏览器支持的语言而使用对应的语言,但是,也可以根据 “用户设置(可以存储于 cookie 或 database 等)” 确定语言版本
context.setLocale("zh-cn");
比如:需要根据用户的设定显示为不同语言,可以在 Filter 中根据 cookie 或其它,确定用户设定的语言,然后调用 context.setLocale
为用户呈现期望的语言版本。