Ankündigung

Einklappen
Keine Ankündigung bisher.

Design einer DB für mehrsprachigkeit

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Hallo Creator, was meinst du mit suchindex? währe das eine seperate tabelle oder ist das eine art der indexierung in mysql-datenbanken?

    Kommentar


    • #17
      Oh das sind gleich mehrere Tabellen
      Ich habe jetzt leider grade kein Beispiel zu hand aber mal kurz das Prinzip wie ich das meine.

      Bei der erstellung deines Textes ( Content ) wird der text zerlegt. Du schmeist aus diesem Text alles raus nach was man nicht sucht. z.B. Stopwörter ( der, die, das, er, sie, es usw ).
      Diese Listen gibt es fertig im Netz für unterschiedliche Sprachen

      Du brauchst daher eine Tabelle für die Stopwörter.
      Dann eine Tabelle für denn eigentliche Index.
      Und natürlich auch eine Tabelle für die zuordnungen welcher Begriff kommt in welchem Content vor.

      Du durchsuchst dann nicht mehr den ganzen Text, sondern nur noch nach einzelenen Begriffen, Wörtern, Namen etc.
      In welchem Content der Suchbegriff dann steht ist dann natürlich einfach zu ermitteln.

      Diese Art der suche biete auch weitere Möglichkeiten z.B. das ausfiltern von einfachen Tippfehlern bei der sucheingabe. Versuch sowas mal machen wenn du mit Like 1000 Texte durchforstest.

      Ich bin grade auf der Arbeit daher kann ich dir jetzt kein genaues Beispiel zeigen. Heute Abend vieleicht noch mal!

      Kommentar


      • #18
        @cycap
        ??? warum soll man nicht nach Content suchen können den der Webmaster/Admin auf seinen Seiten anzeigen läßt ?

        Nach was denn sonst ?
        Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.

        Kommentar


        • #19
          @Koala: Wie gesagt, ich dachte dabei ans Backend, habe das ja schon wiederrufen.

          Kommentar


          • #20
            @alle, die dazu mehrere Tabellen anlegen: setzen 6! Ihr könnt froh sein, dass grober Unfug nur noch eine Ordnungswidrigkeit darstellt.

            SELECT textfeld FROM tab WHERE lang = $langid AND ...

            Kommentar


            • #21
              Zitat von phpsecretary Beitrag anzeigen
              @alle, die dazu mehrere Tabellen anlegen: setzen 6! Ihr könnt froh sein, dass grober Unfug nur noch eine Ordnungswidrigkeit darstellt.

              SELECT textfeld FROM tab WHERE lang = $langid AND ...
              Versteh ich dich jetzt richtig, du wuerdest einfach jeden Datensatz fuer jede Sprachvariante kopieren nur um den Inhalt eines Feldes in unterschiedlichen Varianten darzustellen?

              Kommentar


              • #22
                Ich kann phpsecretary nur zustimmen. Wieso nicht einfach folgendermaßen vorgehen?
                Code:
                content
                +-----+---------+----------+------+
                | id  | lang    | category | text |
                +-----+---------+----------+------+
                | int | varchar | varchar  | text |
                +-----+---------+----------+------+
                Man kann gezielt den Inhalt abfragen, z.B.

                PHP-Code:
                index.php?lang=de&category=blog 
                Evtl. noch ein weiteres Feld mit einem Timestamp hinzufügen, für etwaige Sortierfunktionen.

                Kommentar


                • #23
                  Naja bei einer geringen Tabellenbreite mag das schoen sein, aber bei breiten Tabellen entsteht dadurch jede Menge Redundanz. Mal abgesehen davon, wenn ich im Backend einen Wert aendern moechte der bei allen Sprachvarianten gleich ist, dann muss ich mir erstmal alle Datensaetze holen und nicht nur den den ich gerade vor Augen habe. Gerade wenn man mit ORM arbeitet koennen hier schnell inkonsistente Daten entstehen.

                  Kommentar


                  • #24
                    Ich kann phpsecretary nur zustimmen. Wieso nicht einfach folgendermaßen vorgehen?
                    Weil z.B. category hier redundant wird. Wenn man mehrsprachig die selbe Struktur abbilden will, müssen bspw. immer alle Kategorien mehrfach geändert werden. Ist halt auch die Frage, ob es hier um Übersetzung von Artikeln oder vielleicht nur um i18n von Bezeichnern und UI-Elementen geht. Also vorsicht mit Pauschalaussagen!
                    [COLOR="#F5F5FF"]--[/COLOR]
                    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                    [COLOR="#F5F5FF"]
                    --[/COLOR]

                    Kommentar


                    • #25
                      War nur ein Vorschlag von mir, ich lasse mich gerne eines besseren belehren.

                      Das Feld "category" ist fehl am Platz, soweit verstanden. Infolgedessen wird aber eine weitere Tabelle benötigt, um die Inhalte der Tabelle "content" diversen Kategorien zuordnen zu können und eine dritte Tabelle für die Kategorien selbst? Sollte ich falsch liegen, korrigiert mich bitte.

                      Kommentar


                      • #26
                        Oh, ich habe Dich zitiert, anschnauzen wollte ich eigentlich phpsecretary
                        [COLOR="#F5F5FF"]--[/COLOR]
                        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                        [COLOR="#F5F5FF"]
                        --[/COLOR]

                        Kommentar


                        • #27
                          Jetzt blick ich nicht mehr durch ... du hast doch auf meinen Beitrag Bezug genommen?! Zudem hättest du auch ruhig eine mögliche Struktur vorschlagen können, wie du sie für geeignet erachten würdest.

                          Kommentar


                          • #28
                            Ich habe auf phpsecretary's Pauschalaussage geantwortet, der DU zugestimmt hast.

                            Zudem hättest du auch ruhig eine mögliche Struktur vorschlagen können, wie du sie für geeignet erachten würdest.
                            Und Du könntest ruhig die angeboten Links lesen. Dann würdest Du meine Struktur und eine Beschreibung dazu finden. Ich werde bestimmt nicht für jeden alles neu posten/
                            [COLOR="#F5F5FF"]--[/COLOR]
                            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                            [COLOR="#F5F5FF"]
                            --[/COLOR]

                            Kommentar


                            • #29
                              Zitat von nikosch Beitrag anzeigen
                              Und Du könntest ruhig die angeboten Links lesen.
                              Welche Links? ich habe nur einen von Asipak gesehen, und der befasst sich mit dem Thema der mehrsprachigkeit der Benutzeroberfläche.

                              Kommentar


                              • #30
                                SOrry, aber in kann mit Deinem Beispiel „tables“, „fields“ etc. und der Aussage, es handele sich um beliebig viele Tabellen nichts anfangen.
                                Code:
                                tables
                                +-----+---------+
                                | tid | name    |
                                +-----+---------+
                                | int | varchar |
                                +-----+---------+
                                
                                fields
                                +-----+-----+----------+
                                | fid | tid | name     |
                                +-----+-----+----------+
                                | int | int | varchar  |
                                +-----+-----+----------+
                                [COLOR="#F5F5FF"]--[/COLOR]
                                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                                [COLOR="#F5F5FF"]
                                --[/COLOR]

                                Kommentar

                                Lädt...
                                X