1

デフォルトの言語とユーザーが切り替えることができる言語の 2 つの言語を使用して、多言語 Web サイトを簡単にセットアップする方法を作成しようとしています。

各ページに両方の言語をロードしてこれを行いたいのですが、選択した言語のみを表示します。

ユーザーがサイトをナビゲートするときに、選択した言語をサイトに記憶させ、その言語でテキストを表示するようにします。

どうすればこれを達成できますか?

4

2 に答える 2

2

Wordpress を使用していることを考慮して、推奨されるアプローチをここで説明します: Wordpress の翻訳

于 2013-01-05T23:50:27.537 に答える
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>
于 2013-01-06T00:07:57.483 に答える