php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.01.2005, 16:07  
Neuer Benutzer
 
Registriert seit: 07.01.2005
Beiträge: 7
Tears_of_Hate
Standard Seite in dt. und engl. -> Arrays oder XML-Dateien?

Hey,

ich möchte meine Seite in deutsch und englisch umsetzen. Um nicht alles doppelt anlegen zu müssen will ich die Sprach-Informationen dynamisch aus einer (oder mehreren) Dateien laden lassen.

Seither hatte ich es mit 2 PHP-Dateien (für jede Sprache eine) in denen sich jeweils Arrays mit den Texten befinden. Ich hab allerdings gehört, dass es weniger Serverlast bedeutet, alle Texte aus einer XML-Datei laden zu lassen. Hab mich auch mal dran versucht, bekomm es allerdings nicht gebacken.

Hatte in etwa an so einen Aufbau gedacht:

Code:
<?xml version="1.0" encoding="iso-8859-1"?>

<ROOT>
 <GERMAN>
  <PAGE 1>
   <HEADLINE>Deutsche Überschrift</HEADLINE>
   <TEXT1>Text 1</TEXT1>
   <TEXT2>Text 2</TEXT2>
  </PAGE 1>
  <PAGE 2>
   <HEADLINE>Deutsche Unterschrift</HEADLINE>
   <TEXT1>Text 1</TEXT1>
  </PAGE 2>
 </GERMAN>

 <ENGLISH>
  <PAGE 1>
   <HEADLINE>English Headline</HEADLINE>
   <TEXT1>Text 1</TEXT1>
   <TEXT2>Text 2</TEXT2>
  </PAGE 1>
  <PAGE 2>
   <HEADLINE>English Underline</HEADLINE>
   <TEXT1>Text 1</TEXT1>
  </PAGE 2>
 </ENGLISH>
</ROOT>
Wie kann ich jetzt die Texte dynamisch laden? Am besten indem ich an der Stelle, an der der Text erscheinen soll nur eine Funktion aufrufen muss wie z.B. get_text("ROOT/GERMAN/PAGE2/TEXT1") ?

Ich hoffe ihr könnt mir weiterhelfen? Mehr als dass ich alle Texte auf einmal angezeigt bekomme hab ichs nicht gepackt. Durch die Struktur der XML-Datei browsen bekomm ich nicht hin.

Greetz

Hate
Tears_of_Hate ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.01.2005, 16:31  
Gast
 
Beiträge: n/a
Standard

Die Lösung mit dem XML ist da imho besser, zwar kommt da die Performance durch das Parsen etwas runter (Hängt auch nen bisschen vom Parser ab.) allerdings behälst du die übersicht.
--
Für sowas würde imho Simplexml (PHP5) reichen.
Einfach den String mit dem xPath an die xpath() funktion von Simplexml weitergeben und ergebnis zurückgeben.


related:
http://de.php.net/manual/de/function...ment-xpath.php
  Mit Zitat antworten
Alt 07.01.2005, 16:50  
Neuer Benutzer
 
Registriert seit: 07.01.2005
Beiträge: 7
Tears_of_Hate
Standard

Hey,

hab leider nur PHP 4 zur Verfügung... gibt da doch sicher auch ne Möglichkeit, oder?

Greetz

Hate
Tears_of_Hate ist offline   Mit Zitat antworten
Alt 08.01.2005, 00:41  
Gast
 
Beiträge: n/a
Standard

warum nimmst du nicht die gettext erweiterung von PHP

Guter Artikel http://www.onlamp.com/pub/a/php/2002/06/13/php.html

Dazu auch ein Tread http://www.tutorials.de/showthread.php?p=943232
  Mit Zitat antworten
Alt 09.01.2005, 13:15  
Neuer Benutzer
 
Registriert seit: 07.01.2005
Beiträge: 7
Tears_of_Hate
Standard

Danke, ich werd mir gettext mal genauer angucken... sieht ziemlich vielversprechend aus...

Greetz

Tears
Tears_of_Hate ist offline   Mit Zitat antworten
Alt 28.01.2005, 11:06  
Neuer Benutzer
 
Registriert seit: 07.01.2005
Beiträge: 7
Tears_of_Hate
Standard

So, hab mir gettext mal angeguckt! Die Funktion ist eigentlich genau das, was ich suche. Allerdings bekomm ich es auf meinem Windowsrechner einfach nicht zum laufen. Hab mir das neuste XAMPP draufgehauen, Modul aktiviert und ne Testseite erstellt. Soweit funktioniert auch alles, bis ich dann versuche mit xgettext die *.po-Datei zu erstellen.
Hab dann rausgefunden, dass dazu ein zusätzliches Programm nötig ist, runtergeladen, installiert und die Fehlermeldung bekommen, dass ne *.dll fehlt. Gibt es keine einfache Möglichkeit, die *.po und später dann die *.mo-Dateien erstellen zu lassen?

Greetz

ASCII
Tears_of_Hate ist offline   Mit Zitat antworten
Alt 28.01.2005, 11:19  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard Re: Seite in dt. und engl. -> Arrays oder XML-Dateien?

Zitat:
Zitat von Tears_of_Hate
Hey,

ich möchte meine Seite in deutsch und englisch umsetzen. Um nicht alles doppelt anlegen zu müssen will ich die Sprach-Informationen dynamisch aus einer (oder mehreren) Dateien laden lassen.

Seither hatte ich es mit 2 PHP-Dateien (für jede Sprache eine) in denen sich jeweils Arrays mit den Texten befinden. Ich hab allerdings gehört, dass es weniger Serverlast bedeutet, alle Texte aus einer XML-Datei laden zu lassen. Hab mich auch mal dran versucht, bekomm es allerdings nicht gebacken.

Hatte in etwa an so einen Aufbau gedacht:

Code:
<?xml version="1.0" encoding="iso-8859-1"?>

<ROOT>
 <GERMAN>
  <PAGE 1>
   <HEADLINE>Deutsche Überschrift</HEADLINE>
   <TEXT1>Text 1</TEXT1>
   <TEXT2>Text 2</TEXT2>
  </PAGE 1>
  <PAGE 2>
   <HEADLINE>Deutsche Unterschrift</HEADLINE>
   <TEXT1>Text 1</TEXT1>
  </PAGE 2>
 </GERMAN>

 <ENGLISH>
  <PAGE 1>
   <HEADLINE>English Headline</HEADLINE>
   <TEXT1>Text 1</TEXT1>
   <TEXT2>Text 2</TEXT2>
  </PAGE 1>
  <PAGE 2>
   <HEADLINE>English Underline</HEADLINE>
   <TEXT1>Text 1</TEXT1>
  </PAGE 2>
 </ENGLISH>
</ROOT>
Wie kann ich jetzt die Texte dynamisch laden? Am besten indem ich an der Stelle, an der der Text erscheinen soll nur eine Funktion aufrufen muss wie z.B. get_text("ROOT/GERMAN/PAGE2/TEXT1") ?

Ich hoffe ihr könnt mir weiterhelfen? Mehr als dass ich alle Texte auf einmal angezeigt bekomme hab ichs nicht gepackt. Durch die Struktur der XML-Datei browsen bekomm ich nicht hin.

Greetz

Hate
also an deiner stelle würd ich aber das ganze teilen so nach dem schema

-> home.english.xml
-> aboutme.english.xml

-> home.german.xml
-> aboutme.german.xml

weil jenahcdem wie groß die seite wird, ist das ein haufen unnötiges zeug was er jedes mal verarbeitet.


mfg
robo47
robo47 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
CURL in Seite einloggen und einen Teil parsen Matt PHP Tipps 2008 8 03.09.2009 22:30
Bei richtiger Eingabe Daten an nächste Seite versenden xx_heidi_xx PHP Tipps 2008 49 27.05.2008 14:56
Formular - Daten für nächste Seite behalten NetLook PHP Tipps 2007 7 18.11.2005 13:21
dateien von einer externen seite archivieren PHP Tipps 2005-2 0 09.10.2005 20:05
Frame schließen und Seite in dt. und engl. -> Arrays oder XML-Dateien? workaholic HTML, Usability und Barrierefreiheit 2 06.09.2005 13:36
Kontaktformular, welches auf neue html Seite führt PHP Tipps 2005-2 4 20.07.2005 11:21
Bestimmte Dateien am Anfang der Seite laden HTML, Usability und Barrierefreiheit 8 10.07.2005 22:30
PHP News in normale HTML Seite? PHP Tipps 2005-2 5 06.07.2005 19:45
Welche seite (Adresse) rief die aktuelle seite auf? PHP Tipps 2005-2 7 05.07.2005 15:02
[Erledigt] Login auf einer externen Seite per PHP ? PHP-Fortgeschrittene 9 03.07.2005 02:31
Mit post an weitere Seite oder 2 Seiten übergeben? PHP Tipps 2005 1 02.02.2005 12:16
Neue Seite an einer bestimmten Stelle aufrufen PHP Tipps 2005 3 13.01.2005 10:09
blätterfunktion-limit-letzte seite PHP Tipps 2004-2 2 20.12.2004 23:56
Eine 2te Seite auto matisch in neuem Fenster laden PHP Tipps 2004 4 25.08.2004 14:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
lade zwei xml daten in html seite, eine xml datei aus einer externen seite laden, php array german english

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:30 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.