簡體   English   中英

如何在PHP中實現語言包

[英]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;
}

在每個頁面請求中,根據您保存的值從相關語言文件夾中獲取語言文件。

例如,這將如何查看文件結構:

  • 英語
    • Global.php
    • Register.php
  • 西班牙文
    • Global.php
    • Register.php

然后,每當需要加載文本文件時,請使用:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM