Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 04-05-2007, 01:20
noob_in_php
 Junior Member
Links : Onlinestatus : noob_in_php ist offline
Registriert seit: May 2007
Beiträge: 156
noob_in_php ist zur Zeit noch ein unbeschriebenes Blatt
Standard Webseite 2-Sprachig

Hallo liebe PHP Profis!

Bitte verweis mich nicht auf die Suchfunktion dieses Forum, dessen bin ich mir bewusst. Ich habe ca 3 std nach meinem Problem gesucht aber nichts gefunden und da ich noch ein Anfänger in PHP bin, ist es für mich ziehmlich schwer eure Sprache zu verstehen.


Folgendes Problem:
- Ich habe ein javascript programmiert, indem ich gerne 2 Grafikbuttone einbinden würde. Diese sollen einmal eine DE Flagge und eine EN Flagge sein. Über diese beiden Flaggen sollen die beiden Sprachen geschaltet werden.

- Fernerhin möchte ich keine DB mehr benutzen, da mir keine mehr zur Verfügung steht. Die Texte sollen in Dateien stehen.

Ich würde folgenden Quellcode verwenden:

In allen Index.php dateien:

Im Header Bereich:
switch ($lang) {
default: include("lang_de.php");
break;
case "de": include("lang_de.php");
break;
case "en": include("lang_en.php");
break;
}


An den Positionen, wo die Texte aufgerufen werden sollen:
<H3><?php echo $info[5]; ?></H3>
<P>
<?php echo $info[0]; ?><BR>
<?php echo $info[1]; ?><br>
<?php echo $info[2]; ?><br>
<?php echo $info[3]; ?><br>
<?php echo $info[4]; ?></P>

<H3><?php echo $allgemeininfo[0]; ?></H3>
<LI><A href="link.de"><?php echo $allgemeininfo[1]; ?></A>
<LI><A href="link.de"><?php echo $allgemeininfo[2]; ?></A>
<LI><A href="link.de"><?php echo $allgemeininfo[3]; ?></A>
<LI><A href="link.de"><?php echo $allgemeininfo[4]; ?></A>




In den Dateien, wo die Texte stehen (index_de.php):
<?php

global $info;
global $allgemeininfo;



$info=array(
//0
//0
"Text1",
//1
"Text2",
//2
"Text3",
//3
"Text4",
//4
"Text5",
//5
"Text6",
);

$allgemeininfo=array(
//0
//0
"Text1",
//1
"Text2",
//2
"Text3",
//3
"Text4",
//4
"Text5",
//5
"Text6",
);
?>


In den Dateien, wo die Texte stehen (index_en.php):
<?php

global $info;
global $allgemeininfo;



$info=array(
//0
//0
"Text1 (en)",
//1
"Text2 (en)",
//2
"Text3 (en)",
//3
"Text4 (en)",
//4
"Text5 (en)",
//5
"Text6 (en)",
);

$allgemeininfo=array(
//0
//0
"Text1 (en)",
//1
"Text2 (en)",
//2
"Text3 (en)",
//3
"Text4 (en)",
//4
"Text5 (en)",
//5
"Text6 (en)",
);
?>



Links für die Flaggen
ich hätte auf jeder Flagge den Link mit dem Parameter domäne/inde.php?$lang=en bzw de gesetzt. Zudem gibts noch ein weiteres Problem. Ich möchte wenn der User sich auf einer Unterseite befindet und er die Sprache umstellt nicht immer wieder auf die Startseite geleitet wird sondern er dort bleibt wo er gerade ist.
Das geht nicht mit einem absoluten Link oder so, da ich immer wieder die gleiche java navi einbinde! Also ich habe eine java navi für alle templates die ich von root einbinde. Gibt es da noch ein Weg, die aktuelle URL zwischen zu speicher, um immer wieder dort zu bleiben? Ich weiß schon das das geht nur wie?

Eins weiß ich noch (hoffe es ist richtig) man muss damit die Sprache auch auf den weiteren Subseiten so bleibt, wie man sie eingestellt hat, den Link parameter ?$lang hinter der url mit angeben.


Jetzt bekomme ich bei verschiedenen Varianten Fehlermeldungen bzw der Text wird gar nicht angezeigt. Ich vermute das liegt daran, dass die Varaiblen nicht als Global definiert wurden.?

Kann es auch vielleicht sein, dass es mit dem javascript Probleme gibt? Ich weiß ja das java clientseitig ausgeführt wird und php Serverseitig. Es ist doch aber eigentlich nur eine Übergabe.?

Hat jemand einen Lösungsvorschlag, ich wäre euch echt sehr dankbar.

Und bitte nich sauer sein, da schon wieder so ein Beitrag geöffnet wurde. Ich habe wirklich lange gesucht und viel probiert.
Viele Grüße

Geändert von noob_in_php (04-05-2007 um 01:23 Uhr)
Mit Zitat antworten