Mibelle: korrektes Markup für Übersetzungen

Hallo zusammen,

die meisten Übersetzungen im Netz werden mit einer Tabelle gelöst. Im Tabellenkopf stehen dann die Sprachen der jeweiligen Spalte. In den Zellen links der eine Ausdruck, rechts die Übersetzung.

Optisch ist das schick und einfach zu stylen. Aber ich störe mich daran, dass es sich bei Übersetzungen nicht wirklich um Tabellendaten handelt. Ich zerbreche mir den Kopf über eine semantisch korrektere Auszeichnung.

In Frage käme eine ungeordnete Liste, bei der der eine Sprachteil in ein span eingeschlossen wird, welches auch gleich lang="xyz" erhält. Aber wie stelle ich dem Betrachter den Bezug zur Sprache her? Oder ist das genau der Punkt, warum es sich bei Übersetzungen eben doch um tabelarische Daten handelt?

Wie seht ihr das bitte?

Danke sehr und mit freundlichem Gruß
Mibelle

  1. @@Mibelle:

    nuqneH

    Aber ich störe mich daran, dass es sich bei Übersetzungen nicht wirklich um Tabellendaten handelt.

    Warum sollte sie das nicht sein?

    Du hast sowohl eine Zuordnung der Tabellenzellen einer Zeile zueinander (gleiches Wort in verschiedenen Sprachen; können auch mehr als 2 Spalten sein) als auch eine Zuordnung der Tabellenzellen zum jeweiligen Spaltenkopf (der die Sprache angibt).

    Ich zerbreche mir den Kopf über eine semantisch korrektere Auszeichnung.

    Hör auf damit! Korrekter geht’s nicht. Manchmal ist eine Tabelle einfach nur eine Tabelle.

    welches auch gleich lang="xyz" erhält.

    Das @lang-Attribut tragen die td-Elemente. Und auch @translate="no".

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    1. @@Gunnar Bittersmann:

      nuqneH

      Das @lang-Attribut tragen die td-Elemente. Und auch @translate="no".

      Hm, hängt vom Anwendungsfall ab.

      Wenn denn die ganze Tabelle bei Übersetzung der Seite bis auf die Spaltenköpfe erhalten bleibt, dann reicht ein @translate-Attribut für tbody:

      <table>  
        <thead>  
          <tr>  
            <th>deutsch</th>  
            <th>englisch</th>  
            <th>spanisch</th>  
            <th>russisch</th>  
          </tr>  
        </thead>  
        <tbody translate="no">  
          <tr>  
            <td lang="de">eins</td>  
            <td lang="en">one</td>  
            <td lang="es">uno</td>  
            <td lang="ru">один</td>  
          </tr>  
          <tr>  
            <td lang="de">zwei</td>  
            <td lang="en">two</td>  
            <td lang="es">dos</td>  
            <td lang="ru">два</td>  
          </tr>  
        </tbody>  
      </table>
      

      Bei Übersetzung der Seite ins Englische wird daraus:

      <table>  
        <thead>  
          <tr>  
            <th>German</th>  
            <th>English</th>  
            <th>Spanish</th>  
            <th>Russian</th>  
          </tr>  
        </thead>  
        <tbody translate="no">

      Der tbody bleibt unverändert. Deshalb die @lang-Attribute auch bei den Zellen, die in der Seitensprache sind.

      Soll hingegen eine Spalte bei Übersetzung der Seite mit übersetzt werden, sieht es so aus:

      <table>  
        <thead>  
          <tr>  
            <th>deutsch</th>  
            <th>spanisch</th>  
            <th>russisch</th>  
          </tr>  
        </thead>  
        <tbody>  
          <tr>  
            <th>eins</th>  
            <td lang="es" translate="no">uno</td>  
            <td lang="ru" translate="no">один</td>  
          </tr>  
          <tr>  
            <th>zwei</th>  
            <td lang="es" translate="no">dos</td>  
            <td lang="ru" translate="no">два</td>  
          </tr>  
        </tbody>  
      </table>
      

      Die Zellen in der Seitensprache tragen kein @lang-Attribut; die Sprache ist ja weiter höher angegeben (@lang fürs html-Element). Sie haben dann den Charakter von Zeilenköpfen und sind deshalb th-Elemente. Bei Übersetzung der Seite in Englische wird daraus:

      <table>  
        <thead>  
          <tr>  
            <th>English</th>  
            <th>Spanish</th>  
            <th>Russian</th>  
          </tr>  
        </thead>  
        <tbody>  
          <tr>  
            <th>one</th>  
            <td lang="es" translate="no">uno</td>  
            <td lang="ru" translate="no">один</td>  
          </tr>  
          <tr>  
            <th>two</th>  
            <td lang="es" translate="no">dos</td>  
            <td lang="ru" translate="no">два</td>  
          </tr>  
        </tbody>  
      </table>
      

      Qapla'

      --
      „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
      1. Hallo zusammen,

        nun habe ich ja gar keine Argumente gefunden, welche ein anderes Markup als eine Tabelle für Übersetzungen sinnvoll erscheinen lässt. Dennoch bin ich sehr froh über eure Rückmeldungen. Lassen sie mich doch die Tabellen mit den Attributen semantisch korrekter als vorher gestalten.

        Vielen Dank für Eure Ideen!

        Mit freundlichem Gruß
        Mibelle

        1. @@Mibelle:

          nuqneH

          Vielen Dank für Eure Ideen!

          Keine Ursache. Schon gar nicht dafür, mich im Pluralis majestatis anzusprechen.

          Qapla'

          --
          „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
          1. Hallo Gunnar

            Keine Ursache. Schon gar nicht dafür, mich im Pluralis majestatis anzusprechen.

            Ich entschuldige mich sehr, dass ich meine ganze Aufmerksamkeit auf deine Inhalte verwendet habe und mir am Ende des Durchdenkens deiner Hinweise nichtmal mehr genug Aufmerksamkeit übrig blieb, wenigstens aus der nicht ganz alltäglichen Abschlussformel auf den gleichen Autor zu schließen! (Abgesehen davon, dass ich mir deinen Namen auch hätte lesen/merken können.)

            Also nochmal: Ich danke dir sehr für deine Hinweise. Dass die Tabelle doch das richtige Markup ist, wurde mir bei deinem Beispiel klar, mehr als zwei Sprachen reinzunehmen.

            Mit freundlichem Gruß
            Mibelle

            1. @@Mibelle:

              nuqneH

              wenigstens aus der nicht ganz alltäglichen Abschlussformel

              „Nicht ganz alltäglich“?? QI'yaH! =;-)

              Ursprünglich hatte ich vor, im Beispiel auch eine Spalte mit <td lang="tlh">wa'</td> und <td lang="tlh">cha'</td> einzufügen, hatte dann aber mein Wörterbuch nicht zur Hand.

              auf den gleichen Autor zu schließen! (Abgesehen davon, dass ich mir deinen Namen auch hätte lesen/merken können.)

              AFAIR wird’s im CForum 4 auch Gravatare geben. Das vereinfacht die Zuordnung Posting—Autor dann.

              Qapla'

              --
              „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
              1. Om nah hoo pez nyeetz, Gunnar Bittersmann!

                AFAIR wird’s im CForum 4 auch Gravatare geben. Das vereinfacht die Zuordnung Posting—Autor dann.

                Gab hier offensichtlich auch schon mal. Zumindest sind in den Templates noch Überreste davon zu finden.

                Matthias

                --
                1/z ist kein Blatt Papier.