首頁 >後端開發 >php教程 >如何做多國家,多語言電商網站的設計

如何做多國家,多語言電商網站的設計

WBOY
WBOY原創
2016-12-01 01:27:251479瀏覽

現在公司要做一個在多個國家,支持多語言的網站,那我們應該這樣去設計,是在一個域名之下,通過/cn,/fr這種形式去做,還是通過域名.fr,. en,.cn比較好

回覆內容:

現在公司要做一個在多個國家,支持多語言的網站,那我們應該這樣去設計,是在一個域名之下,通過/cn,/fr這種形式去做,還是通過域名.fr,. en,.cn比較好

建議使用子域名,不要使用目錄。
例如你的主站是
www.example.com
以下是子站

<code>zh.example.com //中国
us.example.com //美国
jp.example.com //日本
...</code>

個人認為怎麼舒服怎麼來,亞馬遜他們又不是沒分域名
但如果貴司希望各國分站要同步登陸狀態之類的就要考慮cookie跨域問題了

假設就用一個域名來提供面向全球多個國家的服務,這時除了要解決語言問題,更重要的是要解決時區的問題.我們平台開發默認都是東八區(北京時間),可能並不在意這個問題.這時,你就要讓用戶選擇自己所在的國家(確定語言)以及時區(有些國家有多個時區,比如美國).

如果php.ini中沒有配置date.timezone,則預設時間是協調世界時UTC(Universal Time Coordinated).

<code>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</code>

做面向多個時區的網站開發,資料庫儲存UTC時間,輸出時以某個時區作為基準時間.
JS取得客戶端時間,計算出客戶端跟伺服器的時差,然後計算出訪客所在時區的活動時間.
美國不像我國有統一的北京時間,美國有四個時區的時間在使用,很混亂.

至於多語言,還是挺好解決的,用數組就行,以登入介面為例:

<code>在render加载模板时require语言文件:
require APP_ROOT.'/lang/'.$app['lang'].'/'.$template;
require APP_ROOT.'/themes/'.$app['theme'].'/'.$template;

lang/zh_CN/login.php
<?php
$lang_login = array(
    'Login'       => '登录',
    'Username'    => '帐号',
    'Password'    => '密码',
    'Remember me' => '记住我',
);

lang/en_US/login.php
<?php
$lang_login = array(
    'Login'    => 'Login',
    'Username' => 'Username',
    'Password' => 'Password',
    'Remember me' => 'Remember me',
);</code>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn