PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   Mehrsprachige Homepage (http://www.selfphp.de/forum/showthread.php?t=13407)

PHP - Stufe: Mi 04.05.2006 22:24:01

Mehrsprachige Homepage
 
Hallo erstmal,

Mein Anliegen ist folgendes:
Ich habe eine Homepage geschrieben, die eine Suchfunktion für ein Wörterbuch besitzt. Da das Wörterbuch aus 2 Sprachen besteht, möchte ich die Homepage auch in 2 Sprachen auswählbar machen.

Meine Frage ist nun, wie bekomme ich das hin.....

Meine Überlegungen waren diese:
- Deutsche Flagge
- Kroatische Flagge
beide mit "Links" besetzen, und dann je nach klick eine session starten.
Die session soll dann eine gewisse variable x auf 1 stellen. Die Variable x soll so deklariert sein das sie nur noch datensätze, sprich texte aus der datenbank abruft, die für 1 gedacht sind, sprich nur deutsche texte.

Beispiel
Auf dieser Seite sind auch mehrer Sprachen (oben) anklickbar
http://www.tourismus-bw.de/homepage....403,232927.htm



Frage
Denke ich vielleicht zu kompliziert?
Oder geht es auch einfacher?

Wär über jede Hilfreiche Antwort dankbar

conmunich 04.05.2006 22:37:05

AW: Mehrsprachige Homepage
 
Also ich hab das auch mal so gemacht. Session is ne gute Möglichkeit. Ich hab das dann mit zwei Dateien für englisch/deutsch gelöst. Einfach alle Inhalte der Seite durch Variablen ersetzen und diese in den Language Dateien festlegen.

z.B.:
PHP-Code:

if(($_GET['lang'] == "de") or ($_SESSION['lang'] == "de")) { include("language/de.php"); $_SESSION['lang'] = $_GET['lang']; } 

usw...

Serp 04.05.2006 23:21:18

AW: Mehrsprachige Homepage
 
Ich würd sogar noch einen Schritt weitergehen und die Dateien in unterschiedliche Ordner packen, dafür aber die Dateinamen gleich lassen. Dann kannst du einmal die Sprache ermitteln, so wie conmunich es geschrieben hat, und verwendest dann nur noch includes der Form include('./content/'.$lang'./seite.php')

sysop 04.05.2006 23:57:14

AW: Mehrsprachige Homepage
 
Zitat:

Zitat von Serp
Ich würd sogar noch einen Schritt weitergehen und die Dateien in unterschiedliche Ordner packen, dafür aber die Dateinamen gleich lassen. Dann kannst du einmal die Sprache ermitteln, so wie conmunich es geschrieben hat, und verwendest dann nur noch includes der Form include('./content/'.$lang'./seite.php')

meine volle zustimmung. wenn du logins (also user) machst solltest du ausserdem villeicht daran denken, die session z.b. aus einem cookie zu belegen oder die sprache aus den usereinstellungen zu übernehmen. so het jeder seine bevorzugte sprache schon beim aufrufen und muss nicht immer wieder seine sprache neu wählen.

conmunich 05.05.2006 01:56:52

AW: Mehrsprachige Homepage
 
Wieso unterschiedliche Ordner?

PHP-Code:

include('content/lang/'.$lang.'.php'

So gehts doch auch!

PS: Die Idee mit den Cookies ist sehr gut! Manchmal sinds die einfachen Dinge auf die ich nicht komme! ;)

PHP - Stufe: Mi 05.05.2006 07:29:54

AW: Mehrsprachige Homepage
 
Cookies, wollte ich noch nicht verwenden, da es sich noch nicht, um ein anmeldeverfahren mit usern/logins und ähnlichem handelt.
z.Z. ist es noch eine Page mit Freigabe für jeden.

Das mit den Ordnern habe ich noch nicht so richtig verstanden.

Kann ich nicht in einer datei, alles mit variablen deklarieren, und diese einfach per session werte entweder auf deutsch oder kroatischen text setzen?!

Habt ihr vielleicht ein beispiel?!

Die Sprache soll auf jeder Seite frei auswählbar sein, d.h. der Wert muss für jede Seite weiter gegeben werden.

Dann noch eine Frage:
Wenn Ihr die URL in der Adresse habe:
http://www.localhost.de/index.php?se...allo&test=test

gibt es dafür vielleicht ein PHP Script das dieses in eine variable tun kann?!
sodas ich das so wie es da ist übernehmen kann?!
bzw. erstmal mit echo ausgeben kann
danke

Serp 05.05.2006 15:26:36

AW: Mehrsprachige Homepage
 
@conmunich: Na ja... Was machst du, wenn du mehrere Dateien hast, die in unterschiedlicher Sprache vorliegen sollen?

Die kannst du natürlich nebeneinander packen, also so was wie seite1_de.php und seite1_en.php usw, aber ich find da ne Ordnerstruktur deutlich übersichtlicher. Ist aber vermutlich Geschmackssache...

conmunich 05.05.2006 16:08:10

AW: Mehrsprachige Homepage
 
Ein Beispiel:

gaestebuch.php
PHP-Code:

<?php include("lang/$_SESSION['lang'].php"); ?>
<html>
<head>
<title><?php echo $gb_title?></title>
</head>
<body>
<h1><?php echo $gb_head?></h1>
<?php echo $gb_welcome?>
<form action......

lang/de.php
PHP-Code:

<?php
$gb_title 
"Gaestebuch";
$gb_head "Sie befinden sich im Gaestebuch";
$gb_welcome "Willkommen, bitte tragen Sie sich ein!";
?>

lang/en.php
PHP-Code:

<?php
$gb_title 
"Guestbook";
$gb_head "You are visiting the Guestbook";
$gb_welcome "Welcome, please make an entry!";
?>

Eine bessere Möglichkeit ist es, wenn du die Variablen mit define festlegst. Dann können diese nicht verändert werden.

Ausserdem handelt es sich nur um einen Denkanstoss! Also bitte nicht auf mein English achten... ;)

MfG! conmunich

Serp 05.05.2006 18:44:13

AW: Mehrsprachige Homepage
 
Ok, du arbeitest mit Variablen. Ich würd wahrscheinlich eher mehrsprachige Templates wählen.

Valentin 05.05.2006 20:41:52

AW: Mehrsprachige Homepage
 
Hallo,

wie wäre es mit einem Array? Ich finde die Vorsilbe $gb ein bisschen mager ... da ist man sich dann nie sicher ob man es irgend wann überschreibt .....

PHP-Code:

<?php
$lang 
= array(
   
"gb" => array(
      
"title"=>"Gaestebuch",
      
"head" => "Sie befinden sich im Gaestebuch",
      
"welcome" => "Willkommen, bitte tragen Sie sich ein!"
   
)
);

// andere datei:
echo $lang["gb"]["title"];
?>

@Serp: Darf man fragen welche Vorteile die Sprache in den Templates haben? Der Nachteil ist doch irgend wie das man Design mit Sprache vermischt ..... und nicht jedes Design in jeder Sprache hat .... da finde ich Variablen einfacher ;)

MfG
V@lentin


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:12:32 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.