javascript - 中文网站做好了,现在有一个英文版本的入口,有什么思路
黄舟
黄舟 2017-04-11 11:23:48
[JavaScript讨论组]

1、

现在中文版本的网站做好了,现在点击“english version”切换到英文版本,有什么好的思路?谢谢

用thinkphp做的后台,整个页面除了页脚的联系方式是写死的,菜单、新闻、内容全都是动态的,前台都是从数据库动态读取的

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(14)
PHP中文网

把所有写死在代码中的涉及到切换语言的字符串提取成常量

把常量的定义放在单独的文件中,统一引用即可

例如

if ($lang === 'zh') {
  define('__DISPLAY_ACCOUNT_NAME__', '账户名称');
  define('__DISPLAY_ORDER_NAME__', '订单名称');
  // ...
} else if ($lang === 'en') {
  define('__DISPLAY_ACCOUNT_NAME__', 'Account Name');
  define('__DISPLAY_ORDER_NAME__', 'Order Name');
  // ...
}
巴扎黑

在每一个模块底下都配置一个lang-zh.php和一个lang-en.php,前端显示的关键性的文字都记录在里面。保存记住用户上次的选择,再去匹配不同lang文件里的内容

巴扎黑

在url上有区别就行吧。

ringa_lee

可以用语言包吧

阿神

搞一个英文版的网站

当用户切换版本的时候,写入cookie,下次访问自动切换到上次用户的选择

比如上次我切换了英文,下次应让我自动访问英文版

黄舟

参考php制作中英文两版网站比较方便的思路

高洛峰

建议你还是用CMS重做吧,用thinkphp做很少会考虑周全的,现在的CMS已经考虑很周全了,例如多站,后台分级管理,SEO设置,varnish支持, page cache等。有不少是一个网站标配选项,但你可能都没考虑到,以后还是可能不断追加需求,你就需要反复去重构你的网站。最后可能用drupal搞两天就完成了。

仅多语言实现方式也有很多种,有按cookie的,有按域名的,有按URL二级目录的,有用标准翻译软件格式的,这些在drupal, joomla上只是选项切换就行了。要是你现在按cookie实现了,以后你客户要求用多语言域名,因为那个SEO好,那你就没办法马上实现,只能再重构。

以下是设计场景:
客户:听说多个域名实现多语言对SEO好,例如en.domain.com, cn.domain.com那样,这种多语言你实现出来吧
程序员:好的
(把网站重构为domain url切换语言方式)
程序员:做好了
客户:好吧,准备上线了。但域名还没有弄好,你先把它搞成URL二级目录吧,例如domain.com/en/和domain.com/cn/
程序员:好吧。。。
(修改程序中)
程序员:可以了
客户:我暂时还请不到人翻译英文,你还是先把多语言功能关了吧,不要带cn/后缀
(此时程序员的表情请自行联想)

怪我咯

大部分的框架都有i18N实现的方案,给链接添加一个lang参数作为区分就好了。

巴扎黑

用cookie保存用户选择的语言版本
如果是静态的文字内容可以分别保存在中文和英文的php文件里,通过配置文件或头部php读取cookie来加载不同语言的php文件.
动态内容在后台添加内容的时候就应该要求输入中文和英文的内容.

天蓬老师

中英文内容分开录入。

同一个系统,区分不同的栏目就可以实现了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号