关于使多语言网站尽可能快速有效的问题

时间:2012-02-17 14:35:07

标签: php model-view-controller codeigniter frameworks dry

我正在为公司制作网站,他们需要法语和英语。

我有一些理论问题可以帮助我指导我的发展。客户主要是在56k拨号仍然普遍的偏远地区,因此小的下载大小/材料的可重用性是关键。

我计划将页眉和页脚与页面上的内容部分分开,因此一旦加载页眉和页脚,它们就会从用户缓存中重新使用。

我的主要问题是,我是否应该将语言存储在数据库中并使用会话变量? (我怀疑这是最慢的)或在语言文件中使用URI和语言类?

此外,如果我自动加载语言文件,是否意味着它将存储在本地,从而将带宽使用量降至最低?

2 个答案:

答案 0 :(得分:1)

您的页眉/页脚计划仅使用框架和远期到期日期(但是,我认为根据If-Modified-Since发送304标题仍然有用)。

不,CI语言配置是服务器端。它与客户端带宽无关。

您所谈论的大部分内容都涉及响应标头。雅虎和谷歌都为这些信息创造了很多资源。

答案 1 :(得分:1)

与网站可能提供的任何图像相比,有关该语言的详细信息对加载时间的影响微乎其微。如果您要做的是避免从数据库查询语言所需的几秒钟,您可以对网站进行编码,使其以平面文本的形式提供整个网站,这可以通过多种方式实现。

www.somesite.com/fr/与www.somesite.com/en /

对比

或者使用您在帖子中提到的任何一种方法。

我的观点是图像是你的主要开销。您可以从页面中剥离所有图像并自行运行基准测试,无论您如何使用语言 - 从数据库或文件/类中,即使在56k上,您也可以看到几毫秒的差异。假设您的页面是正常大小而不是数十万行。加载一张小图片的时间可能比您网页上的所有文字都要长。