Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何建立多语言网站_Php_Internationalization_Multilingual - Fatal编程技术网

Php 如何建立多语言网站

Php 如何建立多语言网站,php,internationalization,multilingual,Php,Internationalization,Multilingual,我正在尝试创建一个简单的方法来建立一个多语言网站,有两种语言-一种是默认的,一种是用户可以切换到的 我希望通过在每个页面上加载两种语言来实现这一点,但只显示所选的一种语言 当用户浏览站点时,我希望站点记住选择了哪种语言,并以该语言显示文本 如何才能做到这一点?考虑到您正在使用Wordpress,这里介绍了推荐的方法:。要用php和所述方法回答此问题: <?php $Languages = Array("English","Svenska","Deutsch"); if(i

我正在尝试创建一个简单的方法来建立一个多语言网站,有两种语言-一种是默认的,一种是用户可以切换到的

我希望通过在每个页面上加载两种语言来实现这一点,但只显示所选的一种语言

当用户浏览站点时,我希望站点记住选择了哪种语言,并以该语言显示文本


如何才能做到这一点?

考虑到您正在使用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>


display:none
方法似乎效率低下(至少)。系统应该在哪个平台上运行?Java,PHP?@ialencar在PHP上。这个网站是用WordPress创建的,这个问题到底是什么让人难以理解?好了,现在清楚了吗?谢谢-这似乎正是我要找的!那么,您将如何在这两种语言之间切换?@Kasper Bjerre添加了代码=)太好了!!非常感谢你。是否可以将语言作为链接放在顶部而不是下拉列表中?刚刚测试过,出现了一个问题-当我选择一种语言时,cookie只记得我对所选页面的选择-如果我导航到另一个页面,默认语言是英语,即使我在上一页把语言改成了瑞典语。是否有可能以某种方式修复此问题?:)@Kasper Bjerre it works for me=/cookie是否跟随到下一页?有错误吗?确保在第一个php代码之前没有任何内容,甚至没有空格。