Problem mit Language

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit Language

    Guten Morgen,

    ich wollte mal ein kleineres Language-System bauen und vorläufig sieht mein Code so aus:
    PHP-Code:
    <?php
    if($session['userid'])
    {
        
    $get_lang $db->query_first("SELECT lang FROM users WHERE userid='".$session['userid']."'");
        if(
    file_exists("lang/".$get_lang.".lng"))
        {
            include(
    "lang/".$get_lang.".lng");
        }
        else { 
            include(
    "lang/default.lng");
        }
    }
    else {
        include(
    "lang/default.lng");
    }
    ?>
    Die default.lng sieht so aus:

    PHP-Code:
    <?php
    $lng
    ['menuleft']['menu'] = "Das Menü";
    ?>
    Wenn ich nun echo $lng['menuleft']['menu']; mache funktioniert das auch. Ich benutze ein eval(); Templatesystem und wenn ich im Template die Variable aufrufe erhalte ich folgenden Fehler (mit Singlequotes): Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in \index.php(116) : eval()'d code on line 12 - An dieser Stelle wird gerade das Menu eingelesen.

    Wenn ich im Template statt $lng['menuleft']['menu'] nur $lng[menuleft][menu] benutze, erhalte ich nur die Ausgabe Array[menu].

    Wäre für jede Hilfe dankbar

  • #2
    Ich vermute, dass der Fehler an den Stringbegrenzungen liegt, poste mal die eval-Zeile (und Zeile 12)

    Kommentar


    • #3
      Zeile 116 also die eval()-Zeile:
      PHP-Code:
      eval("\$menuleft = \"".$tpl->loadtpl($menuleft)."\";"); 
      Zeile 12 von $menuleft:
      Code:
                <b>»</b> <a href="./news.php?sid=$sid">$lng[menuleft][news]</a>
      Hier die Variable für $menuleft im loadtpl():
      PHP-Code:
      if($session['userid']) {
          
      $menuright "menuright_user";
          
      $menuleft "menuleft_user";
      }
      else {
          
      $menuright "menuright_guest";
          
      $menuleft "menuleft_guest";

      Kommentar


      • #4
        Original geschrieben von fear`

        Zeile 12 von $menuleft:
        Code:
                  <b>»</b> <a href="./news.php?sid=$sid">$lng[menuleft][news]</a>
        das ist aber nicht die ganze Zeile

        Kommentar


        • #5
          Doch ist es. Es ist ja ein Template mit der Endung html. Es wird eingelesen und diese Variable sollte eigentlich aus der *.lng übernommen werden...

          *dumdidum* Das is ja das Problem irgendwie..

          Kommentar

          Lädt...
          X