デフォルトの言語とユーザーが切り替えることができる言語の 2 つの言語を使用して、多言語 Web サイトを簡単にセットアップする方法を作成しようとしています。
各ページに両方の言語をロードしてこれを行いたいのですが、選択した言語のみを表示します。
ユーザーがサイトをナビゲートするときに、選択した言語をサイトに記憶させ、その言語でテキストを表示するようにします。
どうすればこれを達成できますか?
デフォルトの言語とユーザーが切り替えることができる言語の 2 つの言語を使用して、多言語 Web サイトを簡単にセットアップする方法を作成しようとしています。
各ページに両方の言語をロードしてこれを行いたいのですが、選択した言語のみを表示します。
ユーザーがサイトをナビゲートするときに、選択した言語をサイトに記憶させ、その言語でテキストを表示するようにします。
どうすればこれを達成できますか?
Wordpress を使用していることを考慮して、推奨されるアプローチをここで説明します: Wordpress の翻訳。
phpでこれに答えるには、前述の方法を使用します。
<?php
$Languages = Array("English","Svenska","Deutsch");
if(isset($_POST["lang"]))
{
foreach($Languages as $Possible)
{
if($_POST["lang"] == $Possible)
{
setcookie( "Lang", $_POST["lang"], strtotime( '+30 days' ));
$_COOKIE["Lang"] = $_POST["lang"];
}
}
}
$Lang = isset($_COOKIE["Lang"]) ? $_COOKIE["Lang"] : "English";
$Tindex = 0;
foreach($Languages as $Possible)
{
if($Possible == $Lang)
$Index = $Tindex;
$Tindex++;
}
?>
<html>
<head>
<style type="text/css">
<?php
foreach($Languages as $Possible)
{
if($Lang != $Possible)
{
echo ".language$Possible {";
echo " display: none;";
echo "}";
}
}
?>
</style>
</head>
<body>
<form method="POST" action="">
<select name="lang">
<?php
foreach($Languages as $Possible)
{
echo "<option value='$Possible' " . ($Lang == $Possible ? "selected='true'" : "") . " >";
echo " $Possible";
echo "</option>";
} ?>
</select>
<input type="submit" value="pick language">
</form>
<hr>
<br>
<br>
<h1> Test case1: </h1>
<div class="languageEnglish">
Hello!
</div>
<div class="languageSvenska">
Hallå!
</div>
<div class="languageDeutsch">
Hallo!
</div>
<h1> Test case2: </h1>
<div>
<?php
switch ($Lang) {
case "English":
echo "This is a test text!";
break;
case "Svenska":
echo "Denna text är en test text!";
break;
case "Deutsch":
echo "Dieses text ist einen test text!";
break;
}
?>
</div>
<h1> Test case3: </h1>
<div>
<?php
$Str = Array("There are lots of ways to print the text!","Det finns massa sätt att skriva texten!","Es gibt viel methoden, die text zu schreiben!");
echo $Str[$Index];
?>
</div>
</body>
</html>