PHP中英文切換的網站是如何做的

來源:互聯網
上載者:User
PHP中英文切換的網站是怎麼做的?
現在要做一個外貿網站,需要中文和英文兩個版本,我想問問,是單獨做兩個網站出來還是只做一個,然後中英文之間切換?

------解決方案--------------------
多語言網站解決方案 php

前言:
多語言網站開發,重點的還是在解決語言之間的問題。
那如何解決這個問題呢?大概就分三步走:

1.頁面多語言
2.資料庫多語言
3.使用者訪問語言統一

1.頁面多語言
需要考慮的問題:
A.使用者登陸時候,自動識別字元,調用不同的語言套件?
B.使用者切換不同語言時候,調用不同的語言套件?
C.增加多語言後的目錄結構?

頁面多語言也就是外觀的多語言化,這裡可以採用靜態語言套件的方式。
設計時候就應該包括language的目錄,針對不同語言有獨立的子目錄。
如英文language/en ,簡體中文language/gb,繁體中文language/b5 (可以擴充其他語言)
每個目錄下就包含了對每個頁面的語言版本。選擇語言版本時候就可以調用相應版本的語言套件。

具體做法:
0.利用js語言,識別瀏覽器語言,在調用不同的語言套件.

1.language/en/global.ln是針對英文版的全域語言套件。

2.global.ln 內容為:
$title = "English webstie";
$charset = "UTF-8";

3.index.php調用:
require_once()
?>;
;
;
;$title;
;
;
;;
;

這樣通過擴充就可以實現頁面的多語言化.

2.資料庫多語言
這個考慮的問題:
A.後台錄入資料的多語言化?
B.使用者在不同版本下,提交的內容,如何儲存?
C.提供三種語言套件,還是提供英文和簡體,簡體通過轉化提供繁體?

資料庫多語言就是達到多語言在資料庫裡面的統一。就需要採用utf-8統一編碼。
無論什麼語言的文字,都統一使用utf-8來存放到資料庫裡面。採用表欄位來表識
屬於什麼語言版本的文字。

具體:

A.對於後台添加的問題:

1.後台添加時候,就需要多語言化的錄入。先建立一個以utf-8編碼的資料庫,錄入英文/簡體,簡體在通過轉化為繁體,
再以utf-8編碼方式存於資料庫中。

2.建立以utf-8為編碼的表結構,importlanguage標識屬於什麼語言版本
但在某個版本下,就搜尋屬於這個版本的文字來顯示。其他文字不顯示。
DROP TABLE IF EXISTS `zz_importer`;
CREATE TABLE IF NOT EXISTS `zz_importer` (
`importID` int(11) NOT NULL auto_increment,
`importTime` date NOT NULL default '0000-00-00',
`improtfile` varchar(100) NOT NULL default '',
`importlanguage` varchar(100) NOT NULL default ''
PRIMARY KEY (`importID`)
) ENGINE=MyISAM DEFAULT CHARSET=uft-8;

3.簡體轉化的繁體。
利用php的iconv.此過程對於linux/unix有效,對於windows無效。
iconv("GB2312","BIG5",$text);

4.因為,charset = "utf-8",資料就都是以utf-8編碼方式存在,
添加資料時候,要分別用en/gb/big5來標識語言版本.
INSERT INTO `zz_importer` VALUES (,'', '', 'en');
INSERT INTO `zz_importer` VALUES (,'', '', 'gb');
INSERT INTO `zz_importer` VALUES (,'', '', 'big5');

B.對於使用者添加的問題:
1.假設下簡體中文下.使用者因為頁面頭為UTF-8.則使用者瀏覽器會以utf-8編碼
方式瀏覽頁面。

2.添加的資料庫本身以utf-8方式存在。

3.添加資料時候,要分別用gb來標識語言版本
INSERT INTO `zz_importer` VALUES (,'', '', 'gb');

C.對於簡體和繁體是單獨提供還是轉化問題

單獨提供 - 比較符合多語言的標準,靈活性大,對ISP沒有特別的要求。

轉化提供 - 提交速度會受影響,同時要ISP提供iconv的函數支援。

3.使用者訪問語言統一

A.假設使用者簡體中文版時候:
;
所有語言版本都是這樣。

B.調用language/gb的語言套件。

C.搜尋資料庫有語言欄位為gb的資料,並顯示

D.當使用者提交資訊,參照上面資料庫多語言的B問題。
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.