Sprachdateien - PHP ?

Sebigf

Erfahrenes Mitglied
Hallo zusammen!

Ich habe vor, in einem Script von mir verschiedene Sprachpakete anzubieten.
Nun ist aber meine Frage, wie ich das am besten anstelle, dass es möglichst mit PHP Funktioniert.

Ich habe vor, alle Werte in einem Array zu speichern und diese dann anhand des Keys auslesen zu lassen.

Sollte ich am besten PHP-Dateien nutzen für die Einträge oder etwas anderes ?
Das Array soll später mithilfe von require() bzw. include() eingebunden werden.

Einer eine Idee ?

Danke
 
also ich denke nicht das das die perfekte lösung ist... jedenfalls nicht wenn deine sprachdatei etwas größer ist. Am besten und schnellsten ist denke ich eine mysql datenbank wo alle nachrichten gespeichert sind, falls du eine solche zur verfügung hast
 
MMh, naja, ich denke, es wird seine gründe haben, dass viele Scripts mit Sprachdateien arbeiten.

Andererseits muss auch die Einfachheit, dass man Sprachpakete einfach "hochladen" kann auch positiv angerechnet werden.

Ich denke mit Dateien gibt es folgende Vorteile

+ leicht einzufügen
+ übersichtlich zu editieren
+ keine Einstellungen mehr nötig

und negativ

- Geschwindigkeit lässt nach

Ich denke eine "einpassung" in eine DB ist für einen Laien eher wesentlich komplizierter...


Ich würde gerne einmal einige Meinungen bzw. erfahrungen hören :)
 
Ich denke die einfachste Loesung ist wohl GetText. Falls Du also mit den GetText-Funktionen arbeiten kannst solltest Du Dir das mal ansehen.
In einem Projekt nutze ich dies und kann nur sagen, dass es einfach zu nutzen ist und nicht auch gut zu pflegen.
Immerhin ist es ja genau dafuer gemacht.
 
Mmh, sieht interessant aus. Habe aber absolut keinen Plan, wie es anzuwenden währe, für mich. :)

Hast du ein Beispiel zu Hand ?

Danke
 
Alle Texte die direkt ausgegeben werden, also nicht aus einer Textdatei/Datenbank/etc. wird ueber die Funktion gettext() ausgegeben.
Man kann dann automatisch all diese Ausgaben ausfiltern und in eine Datei speichern lassen. Darueber kann man dann Dateien fuer die einzelnen Sprachen erstellen.
Ich werd morgen auf der Arbeit mal schauen, dann kann ich auf was Code posten.
 
Muh ;)

Naja, ich habe mich mittlerweile umgehört wegen einer guten Lösung...

Ich habe mir folgende Ideen angehört, und es gibt jeweils immer mind. einen Nachteil:

PHP-Datei : Zu lastig
SQL: zu lastig
XML: unübersichtlich + zu lastig
gettext : nicht auf jedem Server vorinstalliert

Kennt sonst noch einer eine Methode ?
 
Ich habe die beiden Möglichkeiten PHP-Datei (Array) und MySql-DB getestet und bin bei der PHP-Datei hängengeblieben, da mir die Adminstration so am einfachsten erscheint.
Hierbei handelte es sich um eine Website in fünf Sprachen, bei der auch kurzfristig Änderungen der Texte / Übersetzungen notwendig sind. Eine Geschwindigkeitseinbuße konnte ich nicht feststellen. Mein wichtigster Punkt hierbei, ich kann die Dateien 1zu1 an einen Übersetzer weitergeben, der sie mir dann entsprechend bearbeitet wieder zurückgibt, und ich kann die Dateien einfach hochladen. Hätte ich die Texte in einer Datenbank, bräuchte ich mal mindestens eine Adminoberfläche um die Inhalte vernünftig bearbeiten zu können, bzw. dem Übersetzer gleiches zu ermöglichen. Zumindest müßte ich die Daten dann nochmal bearbeiten und das erhöht die Fehlerquote.

Allerdings sei erwähnt, daß es sich hierbei um ein Softwareportal handelt, also eher Ähnlichkeit mit einem Shopsystem hat. Es existieren somit auch keine längeren einzelnen Textbereiche, die länger wie 2-3 Sätze sind.

Bei größeren Sites mit viel Content würde ich vielleicht auch auf eine DB zurückgreifen, dann würde ich mir aber Gedanken um eine vernünftige Adminoberfläche machen, bzw. gleich auf ein fertiges CMS zurückgreifen.
 
Es ist mittlerweile eine Art CMS und sollte gerade eine hohe "einfachheit" haben.
Bei den Textmeldungen handelt es sich aber auch meist nur um max. 1-2 Sätze. Mehr nicht. Ich denke auch, dass es nicht mehr wie 100 Zeilen geben wird.

Ich denke die DB geschichte währe, dass es wie gesagt "ein CMS" ist, am besten. Allerdings muss ich mich auch fragen, ob es sinn macht...

Wie sollte ich denn, wenn ich es mit der SQL Tab. realisiere, am besten anstellen ?
Also wie sollte die Struktur sein !?

Danke
 
Zurück