对于一个网站,我做的,我只使用静态内容,如HTML,JavaScript的,CSS,图片(没有PHP或服务器端语言)。
我希望能够在英语和法语的本地化,但我不能确定这将是一个很好的解决方案。 下面是我心目中至今的解决方案:
复制HTML页面
优点:简单,搜索引擎友好
缺点:一个痛苦,如果我决定要改变什么,但我总是要做到这一点的两倍
Dreamweaver模板
优点:搜索引擎友好,友善更新
缺点:这么多的地方补充说,这将增加一倍的HTML大小的区域,乱码
JST:JavaScript的模板
优点:友好的更新,代码友好
缺点:SEO?不是本作?
目前名单上的任何其他的想法或进一步的意见?
混合解决方案可以为你工作:
- 开发的主要HTML内容,都在使用标识的DIV,在英语(SEO友好的英语至少)。
- 创建页面上的链接切换到另一种语言
- 当用户点击该链接,而不是加载更多静态文件,运行加载ID和翻译语言的静态JSON阵列,通过阵列循环,并取代的DIV的innerHTML一些JavaScript。
- 作为奖励,有代码也改变了页面上的所有内部链接添加#语言EN或任何对所有链接。 然后,当你的页面加载,有JavaScript的检查URL中的语言参数,并自动加载的首选语言。
使用jQuery来处理所有繁琐的ID选择和AJAX调用加载语言文件。
如果图像需要被更换,使你的JSON数据更健壮由具有三列:元素ID,属性名称(切换或者“SRC”或“的innerHTML”或其他),以及内容(对于一个图像,将本地化的SRC和一个DIV,替换文本)。
用一个小PHP复制在你身边的页面。 对待HTML页面,如PHP文件,本地化的PHP文件,然后使用Web服务器编译PHP为静态网页(使用的file_get_contents)。 只是编译HTML到语言目录,并有英语是默认的根。 即使你的生产服务器发生故障时有PHP,你可以在你的身边使用PHP自己节省一些时间。
我一直都是第一个选项的粉丝(重复的HTML文件),因为它往往是最简单,最SEO友好的,同时不需要使用任何JavaScript的,但不必过度复制你的修改几个文件可真烦人。 我的工作围绕这一直是使用静态站点生成器。 创建布局,并与本地化的文件检索到的文本填充它们消除了该问题。 下面是应该做的伎俩一些不同的选择。
杰基尔(与多国语言插件)
杰基尔可能是静态的现场发电机的思维时,因为它是目前最流行的,想到的第一件事。 使用多国语言的插件,你可以建立与博客框架多语种网站。
优点:它的化身,所以你可能会发现支持像样的数目。
缺点:杰基尔是一个博客框架,所以如果你不建立一个博客它可能不是最好的选择。
尼古拉
我不知道这一个挖它在谷歌最近之前,但它可能是有前途的人员构建地区性网站,开箱即用的支持。
优点:积极的开发中,几乎支持40种语言的开箱没有任何插件。 它也有许多像增量重建,多种格式,友好的CLI和内容管理系统等实用功能。
缺点:不拥有尽可能多的支持,化身,也可能不那么适合取决于你正在构建的。
雨果
雨果也可以用来建立多语种网站。
优点:雨果也是一个非常受欢迎的静态站点生成器,所以你可以期待很多的支持有作为。 不像杰基尔,但是,你可以使用雨果无需使用任何插件打造多语种网站。
缺点:与尼古拉,雨果没有考虑国产化建。 实现更在配置文件中使用的一招。
和号
虽然我不喜欢自我宣传,我一直工作在一个静态的网站发生器的主要重点是静态建立多语种网站。 我认为它可能与你的问题帮助,如果你选择使用它。
优点:从本地化地上爬起来考虑建造。 符号是不是博客框架,以便它可以在几乎任何web开发项目中使用没有一吨适应和追逐模板文件。
缺点:在发展中还早,其中的向后兼容的更新常来。
如果有人知道它可以用于构建我没有上面提到的多语种网站另一个静态网站生成器,我建议你要注意它的意见。