84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
现在公司要做一个在多个国家,支持多语言的网站,那我们应该这样去设计,是在一个域名之下,通过/cn,/fr这种形式去做,还是通过域名.fr,.en,.cn比较好
业精于勤,荒于嬉;行成于思,毁于随。
建议使用子域名,不要使用目录。比如你的主站是www.example.com以下是子站
zh.example.com //中国 us.example.com //美国 jp.example.com //日本 ...
个人认为怎么舒服怎么来,亚马逊他们又不是没分域名但如果贵司希望各个国家分站要同步登陆状态之类的就要考虑cookie跨域问题了
假设就用一个域名来提供面向全球多个国家的服务,这时除了要解决语言问题,更重要的是要解决时区的问题.我们平台开发默认都是东八区(北京时间),可能并不在意这个问题.这时,你就要让用户选择自己所在的国家(确定语言)以及时区(有些国家有多个时区,比如美国).
如果php.ini中没有配置date.timezone,则默认时间是协调世界时UTC(Universal Time Coordinated).
ini_set('date.timezone', 'UTC'); //UTC时间 echo date('Y-m-d H:i:s', time())."\n"; //输出2015-12-11 02:43:28 ini_set('date.timezone', 'PRC'); //北京时间(UTC+8) echo date('Y-m-d H:i:s', time());."\n" //输出2015-12-11 10:43:28
做面向多个时区的网站开发,数据库存储UTC时间,输出时以某个时区作为基准时间.JS获取客户端时间,计算出客户端跟服务器的时差,然后计算出访客所在时区的活动时间.美国不像我国有统一的北京时间,美国有四个时区的时间在使用,很混乱.
至于多语言,还是挺好解决的,用数组就行,以登录界面为例:
在render加载模板时require语言文件: require APP_ROOT.'/lang/'.$app['lang'].'/'.$template; require APP_ROOT.'/themes/'.$app['theme'].'/'.$template; lang/zh_CN/login.php '登录', 'Username' => '帐号', 'Password' => '密码', 'Remember me' => '记住我', ); lang/en_US/login.php 'Login', 'Username' => 'Username', 'Password' => 'Password', 'Remember me' => 'Remember me', );
建议使用子域名,不要使用目录。
比如你的主站是
www.example.com
以下是子站
个人认为怎么舒服怎么来,亚马逊他们又不是没分域名
但如果贵司希望各个国家分站要同步登陆状态之类的就要考虑cookie跨域问题了
假设就用一个域名来提供面向全球多个国家的服务,这时除了要解决语言问题,更重要的是要解决时区的问题.我们平台开发默认都是东八区(北京时间),可能并不在意这个问题.这时,你就要让用户选择自己所在的国家(确定语言)以及时区(有些国家有多个时区,比如美国).
如果php.ini中没有配置date.timezone,则默认时间是协调世界时UTC(Universal Time Coordinated).
做面向多个时区的网站开发,数据库存储UTC时间,输出时以某个时区作为基准时间.
JS获取客户端时间,计算出客户端跟服务器的时差,然后计算出访客所在时区的活动时间.
美国不像我国有统一的北京时间,美国有四个时区的时间在使用,很混乱.
至于多语言,还是挺好解决的,用数组就行,以登录界面为例: