【问题标题】:Providing multiple languages for a website based on URL基于 URL 为网站提供多种语言
【发布时间】:2019-12-24 18:13:05
【问题描述】:

我正在考虑如何为我使用 ExpressJS 和 NodeJS 以及 EJS 作为模板引擎编写的个人网站提供多语言支持。目前,该网站只有英文版,但我也想提供德文版。我想通过使用 URL 变量来做到这一点,例如

example.com/en/home - 以英文显示主页

example.com/de/home - 以德语显示主页

带有 2 个由德国和英国国旗代表的按钮的部分应该提供在这两种语言之间进行切换的可能性。

已经想到了什么?

我已经考虑在我的视图目录中创建多个文件夹,每种语言一个,包含所有相同的文档,但使用不同的语言,并根据路径中选择的语言提供正确的文档。但这会导致重复我的 HTTP 文档和路由,这可能不是解决这个问题的好方法,因为它违反了“不要重复自己”的规则。

你们中的任何人都可以给我一些建议以更好地解决这个问题吗?

提前致谢!

【问题讨论】:

  • 给每个按钮一个id代表它的语言,然后创建一个像{English: en, German: de}这样的对象
  • 我不太了解该对象的内容以及如何处理它?

标签: javascript html node.js express ejs


【解决方案1】:

我的建议是只为您的视图保留一个模板,因为重复的数量很快就会失控。

你可以利用这个节点包来做国际化的事情i18n-node,它与expressJs集成在一起

如果你想知道它是如何工作的,你可以通过Michael DeRazoni18n for Node + Express 阅读这个很棒的解释

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多