隨著網(wǎng)絡(luò)的發(fā)展,我們的網(wǎng)站已經(jīng)不再僅僅面向一個地區(qū)的人,而是面向全球各地的用戶。這就意味著,我們需要支持多語言,讓用戶選擇自己喜歡的語言。其實,對于PHP來說,支持中英文切換并不是很難,下面就和大家一起來看看。
首先,我們需要在網(wǎng)站上加入語言切換的按鈕。一般來說,這個按鈕會放在頁面的頂部或底部,讓用戶方便地找到它。這個按鈕的實現(xiàn)可以使用Bootstrap navbar,也可以自己寫HTML和CSS。
<nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#">My Website</a> </div> <div class="collapse navbar-collapse" id="myNavbar"> <ul class="nav navbar-nav navbar-right"> <li><a href="?lang=zh-CN">中文</a></li> <li><a href="?lang=en-US">English</a></li> </ul> </div> </div> </nav>
接下來,我們需要針對不同的語言,提供不同的文本內(nèi)容。這個可以使用一個簡單的數(shù)組來實現(xiàn)。代碼如下:
$messages = array( 'zh-CN' => array( 'title' => '歡迎來到我的網(wǎng)站', 'description' => '這是我的個人網(wǎng)站,歡迎你的光臨。' ), 'en-US' => array( 'title' => 'Welcome to My Website', 'description' => 'This is my personal website, welcome to visit.' ) );
在這個數(shù)組中,我們定義了中英文兩種語言,每種語言都擁有一個標(biāo)題(title)和一個描述(description)。接下來,我們要根據(jù)用戶選擇的語言,來顯示對應(yīng)的文本。這個可以通過一個函數(shù)來實現(xiàn),代碼如下:
function getMessage($key) { global $messages; $lang = isset($_GET['lang']) ? $_GET['lang'] : 'zh-CN'; return isset($messages[$lang][$key]) ? $messages[$lang][$key] : ''; }
在這個函數(shù)中,我們使用了一個全局變量$messages來保存我們的文本內(nèi)容。然后,我們判斷用戶選擇的語言,如果沒有選擇,則默認(rèn)為中文(zh-CN)。最后,我們返回對應(yīng)語言的內(nèi)容,如果找不到,則返回空字符串。
現(xiàn)在,我們可以在頁面中使用這個函數(shù)來顯示文本了。代碼如下:
<title><?php echo getMessage('title'); ?></title> <p><?php echo getMessage('description'); ?></p>
在這里,我們使用了getMessage函數(shù)來獲取對應(yīng)語言的文本內(nèi)容,然后輸出到頁面中。
最后,我們需要根據(jù)用戶選擇的語言,將它保存到cookie中。這個可以使用下面的代碼實現(xiàn):
if (isset($_GET['lang'])) { setcookie('lang', $_GET['lang']); }
這個代碼很簡單,就是將用戶選擇的語言保存到cookie中。當(dāng)用戶再次打開網(wǎng)站時,我們可以自動獲取cookie中保存的語言,并在頁面中顯示對應(yīng)的文本。
到這里,我們已經(jīng)介紹了如何在PHP中支持中英文切換。當(dāng)然,這只是一個基礎(chǔ)的例子,實際情況中可能需要更為復(fù)雜的處理,比如支持更多語言、處理不同格式的語言文件等等。