Localization 如何定位静态网站?

Localization 如何定位静态网站?,localization,web,static,Localization,Web,Static,对于我正在做的网站,我只使用静态内容,如HTML、javascript、CSS、图像(没有PHP或服务器端语言) 我希望能够用英语和法语进行本地化,但我不确定什么是好的解决方案。 以下是我目前想到的解决方案: 重复的HTML页面 优点:简单,搜索引擎优化友好 缺点:如果我决定改变什么,我总是要做两次 Dreamweaver模板 优点:SEO友好,更新友好 缺点:添加区域的地方太多,会使HTML大小加倍,代码混乱 JST:javascript模板化 优点:更新友好,代码友好 缺点:SEO?不是为这

对于我正在做的网站,我只使用静态内容,如HTML、javascript、CSS、图像(没有PHP或服务器端语言)

我希望能够用英语和法语进行本地化,但我不确定什么是好的解决方案。 以下是我目前想到的解决方案:

重复的HTML页面
优点:简单,搜索引擎优化友好
缺点:如果我决定改变什么,我总是要做两次

Dreamweaver模板
优点:SEO友好,更新友好
缺点:添加区域的地方太多,会使HTML大小加倍,代码混乱

JST:javascript模板化 优点:更新友好,代码友好
缺点:SEO?不是为这个设计的吗


当前列表中还有其他想法或进一步建议吗?

混合解决方案可能适合您:

  • 用英语开发主要的HTML内容,所有内容都在DIV和IDs中(至少对英语SEO友好)
  • 在页面上创建链接以切换到其他语言
  • 当用户单击链接时,不要加载更多的静态文件,而是运行一些JavaScript,加载ID和翻译语言的静态JSON数组,在数组中循环并替换div的InnerHTML
  • 作为奖励,该代码还可以更改页面上的所有内部链接,以向所有链接添加#语言en或其他内容。然后,当页面加载时,让Javascript检查URL中的语言参数,并自动加载首选语言
使用JQuery处理所有混乱的ID选择和AJAX调用以加载语言文件


如果需要替换图像,请使用三列来增强JSON数据的健壮性:元素ID、属性名称(用于切换“src”或“InnerHTML”或其他内容)和内容(对于图像,将是本地化的src,对于DIV,则是替换文本)。

使用一点PHP复制您这边的页面。像对待PHP文件一样对待HTML页面,本地化PHP文件,然后使用web服务器将PHP编译成静态网页(使用文件内容)。只需将HTML编译成一个语言目录,并将English作为默认根目录。即使您的生产服务器无法使用PHP,您也可以通过使用PHP为自己节省一些时间。

我一直是第一个选项(复制HTML文件)的粉丝,因为它往往是最简单和最有利于搜索引擎优化的选项,同时不需要使用任何JavaScript,但是必须将修改复制到多个文件中,这真的很烦人。我的工作是使用静态站点生成器。创建布局并使用从本地化文件检索的文本填充布局可以消除此问题。这里有几个不同的选项可以解决这个问题

当想到静态站点生成器时,可能首先想到的是Jekyll,因为它是目前为止最流行的。使用多语言插件,您可以使用博客框架构建多语言网站

优点:这是杰基尔,所以你可能会找到相当数量的支持

缺点:Jekyll是一个博客框架,所以如果你不建立博客,它可能不是最好的选择

在最近在谷歌上挖掘之前,我并不知道这一点,但它可能有希望在开箱即用的基础上构建本地化网站

优点:正在积极开发中,支持近40种开箱即用语言,无需任何插件。它还具有许多其他有用的功能,如增量重建、多种格式、友好的CLI和内容管理系统

缺点:没有Jekyll那么多的支持,也可能不适合,这取决于你正在构建什么

雨果也可以用来建立多语言网站

优点:Hugo也是一个非常受欢迎的静态站点生成器,因此您也可以期待在那里获得大量支持。但是,与Jekyll不同,您可以使用Hugo构建多语言网站,而无需使用任何插件

缺点:与尼古拉不同,雨果并没有考虑本地化。实现它更多的是配置文件中使用的技巧

虽然我不喜欢自我推销,但我一直在开发一个静态网站生成器,它的主要重点是静态地构建多语言网站。我认为如果你选择使用它,它可能会帮助解决你的问题

优点:从一开始就考虑本地化。Ampersand不是一个博客框架,因此它可以在几乎任何web开发项目中使用,而无需大量修改和查找模板文件

缺点:仍处于开发早期,经常出现向后不兼容的更新


如果有人知道另一个静态站点生成器,它可以用来构建我上面没有提到的多语言网站,我鼓励你在评论中注意到它。

这个问题可能更适合于感谢。我会好好考虑的,法国已经很晚了。我看到你的解决方案的缺点是我必须添加的Id数量,以及非英语语言的SEO,但我仍然喜欢。我没有要本地化的图像,我选择了@font-face。混合了静态和动态文本,我对此进行了调查,在这里看到我的问题答案:我也喜欢这个想法。谢谢