[英]How to implement language packs in PHP
我為我的網站創建了3種語言包:英語,西班牙語和法語。 我只是在根據用戶選擇實施它們時遇到了麻煩。 我有以下下拉菜單:
<select onchange='document.location.href=this.options[this.selectedIndex].value;'> <option>Select</option> <option value="?lang=eng">US English</option> <option value="?lang=esp">Español</option> <option value="?lang=fra">Français</option> </select>
我如何根據用戶選擇的內容包括語言文件,我只是不知道在if語句中要放置什么條件 。
謝謝。
通過查詢字符串引入選項時,您可以使用
$lang = $_GET['lang']
首先,保存用戶在用戶會話中選擇的值。 例如:
switch($_POST['lang']) {
case 'en': $_SESSION['lang'] = 'English'; break;
case 'sp': $_SESSION['lang'] = 'Spanish'; break;
default: $_SESSION['lang'] = 'English'; break;
}
在每個頁面請求中,根據您保存的值從相關語言文件夾中獲取語言文件。
例如,這將如何查看文件結構:
然后,每當需要加載文本文件時,請使用:
function load_text_file($filename) {
include 'languages/' . $_SESSION['lang'] . '/' . $filename.'php';
return $txt; // $txt should be an array
}
//...
$text = array(); $text += load_text_file('Global'); $text += load_text_file('Register');
對於我的模板,這段代碼是
$_SESSION['language'] = 'english';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.