我可以直接在 mustache 模板中使用本地化吗?
Can I use localization directly in a mustache template?
我已经检查了 Vapor(Swift 的 Web 框架:http://docs.vapor.codes/)的文档,寻找在小胡子模板中使用本地化的任何提示或技巧,但我找不到任何东西。
Vapor 的示例项目包含一个关于如何使用本地化的示例,但是我必须将所有本地化文本传递到我的 mustache 模板,这对我来说听起来有点过分了。这是示例:
let drop = Droplet()
drop.get("localization", String.self) { request, lang in
return try JSON([
"title": drop.localization[lang, "welcome", "title"],
"body": drop.localization[lang, "welcome", "body"]
])
}
drop.serve()
有没有人可以指出正确的方向?
您尝试执行的操作看起来像这样。
let drop = Droplet()
drop.get("welcome") { request in
let lang = drop.config["app", "lang"].string ?? "en"
return try drop.view("welcome.mustache", context: [
"title": drop.localization[lang, "welcome", "title"],
"body": drop.localization[lang, "welcome", "body"]
])
}
drop.serve()
这在 app.json
中配置了语言,如下所示:
{
"lang": "es"
}
甚至使用环境变量。
{
"lang": "$LANG"
}
到目前为止,Vapor 没有任何通过上下文自动引用本地化值的方法。您应该为此提交功能请求并概述它的工作原理! :D
我已经检查了 Vapor(Swift 的 Web 框架:http://docs.vapor.codes/)的文档,寻找在小胡子模板中使用本地化的任何提示或技巧,但我找不到任何东西。
Vapor 的示例项目包含一个关于如何使用本地化的示例,但是我必须将所有本地化文本传递到我的 mustache 模板,这对我来说听起来有点过分了。这是示例:
let drop = Droplet()
drop.get("localization", String.self) { request, lang in
return try JSON([
"title": drop.localization[lang, "welcome", "title"],
"body": drop.localization[lang, "welcome", "body"]
])
}
drop.serve()
有没有人可以指出正确的方向?
您尝试执行的操作看起来像这样。
let drop = Droplet()
drop.get("welcome") { request in
let lang = drop.config["app", "lang"].string ?? "en"
return try drop.view("welcome.mustache", context: [
"title": drop.localization[lang, "welcome", "title"],
"body": drop.localization[lang, "welcome", "body"]
])
}
drop.serve()
这在 app.json
中配置了语言,如下所示:
{
"lang": "es"
}
甚至使用环境变量。
{
"lang": "$LANG"
}
到目前为止,Vapor 没有任何通过上下文自动引用本地化值的方法。您应该为此提交功能请求并概述它的工作原理! :D