我正在尝试创建一种简单的方法来设置多语言网站,使用两种语言 - 一种是默认语言,另一种是用户可以切换到的语言。
我想通过在每个页面上加载两种语言来完成此操作,但只显示所选的一种语言。
当用户浏览网站时,我希望网站记住选择了哪种语言,并以该语言显示文字。
我该如何做到这一点?
答案 0 :(得分:2)
考虑到您使用的是Wordpress,此处介绍了推荐的方法:Translating Wordpress。
答案 1 :(得分:1)
要在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>