Layoutprobleme? - Styleswitcher!
![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| Hallo, ich möchte mir in meiner Anwendung die Möglichkeit offen halten mittel- bis langfristig auch mehrsprachige Inhalte zu verwalten. Nun stoße ich auf ein Problem bzw. eine Fragestellung, wo mir Lösung bzw. Beantwortung nicht ganz klar ist. Standardmäßig hätte ich die Inhalte jetzt z.B. über domain.xy/category/content-identifier bezogen. Hier fehlt aber nun natürlich die Angabe der Sprache, in der der Inhalt dargestellt werden soll. Es gibt nun die Möglichkeit standardmäßig keinen "identifier" zu setzen, der dann der Standardsprache, in meinem Fall "deutsch", entspricht. Alternativ müsste auch standardmäßig dieser Parameter gesetzt sein. Desweiteren ist in diesem Zusammenhang die Frage anzuschließen, wo dieser Parameter übergeben werden sollte. Den Weg über eine Subdomain möchte ich ehrlich gesagt ausschließen, auch wenn es der einfachste wäre. Nichstdestotrotz suche ich alternative Wege. Optimal fände ich dabei irgendwas in dieser Art: domain.xy/de/category/content-identifier Höre gerne Meinungen und Vorschläge. Grüße, Ben. PS: Habe dieses Forum gewählt, weil es mir auf den Sack geht, dass so Beiträge standardmäßig in der Plauderecke angesiedelt werden müssen, weil wir sonst kein passendes Forum haben. |
| | |
| | Nach oben #2 |
| Johannes Müller Registriert seit: 15.09.2005 Ort: Königreich Flieden
Beiträge: 488
| Ich würde die Sprache eher nicht so in den URL path packen, weil es eigentlich es keine komponente ist, die den inhalt/die webseite lokalisiert sondern die art der darstellung beeinflusst. deshalb sollte die sprache eher als parameter zur darstellung übergeben werden bzw. im normalfall in der session und/oder als cookie gespeichert werden und nur für änderungen der sprache explizit im url enthalten sein.
__________________ Weißt Bescheid - Scheiß wie weit |
| | |
| | Nach oben #3 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| Durchaus ein guter Einwand. Allerdings finde ich schon, dass dieser Parameter en Inhalt der Seite beschreibt. Er gibt an, ob es sich um einen Inhalt in Sprache x oder y oder ... handelt. In meinem Beispiel hätte ich dann so etwas domain.xy/en/news domain.xy/de/news Wäre natürlich perfekt, wenn es dann auch "nachrichten" anstatt "news" heißen würde, aber das ist etwas, wo ich derzeit überhaupt keinen Anhaltspunkt hätte, wie man so etwas realisiert. Sollte es da eine gute Idee zu geben, so wäre natürlich dein Vorschlag fein, weil man dann einfach so etwas hätte domain.xy/news/ domain.xy/nachrichten/ Wobei es sich dann z.B. bei Kategorien überschneiden würde, die in z.B. deutsch wie englisch gleich heißen würden ... Beispiel: FAQ. Nachtrag: Ich erweitere meine Fragestellung. Ich würde es gerne so haben, dass ich Inhalte übersetze und dann auf dieser Seite anzeige, in welchen weiteren Sprachen dieser Artikel noch verfügbar ist. Wie diese Ausgabe generiert wird, ist dabei erstmal ein anderes Thema. Ich ziele eher darauf ab, wie man die URLs dann strukturiert. Sagen wir ich habe das hier: domain.xy/category/500,a-sample-article (englischsprachig) Wie sieht dann der URL für den deutschsprachigen Eintrag aus? Hat der dann einfach nur eine andere ID und übersetzten Titel und wird in der gleichen Datenbanktabelle gespeichert? Also .. domain.xy/category/256,ein-beispielartikel (deutschsprachig) Das finde ich ja dann wiederum nicht so prall .. hm. Auch wenn ich zugegebe, dass ich irgendwie den Sprachparameter als solches recht unschön finde
__________________ Alles rund um die TuS Koblenz Aktuell ... - TuS Koblenz zu Gast in Virton, Belgien - TuS Koblenz II besiegelt Aufstieg in die Kreisklasse A - TuS Koblenz rehabilitiert sich für Hinspiel gegen Mönchengladbach - Einzug ins Rheinlandpokalhalbfinale nach dem Sieg gegen Emmelshausen Geändert von Ben (19.06.2007 um 19:21 Uhr). |
| | |
| | Nach oben #4 |
| Bastian Fenske Registriert seit: 04.01.2006 Ort: Kassel
Beiträge: 745
| Hi Ben. Was spricht denn gegen example.com/<lang>/…? Ich meine, mich an einen Beitrag von Shiflett zu erinnern, in dem schreibt, er würde URL hassen, die man nicht "abkürzen" kann: example.com/de wäre aber sicher schwierig mit sinnvollem Inhalt zu füllen. Ein anderer Einwand fällt mir aber gerade nicht ein. Gegen Subdomains sprechen natürlich Session-Cookies. Wie es sich da mit SSL-Zertifikaten verhält weiß ich nicht (vermute aber, dass die auf eine Domain und nicht auf eine Subdomain ausgestellt werden). Weiter fällt mir zu Diskussion noch ein, dass es natürlich nicht nur die Variante gibt, eine Website 1:1 in eine andere Sprache zu übersetzen, sondern das anderssprachige Sites mitunter auch völlig anders aufgezogen werden müssen (andere Märkte/Angebot im Ausland, nicht jeder Inhalt für jede Sprache Interessant -> Notwendigkeit die Inhalte anders zu strukturieren). In dem Fall bräuchte es unterschiedliche Seitenbäume und eben optionale Assoziationen zwischen den Seiten (Seite 413 ist Übersetzung von 42). In dem Fall wäre ein example.com/en/something wieder nicht schlacht, da dieses "en" ja quasi den Knoten auf der ersten Ebene des Seiten-Baumes repräsentiert. Sonst noch: Es gibt nicht nur einen Standard, um Sprachen abzukürzen. Der mit den zwei Buchstaben ist die ISO-Norm 639-1, welche z.B. auch noch um Ländercodes ergenz werden kann (-> RFC 1766). ISO 639-2 sieht 3stellige Kürzel vor (-> RFC 3066). Wenn du da Klarheit hast, was du in Zukunft verwenden willst und z.B. example.com/<lang>/<category> verwendest, dann kannst du das Sprachkürzel bis zur ersten Übersetzung auch weglassen, wenn du sicherstellst, dass keine Kategorie nach einem der Kürzel in der ISO-Norm benannt wird. Anderer Weg wäre natürlich, dass noch klarer zu trennen: example.com/de.category/ zum Beispiel. category darf keinen Punkt enthalten und wenn keine Sprache angegeben ist, dann wied eben die Sprache vor der Einführung der Mehrsprachigkeit hergenommen. Noch was am Rande: Man sieht immer wieder Flaggen zur Auswahl der Sprache. Ist natürlich grober Unfug: Flagge repräsentiert eine Nation (Esperanto mal ausgenommen) und Nation !== Sprache. Basti |
| | |
| | Nach oben #5 | |
| Benjamin Steininger Registriert seit: 02.06.2005 Ort: weiher im tiefsten Odenwald
Beiträge: 1.048
| Zitat:
Session+Cookie haben den Vor/Nachteil (kann man sehen wie man will), wenn man Links auf die Seite setzt, bekommt der User vielleicht nicht die Sprache die derjenige der sie ursprünglich aufgerufen hat präsentiert, sondern je nach Mechanismus der Seite entweder die Standard-Sprache oder z.b. die die sein Browser als accept-language sendet. Ich stehe eigentlich auf den Standpunkt, eine Url sollte einen "möglichst" eindeutigen Inhalt nach aussen haben, das möglichst beziehe ich jetzt auf Login-Geschichten oder ähnliches wo man bewußt etwas tut um etwas zu sehen. Ich würde ein /de/ in der URL bevorzugen. mfg robo47 | |
| | |
| | Nach oben #6 | ||
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| Zitat:
Zitat:
Ich auch, auch wenn es eventuell etwas mehr Aufwand bedeutet | ||
| | |
| | Nach oben #7 | |
| Benjamin Steininger Registriert seit: 02.06.2005 Ort: weiher im tiefsten Odenwald
Beiträge: 1.048
| Zitat:
www.domain.tld/neuigkeiten/ www.domain.tld/news/ www.domain.tld/nouvelles/ 3 Links für das gleiche, so hat man dann quasi auch über die URL erkannt welche sprache es ist, aber dann brauch ich auch keinen Cookie(Session) mehr oder habe ich dich da falsch verstanden ? mfg robo47 | |
| | |
| | Nach oben #8 | |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| Zitat:
Das andere wäre nur ein Gimmick! | |
| | |
| | Nach oben #9 | |
| Benjamin Steininger Registriert seit: 02.06.2005 Ort: weiher im tiefsten Odenwald
Beiträge: 1.048
| willst du das /de/ rein für verschiedene Sprachen der bedienoberfläche etc, oder eben auch er inhalte ? Weil du oben angesprochen hast: Zitat:
www.domain.tld/de/tutorials/1-tutorial-ueber-php wäre dann für dich die englische version so: www.domain.tld/en/tutorials/1-tutorial-ueber-php oder so: www.domain.tld/en/tutorials/2-tutorial-about-php | |
| | |
| | Nach oben #10 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| Hi, also ich weiß halt nicht was besser ist. Meine Aussage war auf deine "Session"-Aussage bezogen. Ist schon klar, dass es der zweite URL Unsinn ist. Es ist imho nicht praktikabel einen Artikel mehrsprachig, aber mit der gleichen ID darzustellen. Ich würde jetzt gerade für so etwas plädieren
Was dann im Hintergrund heißen würde, dass alle Tutorials, egal in welcher Sprache in nur einer einzigen DB-Tabelle gespeichert würden und die ID halt die des Datensatzes ist. Quasi wäre ein englischer/andersprachiger Artikel nichts anderes als ein neuer Artikel, aber eben nicht in deutscher Sprache. |
| | |
| | Nach oben #11 | |
| Benjamin Steininger Registriert seit: 02.06.2005 Ort: weiher im tiefsten Odenwald
Beiträge: 1.048
| Zitat:
| |
| | |
| | Nach oben #12 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| Na, das weiß ich ja eben nicht. Ich suche ja nach einer Möglichkeit, wo ich z.B. sagen kann "Dieser Artikel ist in folgenden weiteren Sprachen verfügbar" Quasi so ein Stil, wie bei Wikipedia praktiziert. Das finde ich persönlich nämlich sehr gut, damit man nicht von Beginn an unter Druck steht auch wirklich jeden Artikel mehrsprachig anzubieten. Es ist eben die Frage, ob wirklich eine DB-Tabelle ausreicht oder ob man pro Sprache eine nimmt, welche dann über eine weitere Tabelle miteinander verknüpft sind (also die entsprechenden Artikel). Keine Ahnung wie .. das ist alles recht komplex und deshalb wollte ich auch gerne hier Hilfe suchen, weil ich alleine das nicht hinbekommen habe. Wollte zu Beginn eigentlich auch direkt einen Thread im Datenbanken-Forum aufmachen, aber habe es dann gelassen. Nun sind wir an dem Punkt angelangt, wo wir auch darüber sprechen (müssen) |
| | |
| | Nach oben #13 | ||
| Johannes Müller Registriert seit: 15.09.2005 Ort: Königreich Flieden
Beiträge: 488
| man muss natürlich unterscheiden, ob die mehrsprachigen seiten alle den gleichen inhalt haben, also eine lediglich eine übersetzung sind, oder ob die lokalisierten seiten umfangreichere unterschiede enthalten. handelt es sich lediglich um übersetzungen, würde ich die seiten im url gleich benennen und unter der gleichen id führen, weil sie ja inhaltsgleich sind - nur die sprache unterscheidet sich. wie diese unterscheidung getätigt wird ist für diese überlegung erstmal unwichtig; sie kann aber nicht durch seitentitel in unterschiedlichen sprachen geschehen, aber das ist sowiso keine gute idee, weil es viele wörter auch in mehreren sprachen gibt und so keine eindeutige zuordnung seitentitel->sprache möglich ist. Zitat:
aber im normalfall wählt ein user eine sprache und möchte dann die seite auch immer in dieser sprache präsentiert bekommen, also gehört die sprache quasi zu den programmeinstellungen und muss nicht jedes mal angegeben werden. um per seitenaufruf (wie die alternate-links für sumas) die sprache ändern zu können würde ich also eher einen parameter verwenden. beispielsweise www.domain.tld/path/to/page?lang=de oder www.domain.tld/path/to/page;lang=de etc. Zitat:
wenn jede sprache teilweise eigenständige inhalte, kategorien, unterschiedliche seitenstrukturen etc. hat, bringt das alles natürlich nichts, dann sollte auch die sprachbezeichnung der hauptknoten sein, von dem dann jeweils unterschiedliche bäume abhängen.
__________________ Weißt Bescheid - Scheiß wie weit | ||
| | |
| | Nach oben #14 | ||
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| Zitat:
Es ist quasi so wie bei Wikipedia, um das mal als bekanntes Beispiel zu verwenden. Es gibt einen Artikel zu einem Thema, als Beispiel ein Tutorial. Dies muss aber nun natürlich nicht die gleiche Länge, auch wenn es das selbe Thema behandelt. Verstehst du was ich meine? Zitat:
Durchaus interessanter Gedanke, allerdings wird es zu genau 100% eine ID innerhalb des URL geben und diese muss, wie oben angesprochen ja nicht unbedingt bei den unterschiedlichen Sprachversionen eines Artikels gleich sein. | ||
| | |
| | Nach oben #15 | |
| Bastian Fenske Registriert seit: 04.01.2006 Ort: Kassel
Beiträge: 745
| Zitat: ---- Was das DB-Layout angeht: Natürlich gehören alle Artikel (wenn sie vom gleichen Typ oder so sind) in eine DB-Tabelle. Es taugt nicht, für jede Sprache eine eigene Tabelle anzulegen. Und die Zuordnung ist doch kein Problem. Entweder hast du eine gerichtete Verbindung, sagst also "A ist eine Übersetzung von B", dann reicht eine einfache Tabelle mit id, a und b (die Sprache ist ja eh bei den Inhalten selbst mit angegeben/gespeichert). Die Abfrage ist dann halt ein wenig aufwändiger, da du ja erstmal nach der Urfassung suchen musst und dann alle Übersetzungen von dort aus finden musst. Um Konflikte zu vermeiden sollten dann auch alle Übersetzungen als Übersetzung der Urfassung geführt werden. Der einfachere Weg ist, dass du tatsächlich sowas, wie einen Container bildest, in den du dann die einzelnen Inhalte in den unterschiedlichen Sprachen reinlegst. So bekommt jeder Inhalt neben seiner eigenen ID noch eine ID verpasst, die sich alle Seiten (etc.) teilen, die die Inhalte in mehreren Sprachen darstellen. Wenn du das kombinierst, kannst du diese ID mit der ID der Seite/des Artkels, der eine Information als erstes in irgendeiner Sprache darstellt gleichsetzen und kannst so ohne viel Aufwand eine Seite nachträglich mehrsprachig machen. Beispiel: Artikel-ID wäre die eindeutige ID eines jeden Artikels in seiner eigenen Sprache, Informations-ID wäre die ID der Information, die in mehreren Sprachen wiedergegeben werden soll. 1. Artikel "Über uns" wird angelegt: Artikel-ID: 42, Info-ID: 42 (oder irgendwas anderes) 2. Artikel "About us" wird angelegt: Artikel-ID: 316, Info-ID: ebenfalls 42, da Übersetzung von Art. 42 3. About us wird übersetzt ins Japanische: Artikel-ID: 317, Info-ID: wieder 42 Wenn die Übersetzung tatsächlich 1:1 sein soll, dann wäre natürlich sowas als ID für die Artikel ausreichend: 42-de, 42-en, 42-jp. Ist aber natürlich starrer, unflexibler. Basti | |
| | |
| | Nach oben #16 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 1.542
| auch wenn es den Kern der Diskussion gerade nicht ganz trifft: http://modrewrite.de/foren/ftopic3106.html#15665 hier ist eine schöne Form das de oder en automatisch zu setzen. Jenachdem, was hier in diesem thread rauskommt ggf. gut zu nutzen!
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw. Danke! |
| | |
| | Nach oben #17 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| Habe deinen Beitrag schon gelesen Basti, allerdings muss ich gestehen, dass ich da nicht so wirklich etwas Hilfreiches, für mich, rauslesen konnte. Geht mir ähnlich mit der Info-ID. Soll die deiner Ansicht nach auch in den URL? Das missfällt mir dann schon. |
| | |
| | Nach oben #18 | |
| Daniel Golowin Registriert seit: 17.11.2005 Ort: Rheinland-Pfalz, Osthofen
Beiträge: 122
| Zitat:
Erst danach, je nach gewählten Sprache, soll der passende Artikel gewählt werden. | |
| | |
| | Nach oben #19 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| Eine ID wird es im URL geben, da brauchen wir gar nicht drüber sprechen. Ich verstehe einfach das Beispiel von Basti nicht. Wie würden denn die URLs zu den Punkten 1. bis 3. aussehen? :-/ |
| | |
| | Nach oben #20 |
| Daniel Golowin Registriert seit: 17.11.2005 Ort: Rheinland-Pfalz, Osthofen
Beiträge: 122
| Also das währen dann die URLs:
Der erste Artikel der geschrieben wird, hat die gleiche Artikel-ID, wie Info-ID. Da die Info-ID sich ja auf den bezieht. Weitere Artikel (Übersetzungen des Artikels 123) sind ja in der gleichen TB und haben auch andere Artikel-ID 345, 486. Aber die gleiche Info-ID 123. Da es Übersetzungen von dem Artikel 123 sind. Keine Ahnung ob ich das jetzt verständlicher geschrieben habe. |





