方法一:
使用phpcms中的语言包动态切换中英文语言包实现多语言,想要什么语言就创建什么语言包即可。
关键是要知道在做模板界面时里面的文字不能直接写死了而是使用L()函数来调用对应的词汇,比如“用户中心”我们可以写成“{L('member_center')}”;
<a href="#">{L('member_center')}</a>语言包目录:phpcms/languages/en 英文语言包; phpcms/languages/zh-cn 中文语言包。语言包以php数组形式保存,如需增加语言直接在languages目录下创建对应语言包目录即可。
优点:每扩展一种语言只需增加对应的语言包即可,简单方便,无需重复制作页面模板或创建多个站点。
缺点:因为需要php程序动态调用语言包,那么当网站生产静态页面时此功能也就失效了,所以使用语言包直接动态调用对于需要生产静态页面的网站是不适合的。
方法二:
使用phpcms的多站点功能来在后台创建两个站点,并分别绑定对应的域名或目录。然后一个使用英文模板一个使用中文模板即可;
配置操作位置:后台-设置-站点管理-添加站点。
本方法优点:制作的双语站不受是否生成静态的影响,站点间具有一定的独立性但仍在一个后台内管理,所以使用只能安装一个独立站点的虚拟主机服务器也是可以的,这也是本人推荐使用的方法。
缺点:需要两套模板(但是两套模板除了文字上一个中文一个用英文一般没其它差别,不是什么大问题)。
方法三:
安装两个phpcms系统但是使用一个phpsso模块来实现用户互通(在安装系统时大概第三步有个选项是选择“安装全新的phpcms系统”还是“已有phpsso模块”,第二次安装时选择后者即可),两个系统分别做英文站点和中文站点。
本方法优点:两站独立运行当然也就没有动静态的影响,各自想用什么语言就用什么语言,各自想用什么模板就用什么模板,并使用phpsso实现共用用户系统让用户登录时“感觉不出这是两个系统”。
缺点:因为需要搭建两个系统,首先相对来说比较“笨重”,另外,如果你的服务器是虚拟主机很可能不能支持多个独立站点。