打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
编程语言有什么可以做多语言网站的办法?

自己用Smarty写了个网站,现在想加个英文版上去。所有文字翻译都是存在json中的,中文版一个json,英文版另一个json。

现在面临一个问题:
默认语言是根据$_SERVER['HTTP_ACCEPT_LANGUAGE']获得的,但为了保证有中文用户用英文操作系统(或者反过来),希望做一个强制切换语言的选项。之前是用COOKIE做的,但是这有一个问题,就是搜索引擎只能看到默认的中文页面,扫不到英文页面。

考虑了中文页面不动,英文页面改成mydomain.com/en/下面,结果smarty中的tpl模板还在根目录上,一引用就有大量的404错误。

另外服务器不支持url路由(RewriteRule不能用),所以路由传参这条路行不通了。

根据谷歌的内容准则,用get传参这个方法不推荐,所以url get传参,也不推荐了。

目前问题就是,如何尽量精简的用两个url表达同一个网站,只有文字渲染不同。url路由不能用,get传参不能用。

考虑了第三个方法就是中文的也做成mydomain.com/zh/,不过感觉好蠢,跟域会空荡荡的。

回复内容:

自己用Smarty写了个网站,现在想加个英文版上去。所有文字翻译都是存在json中的,中文版一个json,英文版另一个json。

现在面临一个问题:
默认语言是根据$_SERVER['HTTP_ACCEPT_LANGUAGE']获得的,但为了保证有中文用户用英文操作系统(或者反过来),希望做一个强制切换语言的选项。之前是用COOKIE做的,但是这有一个问题,就是搜索引擎只能看到默认的中文页面,扫不到英文页面。

考虑了中文页面不动,英文页面改成mydomain.com/en/下面,结果smarty中的tpl模板还在根目录上,一引用就有大量的404错误。

另外服务器不支持url路由(RewriteRule不能用),所以路由传参这条路行不通了。

根据谷歌的内容准则,用get传参这个方法不推荐,所以url get传参,也不推荐了。

目前问题就是,如何尽量精简的用两个url表达同一个网站,只有文字渲染不同。url路由不能用,get传参不能用。

考虑了第三个方法就是中文的也做成mydomain.com/zh/,不过感觉好蠢,跟域会空荡荡的。

https://www.microsoft.com/zh-cn
其实吧,也没觉得有很蠢= =毕竟大公司都在用。

apple英文站apple.com,中文站是apple.com/cn

不知道你用的什么框架,感觉可以添加一个filter,捕获/en/xxx请求,修复下模板定位问题。

文章来源:https://www.php.cn/faq/342294.html

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用CURL抓取淘宝页面
在ecshop里自动获取当前页面URL的简单方法
彻底更换ecshop编辑器为kindeditor实现在多张图片上传
Smarty 变量
Ecshop DIY系列1——深度SEO优化 - 妙妙的日志 - 网易博客
使用Node.js搭建一个简单的http服务器
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服