Hallo,
ich habe News und Artikel ?hnlich einer HP, die als weitere Seiten im phpBB eingebunden sind. Nun hat phpBB die M?glichkeit die Sprache zu w?hlen. Das w?rde ich nun gerne ?bernehmen. Ich habe einige Vorschl?ge, w?rde aber von einigen erfahreren Usern gerne mal wissen ob es was besseres gibt, ob ich einen Fehler in meinen Vorschl?gen habe oder so...
Vorschlag 1:
je Sprache eine weitere Tabelle anlegen.
Vorteil: es werden keine Spalten gel?scht oder hinzugef?gt.
Nachteil: - gro?e Datenmengen
- jedes Mal wenn Standardsprache ge?ndert und alte gel?scht wird kann es sein das die Artikel gel?scht werden und keine anderssprachige Version vorliegt
Vorschlag 2:
je Sprache und Artikel ein Feld, wenn ein Feld leer ist wird auf die Standardsprache zur?ckgegriffen
Vorteil: - kleinste Datenmenge
Nachteil: Standardsprache wird ge?ndert
Vorschlag 3, mein Favorit:
je Sprache und Artikel ein Feld + ein Feld f?r den zuerst eingetragenen Artikel
Vorteil: - egal welche Sprache gew?hlt, es gibt immer eine Alternative
Nachteil: - wenn eine Sprache hinzugef?gt oder gel?scht wird werden ?nderungen an der Tabelle n?tig
- durch mehrfaches ?ndern der Standardsprache entsteht bei fehlenden ?bersetzungen ein bunter Sprachmix
=> man k?nnte das umgehen indem - falls vorhanden - die Artikel der neugew?hlten Sprache in das Hauptfeld ?bernommen werden
==> Nachteile: beim Sprachwechsel jedes mal hohe Ressourcenbelastung
EDIT:
Nachteile f?r alle: es muss eine Kontrolle geben welche Artikel noch nicht entsprechend ?bersetzt wurden
HP-News/Artikel, mehrsprachig. Wie am besten?
-
- Mitglied
- Beiträge: 1697
- Registriert: 02.06.2003 14:37
- Wohnort: NRW - immer dem Monitorleuchten folgen...
- Kontaktdaten:
HP-News/Artikel, mehrsprachig. Wie am besten?
Die Weisheit verfolgte mich sekundenlang...
Aber sie überholte mich und war fortan nicht mehr gesehen !!!
Aber sie überholte mich und war fortan nicht mehr gesehen !!!
- Blutgerinsel
- Mitglied
- Beiträge: 1801
- Registriert: 19.07.2004 18:53
- Wohnort: Landkreis Ulm
- Kontaktdaten:
Deine Vorschläge:
zu 1.)
- keine Relationelle DB mehr
- unnötiger Datenbelast
- unflexibel
zu 2.)
- Mysql wird bei vielen Spalten träge und langsam daneben müssen unnötige Daten geprüft werden.
- unflexibel
zu 3.)
- mir fehlen die Worte
Mein Vorschlag:
Art.
Art. Nr. | Lieferanten Nr. | Artiklvarianten.... | Status
01 | 4534543 | 1 | A
Art. Transl.
Art. Nr. | lang | Bezeichnung
01 | de | Persil
01 | en | ....
01 | fr | ...
02 | de | ...
eingestellte Art. Trans....
de
en
-----------------------------------------------------
Da ich im Grunde keine Ahnung über den Umfang des Warenwirtschaftssystem habe den du planst...
Ein relationeller Ansatz....
Art. Tabelle
Die Artikeltabelle wird auf das nötigste Maß reduziert, wobei man noch ein Feld Default lang verwenden könnte welches mit der Translation Tabelle verknüpft wird via lang und Art. Nr..
Das ermöglicht eine Artikel differenzierte Landesdefaultsprache...
Wobei hierbei gänzlich Artikelvarianten, Vertriebslinien unberrücksichtigt bleiben.....Artikelvariante 01 ist in Vertriebslinie Spanien gelistet und
Artikelvariante 02 ist in Vertriebslinie Holland gelistet.....
Was zur Folge -> anderer Länderbezeichnungen Pflichtfelder führt.....
Trans. Tabelle
selbstklärend
eingestellte Art. Trans....
diese Tabelle nimmt den Status einer Einrichtungstabelle an, d.h. wurde z.B. "de" nicht festgelegt wird automatisch die Default Language verwendet.
Dadurch erspart man sich ein Artikel bezogenes durchsuchen der Translation Tabelle indem man dies schon global festlegt.....
zu 1.)
- keine Relationelle DB mehr
- unnötiger Datenbelast
- unflexibel
zu 2.)
- Mysql wird bei vielen Spalten träge und langsam daneben müssen unnötige Daten geprüft werden.
- unflexibel
zu 3.)
- mir fehlen die Worte
Mein Vorschlag:
Art.
Art. Nr. | Lieferanten Nr. | Artiklvarianten.... | Status
01 | 4534543 | 1 | A
Art. Transl.
Art. Nr. | lang | Bezeichnung
01 | de | Persil
01 | en | ....
01 | fr | ...
02 | de | ...
eingestellte Art. Trans....
de
en
-----------------------------------------------------
Da ich im Grunde keine Ahnung über den Umfang des Warenwirtschaftssystem habe den du planst...
Ein relationeller Ansatz....
Art. Tabelle
Die Artikeltabelle wird auf das nötigste Maß reduziert, wobei man noch ein Feld Default lang verwenden könnte welches mit der Translation Tabelle verknüpft wird via lang und Art. Nr..
Das ermöglicht eine Artikel differenzierte Landesdefaultsprache...
Wobei hierbei gänzlich Artikelvarianten, Vertriebslinien unberrücksichtigt bleiben.....Artikelvariante 01 ist in Vertriebslinie Spanien gelistet und
Artikelvariante 02 ist in Vertriebslinie Holland gelistet.....
Was zur Folge -> anderer Länderbezeichnungen Pflichtfelder führt.....
Trans. Tabelle
selbstklärend
eingestellte Art. Trans....
diese Tabelle nimmt den Status einer Einrichtungstabelle an, d.h. wurde z.B. "de" nicht festgelegt wird automatisch die Default Language verwendet.
Dadurch erspart man sich ein Artikel bezogenes durchsuchen der Translation Tabelle indem man dies schon global festlegt.....
-
- Mitglied
- Beiträge: 1697
- Registriert: 02.06.2003 14:37
- Wohnort: NRW - immer dem Monitorleuchten folgen...
- Kontaktdaten:
1. Kritik an deiner Kritik
2. Worum ging es in meinem Artikel überhaupt
3. ein bildliches Beispiel
2. Worum ging es in meinem Artikel überhaupt
3. ein bildliches Beispiel
- Gut, deine Kritiken stimmen zum Teil nicht mal.
(Bsp. Punkt 2 " müssen unnötige Daten "... nur die benötigten (ohne jeglichen Artikel) + 2 Artikel. Einmal default, einmal gewählte Sprache.
Warum? ist gewählte Sprache leer, dann kann der default artikel gewählt werden ohne die DB noch mal anfragen zu müssen)
Und mit Warensystem hat das nichts, aber auch gar nichts zu tun.
Nebenbemerkung: deine Lösung hat eine Menge Felder mehr als meine Methode. müsste demnanch also noch langsamer sein. - Es geht nur um News oder Artikel.
Grund dafür ist eine Band, die halt auch in den benachbarten Ländern auftritt.
Also werden es Seiten wie 'Wir über uns', Discographien, vielleicht übersetzte Reviews aus Zeitschriften, Geplante Auftritte und Interviews. - Stelle dir einfach vor ein Beitrag im Forum hätte neben Titel und Beitrag noch die Felder Beitrag auf englisch, Beitrag auf spaniosch, Beitrag auf...
Man muss sie aber nicht ausfüllen !!! Und zwischendurch kommen Felder hinzu so das mancher Beitrag in einer bestimmten Sprache NICHT vorhanden ist.
Dafür möchte ich eine Lösung. Es bleibt alles gleich, BBCode UID, Indexnummer, berechtigung zum editieren, HTML & Smilie Einstellungen, Datum, etc ...
Die Weisheit verfolgte mich sekundenlang...
Aber sie überholte mich und war fortan nicht mehr gesehen !!!
Aber sie überholte mich und war fortan nicht mehr gesehen !!!
- Blutgerinsel
- Mitglied
- Beiträge: 1801
- Registriert: 19.07.2004 18:53
- Wohnort: Landkreis Ulm
- Kontaktdaten:
Und wenn eine neue Sprache hinzukommt muss die Tabellenstruktur geändert werden.Gut, deine Kritiken stimmen zum Teil nicht mal.
(Bsp. Punkt 2 " müssen unnötige Daten "... nur die benötigten (ohne jeglichen Artikel) + 2 Artikel. Einmal default, einmal gewählte Sprache.
Warum? ist gewählte Sprache leer, dann kann der default artikel gewählt werden ohne die DB noch mal anfragen zu müssen)
Daneben können die Vorteile einer relationellen Datenbank nicht ausgekostet werden und müssen via Serverseitige Skriptsprache umständlich aufbereitet werden.
Stimmt mir hat sich bei Artikel ein anderes Thema in den Vordergrund gestellt....Und mit Warensystem hat das nichts, aber auch gar nichts zu tun.
Nebenbemerkung: deine Lösung hat eine Menge Felder mehr als meine Methode. müsste demnanch also noch langsamer sein.
Es geht nur um News oder Artikel.
Dann reicht dir dir die Artikel Tabelle mit der Translation Tabelle.Stelle dir einfach vor ein Beitrag im Forum hätte neben Titel und Beitrag noch die Felder Beitrag auf englisch, Beitrag auf spaniosch, Beitrag auf...
Man muss sie aber nicht ausfüllen !!! Und zwischendurch kommen Felder hinzu so das mancher Beitrag in einer bestimmten Sprache NICHT vorhanden ist.
- Es können beliebige Language Codes hinzugefügt werden je Artikel
- Mit einer Tabellenverknüpfung über den gewünschten Lang Code und dem Default Code lassen sich die Sprachcodes ermitteln.
- Es ist möglich über die Tabellenrelation zu ermitteln in welcher Sprache welche Artikel vorliegen. Aufgrund der Aussage NULL die man mit IFNULL() auswerten könnte
usw.
- eine Comments Tabelle könnte in das Schema problemlos integriert werden
-
- Mitglied
- Beiträge: 1697
- Registriert: 02.06.2003 14:37
- Wohnort: NRW - immer dem Monitorleuchten folgen...
- Kontaktdaten:
ok, jetzt habe ich das nochmal angeschaut und muss sagen danke.
Ich werde es vermutlich nur fast genauso machen, da ich den zuerst eingetragen Artikel mit in der Artikel Tabelle aufgenehmmen werde.
Grund: Alle Artikel sollen angezeigt werden, falls nicht vorhanden in einer Alternativ Sprache.
Ich muss mal schauen wie groß der Unterschied da ist.
Das ifnull hilft mir nicht groß weiter, da das ganze in phpBB integriert ist und die UserSprache gewählt wird.
Aber wie gesagt...
Danke.
Die Translation Tabelle ist simpel und einfach nur praktisch... auf die Idee hätte ich mal kommen sollen ...
Ich werde es vermutlich nur fast genauso machen, da ich den zuerst eingetragen Artikel mit in der Artikel Tabelle aufgenehmmen werde.
Grund: Alle Artikel sollen angezeigt werden, falls nicht vorhanden in einer Alternativ Sprache.
Ich muss mal schauen wie groß der Unterschied da ist.
Das ifnull hilft mir nicht groß weiter, da das ganze in phpBB integriert ist und die UserSprache gewählt wird.
Aber wie gesagt...
Danke.
Die Translation Tabelle ist simpel und einfach nur praktisch... auf die Idee hätte ich mal kommen sollen ...
Die Weisheit verfolgte mich sekundenlang...
Aber sie überholte mich und war fortan nicht mehr gesehen !!!
Aber sie überholte mich und war fortan nicht mehr gesehen !!!