2

html/php スクリプトで多言語メイン メニューを作成する方法

<li>
<a href="{url p='poceni-letalske-karte.html'}">
<span>{t t="Letalske Karte"}</span>
</a>
</li>

<option value='EN'>English</option>mysite.com/EN ユーザーが英語のENコードを選択すると、メインメニューのテキストも変更されます。その方法は?これはウェブサイトLetalske karte です

このスクリプトを見つけましたhttp://www.bitrepository.com/php-how-to-add-multi-language-support-to-a-website.html しかし、今のように /EN/ に設定する方法がわかりませんこのスクリプトでは、に設定されていますindex.php?lang=en

4

4 に答える 4

1

言語ファイルが非常に長い場合は、言語インクルードの上にこれを追加して、ページごとに分割できます。

// for login page
$textpart = 'login';

したがって、言語ページに配列を分割させます

<?php   
switch ($textpart) {
  //login page
  case 'login':
    $lang['label']      = 'Value for this label';
    $lang['firstname']  = 'First Name';
    $lang['lastname']   = 'Last Name';
    $lang['phone']      = 'Phone';
    break;

  //home page
  case 'home':
    // ETC
}

// All pages
   $lang['title']       = 'Title';
   // ETC

?>
于 2014-03-19T13:17:33.033 に答える
1

上のコードを使っていたのですが、ENへのロードごとにセッションが上書きされるので、

<?php
// Start a Session, You might start this somewhere else already.
session_start();

// What languages do we support
$available_langs = array('en','zh-cn','es');




if(isset($_GET['lang']) && $_GET['lang'] != ''){
    // check if the language is one we support
    if(in_array($_GET['lang'], $available_langs))
    {
        $_SESSION['lang'] = $_GET['lang']; // Set session
    }
}



// Set our default language session ONLY if we've got nothing
if ($_SESSION['lang']=='') {
    $_SESSION['lang'] = 'en';

}


// Include active language
include('languages/'.$_SESSION['lang'].'/lang.'.$_SESSION['lang'].'.php');

?>
于 2013-10-07T18:47:30.493 に答える