我正在尝试创建一种简单的方法来设置具有两种语言的多语言网站-一种是默认语言,另一种是用户可以切换到的语言。
我想通过在每个页面上加载两种语言来做到这一点,但只显示选择的一种。
当用户浏览网站时,我希望网站记住选择了哪种语言,并以该语言显示文本。
我怎样才能做到这一点?
我正在尝试创建一种简单的方法来设置具有两种语言的多语言网站-一种是默认语言,另一种是用户可以切换到的语言。
我想通过在每个页面上加载两种语言来做到这一点,但只显示选择的一种。
当用户浏览网站时,我希望网站记住选择了哪种语言,并以该语言显示文本。
我怎样才能做到这一点?
考虑到您使用的是 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>