多语言 - nokitjs/nokit GitHub Wiki

默认情况下,在 app 的根目录建立 locales 目录,然后可以在目录中添加 zh-cn.json、en-us.json 这样格式的文件, 格式如下:

zh.json
{
    "welcome" : "欢迎", 
    "hello" : "你好 <%= this.name %>"
}
en.json
{
    "welcome" : "Welcome", 
    "hello" : "Hello <%= this.name %>"
}
在 view 中使用
<h1>用法一</h1>
<p>
<%= $.context.locale.welcome() %>, <%= $.context.locale.hello({ "name":"Nokit" }) %>
</p>

<h1>用法二</h1>
<p>
<%= $.locale.welcome() %>, <%= $.locale.hello({ "name":"Nokit" }) %>
</p>
在 controller 中使用
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 为用户呈现期望的语言版本。

⚠️ **GitHub.com Fallback** ⚠️