Php 关于尽可能快速高效地创建多语言网站的问题

Php 关于尽可能快速高效地创建多语言网站的问题,php,model-view-controller,codeigniter,frameworks,dry,Php,Model View Controller,Codeigniter,Frameworks,Dry,我正在为一家公司做一个网站,他们需要法语和英语 我有一些理论问题可以帮助我指导我的发展。客户大多位于偏远地区,56k拨号仍然很普遍,因此下载量小/材料的可重复使用性是关键 我计划将页眉和页脚与页面上的内容部分分开,这样一旦加载了页眉和页脚,它们就可以从用户缓存中重新使用 我的主要问题是,我应该在数据库中存储语言并使用会话变量吗?(我怀疑这是最慢的)或者在一个语言文件中使用URI和语言类 另外,如果我自动加载语言文件,这是否意味着它将存储在本地,从而将带宽使用率保持在最低水平?您的页眉/页脚计划将

我正在为一家公司做一个网站,他们需要法语和英语

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

我计划将页眉和页脚与页面上的内容部分分开,这样一旦加载了页眉和页脚,它们就可以从用户缓存中重新使用

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


另外,如果我自动加载语言文件,这是否意味着它将存储在本地,从而将带宽使用率保持在最低水平?

您的页眉/页脚计划将只使用帧和将来的过期日期(不过,我认为根据If-Modified发送304页眉仍然有用)

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


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

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

www.somesite.com/fr/vs.www.somesite.com/en/

或者使用你在文章中提到的任何一种方法


我的观点是,图像是您的主要开销。您可以从一个页面中删除所有图像,并自己运行基准测试,以查看无论您如何提供语言服务—从db或文件/类,您都可以看到即使在56k上也存在毫秒级的差异。假设您的页面大小正常,而不是数十万行。加载一个小图像可能比加载页面上的所有文本花费更长的时间。

如果在服务器上使用PHP和不同的语言资源字符串生成页面,则客户端的下载速度并不重要。客户必须同时使用两种语言吗?不,客户不必同时使用两种语言,他们在第一次就诊时选择,如果需要,可以随时切换。那么自动加载不会将文件放在客户机上并提高导航速度?