Hallo zusammen.
Nach längerer Zeit melde ich mich hier auch mal wieder zu Wort. Ich muss
gerade ein größeres Projekt planen, wo ich mal die fachmännische Erfahrung
einiger User hier benötige.
Es geht um ein System, das später in min. 13 Sprachen verfügbar sein wird.
Das System ist keine Homepage in dem Sinne, sondern dient zum verwalten
von (ich nenne es mal) Produkten. Diese Produkte haben eine vielzahl
von Attributen! Es wird also in der Browser-Ansicht später große
Tabellen geben, mit vielen Feld-Beschriftungen und Buttons,
sowie Info-Texten zu den Eingabefeldern. Die müssen natürlich alle
jeweils in der vom Benutzer gewählen Sprache erscheinen.
Es geht jetzt um die Frage, welche der folgenden drei Varianten zur
Mehrsprachigkeit dafür am geeignetsten ist.
1) Array:
Ein Array mit allen Beschriftungen für jede Sprache.
Vorteil: Einfach zu handhaben bei der Entwicklung.
Nachteil: Das Array muss bei jedem Aufruf neu initialisiert werden, und
da es vermutlich sehr sehr groß wird, nimmt das viele Ressourcen weg.
2) Datenbank mit Sprachen-Tabelle:
Alle Beschriftungen stehen stehen in den jeweiligen Sprachen in
einer Tabelle.
Vorteil: Ist schneller als ein Array.
Nachteil: Ich muss im gesamten Script immer ein Objekt mit dem Ergebnis
der Tabellenabfrage für die ausgewählte Sprache mitschleifen und diese Variante
ist sicherlich sehr umständlich bei der Entwicklung.
3) i18n GetText:
Binäre Sprachdateien
Vorteil: Sehr einfach bei der Entwicklung und ist vermutlich die schnellste
der hier vorgestellten Möglichkeiten.
Nachteil: Ich habe gelesen, das PHP dafür auf dem jeweiligen System
speziell kompiliert werden muss. Ist dies tatsächlich so, fällt die GetText
Variante leider ins Wasser, da das System später auch auf Shared-Hosting
Servern laufen soll. Kann dazu jemand was sagen?
Frage an alle:
welche der drei Möglichkeiten habt ihr für was für ein System schon
mal eingesetzt und welche Erfahrungen habt ihr damit gemacht? Bzw.
welche der Möglichkeiten würdet ihr favorisieren?
Ich bin sehr gespannt auf eure Antworten.
Vielen Dank, Gruß dek*
Edit:
Habe vergessen zu erwähnen, dass das System auf Apache- sowie
IIS Webservern laufen können soll. Ich weiß nicht, ob das für die dritte
Variante von Bedeutung ist. So wie ich das verstanden habe, arbeitet
i18n sehr System nah, bzw. irgendwie über die Shell oder so!? Denn
dann weiß ich auch nicht, wie man auf einem Shared-Hosting Webspace
ein Tool wie das GNU xgettext installieren und ausführen soll...
Nach längerer Zeit melde ich mich hier auch mal wieder zu Wort. Ich muss
gerade ein größeres Projekt planen, wo ich mal die fachmännische Erfahrung
einiger User hier benötige.
Es geht um ein System, das später in min. 13 Sprachen verfügbar sein wird.
Das System ist keine Homepage in dem Sinne, sondern dient zum verwalten
von (ich nenne es mal) Produkten. Diese Produkte haben eine vielzahl
von Attributen! Es wird also in der Browser-Ansicht später große
Tabellen geben, mit vielen Feld-Beschriftungen und Buttons,
sowie Info-Texten zu den Eingabefeldern. Die müssen natürlich alle
jeweils in der vom Benutzer gewählen Sprache erscheinen.
Es geht jetzt um die Frage, welche der folgenden drei Varianten zur
Mehrsprachigkeit dafür am geeignetsten ist.
1) Array:
Ein Array mit allen Beschriftungen für jede Sprache.
Vorteil: Einfach zu handhaben bei der Entwicklung.
Nachteil: Das Array muss bei jedem Aufruf neu initialisiert werden, und
da es vermutlich sehr sehr groß wird, nimmt das viele Ressourcen weg.
2) Datenbank mit Sprachen-Tabelle:
Alle Beschriftungen stehen stehen in den jeweiligen Sprachen in
einer Tabelle.
Vorteil: Ist schneller als ein Array.
Nachteil: Ich muss im gesamten Script immer ein Objekt mit dem Ergebnis
der Tabellenabfrage für die ausgewählte Sprache mitschleifen und diese Variante
ist sicherlich sehr umständlich bei der Entwicklung.
3) i18n GetText:
Binäre Sprachdateien
Vorteil: Sehr einfach bei der Entwicklung und ist vermutlich die schnellste
der hier vorgestellten Möglichkeiten.
Nachteil: Ich habe gelesen, das PHP dafür auf dem jeweiligen System
speziell kompiliert werden muss. Ist dies tatsächlich so, fällt die GetText
Variante leider ins Wasser, da das System später auch auf Shared-Hosting
Servern laufen soll. Kann dazu jemand was sagen?
Frage an alle:
welche der drei Möglichkeiten habt ihr für was für ein System schon
mal eingesetzt und welche Erfahrungen habt ihr damit gemacht? Bzw.
welche der Möglichkeiten würdet ihr favorisieren?
Ich bin sehr gespannt auf eure Antworten.
Vielen Dank, Gruß dek*
Edit:
Habe vergessen zu erwähnen, dass das System auf Apache- sowie
IIS Webservern laufen können soll. Ich weiß nicht, ob das für die dritte
Variante von Bedeutung ist. So wie ich das verstanden habe, arbeitet
i18n sehr System nah, bzw. irgendwie über die Shell oder so!? Denn
dann weiß ich auch nicht, wie man auf einem Shared-Hosting Webspace
ein Tool wie das GNU xgettext installieren und ausführen soll...
Kommentar