Sprachauswahl wählen

CreativPur

Erfahrenes Mitglied
Hi,
ich habe ein Auswahlfeld und möchte damit die Sprache auswählen..
HTML:
<form action="#" method="get">
            <select class="form-control hidden-xs" style="margin-top:8px; background-color:#000; color:silver; border-color:#000;" >
                <option value=" Deutsch"><li><a href="#?language=de"> Deutsch</a></li></option>
                <option value=" English"><li><a href="#?language=en"> English</a></li></option>
                <option value=" Français"><li><a href="#?language=fr"> Français</a></li></option>
                <option value=" Español"><li><a href="#?language=es"> Español</a></li></option>
                <option value=" Türk"><li><a href="#?language=tr"> Türk</a></li></option>
                <option value=" Polski"><li><a href="#?language=pl"> Polski</a></li></option>
                <option value=" Italiano"><li><a href="#?language=it"> Italiano</a></li></option>
                <option value=" Pусский"><li><a href="#?language=ru"> Pусский</a></li></option>
                <option value=" سوري"><li><a href="#?language=sy"> سوري</a></li></option>
            </select>
        </form>

Die Übersetzung mache ich mit json.
PHP:
<?php
class language {
   public $data;
   function __construct($language) {
      $data = file_get_contents($language . ".json");
      $this->data = json_decode($data);
   }
   function translate() {
        return $this->data;
   }
}

$language = new language("en");
$text = $language->translate();
?>

<?php echo $text->Actions->Neu ?><br />
      <?php echo $text->Actions->Hinzufügen ?><br />
      <?php echo $text->Actions->Anpassen ?><br />
      <?php echo $text->Actions->Löschen ?><br />
      <?php echo $text->Actions->Schließen ?><br />

Die Übersetzungen funktionieren, aber wie kann ich die Sprache mit mit der Auswahlbox ansteuern ?
 
Hallo

hatten wir nicht erst kürzlich das Thema?
Nur zum Verständnis: Je nach ausgewählte Sprache soll das entsprechende Flag ausgewählt sein.

Ansich musst du im PHP oder im Javascript eine Variable definieren und darüber kannst du den Default-Wert beim Dropdown setzen.
 
Hi,
ich habe es jetzt soweit hin bekommen..
Leider wird beim Start der index.php erst die Englische Version angezeigt.
Wie bekomme ich es hin, dass erst de angezeigt wird ?

Meine Versuche..
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//DE" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de">
PHP:
<?php
session_start();
header('Cache-control: private'); // IE 6 FIX

if(isSet($_GET['lang']))
{
$lang = $_GET['lang'];

// register the session and set the cookie
$_SESSION['lang'] = $lang;

setcookie('lang', $lang, time() + (3600 * 24 * 30));
}
else if(isSet($_SESSION['lang']))
{
$lang = $_SESSION['lang'];
}
else if(isSet($_COOKIE['lang']))
{
$lang = $_COOKIE['lang'];
}
else
{
$lang = 'de';
}
switch ($lang) {
  case 'de':
  $lang_file = 'lang.de.php';
  break;

  case 'en':
  $lang_file = 'lang.en.php';
  break;

  default:
  $lang_file = 'lang.de.php';
}
include_once 'languages/'.$lang_file;
?>

PHP:
<div id="languages">

<form>
<select class="form-control hidden-xs" style="margin-top:8px; background-color:#000; color:silver; border-color:#000;" name="auswahl"
onChange="top.location.href=this.form.auswahl.options[this.form.auswahl.selectedIndex].id" >
<option id="index.php?lang=de"><?php echo $lang['MENU_SPRACHE']; ?></option>
<option value=" Deutsch" id="index.php?lang=de" > Deutsch</option>
<option value=" English" id="index.php?lang=en"> English</option>
</select>
</form>

</div>
 
Was gibt bei dem initialen Seitenaufruf $lang zurück?

Was mich wundert ist, dass du im ersten Script $lang als Variable behandelst und im zweiten als Array.

Was soll der erste option-Tag eigentlich bewirken? Warum, arbeitest du nicht mit dem "selected"-Befehl
 
Hi Kalito,
ich habe es jetzt hin bekommen..
Ich habe bei meinen Mac den Verlauf gelöscht. Jetzt zeigt er beim Start die deutsche Version..

Wie gesagt, meine Kenntnisse sind nicht so dolle..
"Erfahrendes Mitglied" unter meinem Profil lässt viele verwirren.. Das bin ich wahrscheinlich nur durch meine vielen dummen Fragen geworden.. smile
Na gut.. Habe auch viel dadurch gelernt..

Was mich wundert ist, dass du im ersten Script $lang als Variable behandelst und im zweiten als Array.

Ich habe damit zwei grundverschiedene Funktionen gestartet..
 
Zurück