我一直是第一个选项(重复的 HTML 文件)的粉丝,因为它往往是最简单和最适合 SEO 的,同时不需要使用任何 JavaScript,但是必须将您的修改复制到多个文件中可以真的很烦人。我的解决方法是使用静态站点生成器。创建布局并使用从本地化文件中检索到的文本填充它们可以消除该问题。这里有几个不同的选项应该可以解决问题。
Jekyll 可能是想到静态站点生成器时首先想到的,因为它是迄今为止最受欢迎的。使用多语言插件,您可以使用博客框架构建多语言网站。
优点:它是 Jekyll,因此您可能会找到大量支持。
缺点:Jekyll 是一个博客框架,因此如果您不构建博客,它可能不是最佳选择。
在最近在 Google 上挖掘它之前,我并不知道它,但它可能很有希望支持开箱即用地构建本地化网站。
优点:正在积极开发中,开箱即用支持近 40 种语言,无需任何插件。它还具有许多其他有用的功能,例如增量重建、多种格式、友好的 CLI 和内容管理系统。
缺点:没有 Jekyll 那么多的支持,也可能不太合适,具体取决于您正在构建的内容。
Hugo 也可用于构建多语言网站。
优点:Hugo 也是一个非常受欢迎的静态站点生成器,因此您也可以期待大量的支持。然而,与 Jekyll 不同的是,您可以使用 Hugo 构建多语言网站,而无需使用任何插件。
缺点:与 Nikola 不同,Hugo 在构建时并未考虑本地化。实现它更多的是在配置文件中使用的技巧。
尽管我不喜欢自我推销,但我一直在研究静态网站生成器,主要关注点是静态构建多语言网站。如果您选择使用它,我认为它可能会帮助您解决问题。
优点:从头开始构建时考虑了本地化。 Ampersand 不是博客框架,因此几乎可以在任何 Web 开发项目中使用它,而无需大量调整和查找模板文件。
缺点:仍处于开发初期,经常出现向后不兼容的更新。
如果有人知道我上面没有提到的另一个可以用来构建多语言网站的静态网站生成器,我鼓励你在 cmets 中注明。