バイリンガルのウェブサイトを整理するのを手伝ってください。
最初に eng.php と es.php の 2 つのファイルがあり、それらは翻訳サイトに保存されます。
例:
$lang['hi'] = 'Hi';
サイトでさらに言語の選択を整理し、その言語に関する情報を Cookie に記録するにはどうすればよいですか?
このように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'];
?>
<?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)
?>