我正在開發一個使用php和mysql的網站。我想知道......處理多語言支持的好方法是什麼?我希望用戶能夠從下拉列表中選擇並選擇他們的語言。然後,除了用戶編寫的內容之外,所有內容(內容,按鈕,鏈接)都以其語言表達。如何製作一個多語言的php網站?
什麼是解決這個問題的好方法?使用cookie?會議?
我正在開發一個使用php和mysql的網站。我想知道......處理多語言支持的好方法是什麼?我希望用戶能夠從下拉列表中選擇並選擇他們的語言。然後,除了用戶編寫的內容之外,所有內容(內容,按鈕,鏈接)都以其語言表達。如何製作一個多語言的php網站?
什麼是解決這個問題的好方法?使用cookie?會議?
像這樣工作得很好:
Langs.php
<?
// check if language switch as been set at url var
if ($_GET["lang_change"]) {
$_SESSION['session_name']["lang"] = $_GET["lang_change"];
}
// set value to lang for verification
$active_lang = $_SESSION['session_name']["lang"];
// verify $lang content and set proper file to be load
switch ($active_lang) {
case 'prt':
$lang_file = 'prt.php';
break;
case 'gbr':
$lang_file = 'gbr.php';
break;
case 'fra' :
$lang_file = 'fra.php';
break;
case 'esp' :
$lang_file = 'esp.php';
break;
case 'deu' :
$lang_file = 'deu.php';
break;
default:
$lang_file = 'gbr.php';
}
// load proper language file for site presentation
include_once ('$lang_file);
?>
LANG GBR FILE(gbr.php)
define("LANG_PAGETITLE_HOMEPAGE", 'Homepage');
define("LANG_BTN_KNOW_MORE", 'know more');
方法來改變語言(URL樣本)
<a href="index.php?lang_change=gbr" title"">USE ENG</a>
基本上,你有一個常量PHP文件中,與郎每個文件。
點擊你設置一個url var(例如:lang_change = lang)。
這將迫使頁面重載,而langs.php文件包含在你的index.php將加載所選語言之上......
如果您需要更多這方面的解釋,發表評論和我」我會送你一份樣品!
PS:在此代碼所示會話變量是有效地與登錄系統,或者只是爲了避免在URL參數相互作用...
我認爲考慮使用具有國際化支持的框架是個不錯的主意。
以使用CakePHP http://bakery.cakephp.org/articles/view/p28n-the-top-to-bottom-persistent-internationalization-tutorial看看這個例子
我認爲下面會幫助你開發它的一些基本概念。
在一個網站中,特別是多語言網站應該有用戶界面/模板,硬編碼標籤應該鏈接到變量。這些變量應該加載正確的語言值。這可以通過包含以特定語言包含值的語言文件來輕鬆完成。您可以在文件夾中包含儘可能多的語言文件。
您需要在php中編寫腳本,因爲無論何時用戶從下拉列表中選擇語言,頁面都可以使用語言會話重新加載。另一個php腳本,用於在該會話數據中獲取所選語言,並在模板/ UI中包含相關語言文件。
在從表中獲取內容數據時可以使用相同的方法,在所有MySQL查詢中,您可以使用內容表中的語言類型的附加查找。以便該文件將被加載。
SELECT * FROM posts WHERE lang='en' AND featured = 1
在許多情況下,語言要求相應地設置HTML和CSS,以使語言在瀏覽器內完美呈現。這意味着,您還可以在HTML中定義語言,並在CSS中定義字體和方向(從右到左或從左到右)。
我建議您閱讀以下內容以獲取有關如何操作的更多信息。 http://www.stylusinc.com/website/multilanguage_support.htm
首先,.php文件快得多你必須動態添加每種語言的所有值。 將動態內容添加到您的網站時,您可以將languageId添加到數據庫中您的表格的每個字段。然後您可以代表語言ID在前端顯示該內容。
[在PHP網站上放置翻譯系統的最佳方式是什麼?](http://stackoverflow.com/questions/2344383/what-is-the-best-way-to-put-a -php-website中的翻譯系統) – Gordon 2010-06-29 23:11:26
嘗試使用$ _SERVER [「HTTP_ACCEPT_LANGUAGE」]並使下拉/手動覆蓋爲可選。 – mario 2010-06-29 23:17:12