请教php如何开发多语言网站
本人是PHP新手,想用PHP开发个多语言的网站,
请教各位大虾有哪种上手快又显示效果好的
方法?
我查了些资料,找了2种方法
1。将涉及多语言部分,使用变量标识。
2。使用gettext扩展
还有其他方法吗?大家开发多语言网站时是
怎么做的。
thanks
------解决方案--------------------将涉及多语言部分,使用变量标识
1生成模板,将多语言部分做成变量.
2生成多模板语言包.
3程序执行时,先获取当前语言,然后再获取语言包,然后替换模板中的变量,然后输出.
------解决方案--------------------gettext扩展吧,使用i18.php通过浏览器语言来建立.po,.mo文件,支持多语言!
------解决方案--------------------100分呢,过来凑个热闹,把上面的都总结,然偶举例说明。
所有出现字符的地方,都定义为变量。
比如:$menu_index.
多种语言就有多种语言包,可以做成配置文件,比如en.inc.php cn.inc.php 等等
内容如下:
cn.inc.php
$menu_index='首页';
$menu_aboutus='关于我们';
en.inc.php
$menu_index='index';
$menu_about_us='about_us';
后台添加的时候,把各种语言的内容分库比较好。
不同语言的管理员后台,连接不同的数据库。
或者把表名进行分类cn_news en_news
------解决方案--------------------设计时候用多语言包,
用php的HTTP_ACCEPT_LANGUAGE来获取所在地语言。include相应的语言包
其实还是蛮简单的
------解决方案--------------------把功能分为好像1楼所说的:
1、多语言的数组或类变量
2、制作一个模板,把这些变量套入里面
3、按照这个模板搞个生成程序,生成静态就可以了
------解决方案--------------------
------解决方案--------------------
归根结底就是把多种的语言资源统一管理起来,
根据HTTP请求信息或者服务器设定信息调用相应的语言信息。
大体分为:
1.global域下用联想数组管理
2.通过调用不同语言文件,直接用定量管理
3.同样是global下的数组,但是语言资源通过外部文件(如ini)管理,程序自动生成数组
------解决方案--------------------不知道LZ的具体想法。
多语言如果是局限在界面的话,还是比较简单的。我建议用gettext的标准方式进行处理。
建议你看看这里一个比较完整的介绍:http://plog.longwin.com.tw/programming/2007/09/16/gettext_php_i18n_2007。当然,他也引用到了我的文章,不过由于我的WP改版,文章id已经变了:
http://www.rsywx.net/wordpress/2007/07/161
希望对你有帮助。
------解决方案--------------------