0

バイリンガルのウェブサイトを整理するのを手伝ってください。

最初に eng.php と es.php の 2 つのファイルがあり、それらは翻訳サイトに保存されます。

例:

$lang['hi'] = 'Hi';

サイトでさらに言語の選択を整理し、その言語に関する情報を Cookie に記録するにはどうすればよいですか?

4

2 に答える 2

2

このように2つのファイルを持つことができます。

のソースen.php:

$lang = array(
    'hi' => 'Hi'
);

のソースes.php:

$lang = array(
    'hi' => 'Hello'
);

また、メイン コンテンツ ファイルの場合、ソースは次のようにする必要があります。

<?php
    session_start(); // Make sure you initialize cookies / session
    $allowedLangs = array('en', 'es'); // Array with allowed values
    if(isset($_SESSION['lang'])) { // If already user had stored language in session
        include $_SESSION['lang'] . ".php";
    } elseif(isset($_GET['lang']) && in_array($_GET['lang'], allowedLangs)) { // If user had requested like index.php?lang=en
        include $_GET['lang'] . ".php";
        $_SESSION['lang'] = $_GET['lang']; // Update the session with the language
    } else { // If user is visiting for the first time, then...
        include "en.php";
    }

    echo $lang['hi'];
?>
于 2012-06-06T12:06:08.497 に答える
0
<?php
    if(!isset($_COOKIE['lang'])){
        ?>
        Choose Language...
        <a href="es.php">ES</a><a href="eng.php">ENG</a>
        <?php
    } else {
        if($_COOKIE['lang']=='es'){
            header("location:es.php");
        }
        elseif($_COOKIE['lang']=='eng'){
            header("location:eng.php");
        }
    }
?>

es.php // eng.php

<!--Your Content-->
<?php
    setcookie("lang","es/eng",time()+SECONDS_YOU_WANT)
?>
于 2012-06-06T12:09:15.150 に答える