国际化平原 Express.js
Internationlisation plain Express.js
假设我有以下代码:
HTML
<ul id="navMenu">
<li>{{inter.home}}</li>
<li>{{inter.aboutUs}}</li>
</ul>
快递
router.get('/:lang/news', function (req, res) {
var language = req.params.lang;
var interObjects = {
ru: russianInterObj,
en: englishInterObj
};
(interObjects[language]) ? res.render('view.hjs', {inter: interObjects[language], ...})
: res.sendStatus(404);
});
这种国际化的方法好吗?
谢谢
创建的本地化页面有 2 个观点:
外部(消费者)
您将拥有一个域。com/lang/page.html 类型 URL,这是预期的。在这方面,你的做法无疑是好的。
内部(提供者/开发者)
然而,在维护代码方面,虽然您的方法很好,但可能很难将其扩展到几行之外。
如果您确定您的语言环境数据结构最多不会超过一百行,我建议您保留这个。如果您以后可能需要扩展它,您应该更喜欢一种更可扩展的方法,可能是使用为此设计的包(快速搜索 npmjs 会 return 你一些)
假设我有以下代码:
HTML
<ul id="navMenu">
<li>{{inter.home}}</li>
<li>{{inter.aboutUs}}</li>
</ul>
快递
router.get('/:lang/news', function (req, res) {
var language = req.params.lang;
var interObjects = {
ru: russianInterObj,
en: englishInterObj
};
(interObjects[language]) ? res.render('view.hjs', {inter: interObjects[language], ...})
: res.sendStatus(404);
});
这种国际化的方法好吗?
谢谢
创建的本地化页面有 2 个观点:
外部(消费者)
您将拥有一个域。com/lang/page.html 类型 URL,这是预期的。在这方面,你的做法无疑是好的。
内部(提供者/开发者)
然而,在维护代码方面,虽然您的方法很好,但可能很难将其扩展到几行之外。
如果您确定您的语言环境数据结构最多不会超过一百行,我建议您保留这个。如果您以后可能需要扩展它,您应该更喜欢一种更可扩展的方法,可能是使用为此设计的包(快速搜索 npmjs 会 return 你一些)