2013-01-04 36 views
1

我想創建一個簡單的方法來建立一個多語言網站,有兩種語言 - 一種是默認的,一種是用戶可以切換到的語言。如何建立一個多語言網站

我想通過在每個頁面上加載這兩種語言來做到這一點,但只顯示所選的一種。

當用戶瀏覽網站時,我希望網站記住已選擇哪種語言,並以該語言顯示文本。

我該如何做到這一點?

+0

的'顯示:none'方法似乎是低效率的(至少)。系統應該運行什麼平臺? Java,PHP? – izilotti

+0

@ialencar在PHP上。該網站是在wordpress中創建的 – Cody

+0

究竟是什麼難以理解的問題? O.o現在更清楚了嗎? – ZombieSpy

回答

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> 
+0

謝謝 - 這似乎正是我正在尋找的!那麼你如何在兩種語言之間切換? – Cody

+0

@Kasper Bjerre加入代碼=) – ZombieSpy

+0

太棒了!非常感謝你。 是否有可能將語言作爲頂部的鏈接而不是下拉菜單? – Cody