php小編香蕉教您如何用PHP建立多語言網站,讓您輕鬆消除語言障礙。透過簡單的設定和技巧,您可以為網站添加多種語言選項,為不同地區的使用者提供更友善的存取體驗。讓您的網站更具吸引力和國際化!
為多語言資料建立一個新表,包括以下欄位:
CREATE TABLE translations ( id INT NOT NULL AUTO_INCREMENT, locale VARCHAR(255) NOT NULL, key VARCHAR(255) NOT NULL, value TEXT NOT NULL, PRIMARY KEY (id) );
2. 設定語言切換機制
在網站的頂部或側邊欄新增一個語言切換器,讓使用者可以選擇首選語言。
// 获取当前语言 $current_locale = isset($_GET["locale"]) ? $_GET["locale"] : "en"; // 语言链接 $languages = array("en", "es", "fr"); foreach ($languages as $lang) { echo "<a href="?locale=$lang">$lang</a> "; }
3. 載入翻譯
#從資料庫載入目前語言的翻譯。
// 查询翻译 $translations = $db->prepare("SELECT * FROM translations WHERE locale = ?"); $translations->execute(array($current_locale)); // 存储翻译数组 $tr = array(); foreach ($translations as $row) { $tr[$row["key"]] = $row["value"]; }
4. 顯示翻譯
#在您的 html 程式碼中,使用 gettext
函數從翻譯陣列中取得文字。
// 使用 gettext 获取翻译 echo gettext("This is a test");
5. 國際化日期與時間
對於日期和時間顯示,使用 PHP 的 Intl
擴充:
// 创建 DateTime 对象 $dt = new DateTime(); // 国际化日期和时间格式 $dt->setTimezone(new DateTimeZone("Europe/London")); echo $dt->fORMat("Y-m-d H:i:s");
6. 本地化數字與貨幣
同樣,對於數字和貨幣格式化,使用 Intl
擴充:
// 创建 NumberFormatter 对象 $formatter = new NumberFormatter("en_US", NumberFormatter::CURRENCY); // 格式化货币 $amount = 1000; echo $formatter->formatCurrency($amount, "USD");
7. 保持程式碼整齊
為了保持程式碼整潔,您可以建立函數和幫助器來簡化翻譯和國際化的過程。例如:
function t($key) { global $tr; return isset($tr[$key]) ? $tr[$key] : $key; }
結語
使用 php 建立多語言網站可以消除語言障礙,讓您的網站面向全球受眾。透過遵循本文中的步驟和使用提供的範例程式碼,您可以輕鬆建立和管理多語言網站。
以上是用 PHP 建立多語言網站:消除語言障礙的詳細內容。更多資訊請關注PHP中文網其他相關文章!