9 Stimmen

Wie ist das Attribut lang bei phonetischer Aussprache richtig zu verwenden (wenn überhaupt)?

Für einige Sprachen gibt es eine anerkannte Transliteration in lateinische Buchstaben, z. B. für Hindi, Russisch oder Japanisch. Zum Beispiel lautet das Hindi-Wort für "Der Mann isst" in Devanagari-Schrift ' '. Translitiert würde es "Aadmi kha raha hai" lauten. (oder etwas Ähnliches; dieser Ansatz wird oft online verwendet, insbesondere wenn die Leute keinen Zugang zu einer Hindi-Tastatur haben).

In diesem Fall verwenden wir die lateinische Schrift, schreiben aber immer noch Hindi, so dass es akzeptabel wäre, beide Varianten mit dem lang Attribut:

<span lang="hi"> </span> または <span lang="hi">Aadmi kha raha hai.</span>

Meine Frage bezieht sich auf Sprachen, die normalerweise mit dem lateinischen Alphabet geschrieben werden, aber für Nicht-Sprecher/Lernende phonetische Leitfäden haben - entweder IPA oder Ad-hoc-Aussprache -, gibt es da irgendwelche bewährten Verfahren, um ihnen eine semantische Bedeutung zu geben?

Wenn ich zum Beispiel auf Irisch sagen würde: "Der Mann isst", würde ich sagen: "Tá an fear ag ithe". Ich kann dies als:

<span lang="ga">Tá an fear ag ithe.</span>

Wenn ich eine Aussprachehilfe für Nicht-Sprecher geben sollte, würde ich sagen "Taw on far eg ih-he" . Der Satz ist nicht bedeutungslos (wie der Text "lorem ipsum"), aber er ist es auch nicht im Englischen oder Irischen.

Was ist die korrekte Verwendung von sprachbezogenen Attributen in HTML in diesem Fall, oder wird dieser Anwendungsfall derzeit von der Spezifikation einfach nicht abgedeckt?

7voto

bouteillebleu Punkte 2380

Kurzversion: Wenn Sie ausdrücklich sagen wollen, dass es im lateinischen Alphabet geschrieben ist, nehmen Sie "hi-Latn" oder "ga-Latn" für die von Ihnen genannten Beispiele.

Lange Version:

Die W3C-Spezifikation für das lang-Attribut wird dies nicht ausdrücklich erwähnt - es werden einige Verwendungszwecke vorgeschlagen, die von der Rechtschreibung abhängen (z. B. für die Darstellung von qualitativ hochwertigen Versionen der verwendeten Zeichen), aber auch einige, bei denen dies nicht der Fall ist (z. B. für Suchmaschinen).

RFC1766 die das Format für die Sprachkennzeichen festlegt, schlägt vor, dass Spezialisierungen von Kennzeichen verwendet werden können, um "Schriftvarianten wie az-arabisch und az-krillisch" darzustellen. Mehr über das Untertag script in diesem Artikel auf der W3C-Website und ein bisschen mehr in der spätere RFC5646 . Dieser weist auf eine ISO-Normliste der Schriftnamen und in dieser Liste ist das gewünschte Skript "Latn", da es sich um romanisierte Formen anderer Skripte handelt.

(Dies gilt allerdings nicht für Sprachen, die mehr als einen Standard haben, wie z. B. Chinesisch in lateinischer Schrift mit Wade-Giles und Pinyin).

2voto

Jukka K. Korpela Punkte 186389

Für die meisten praktischen Zwecke spielt es keine Rolle, da Browser, Suchmaschinen und andere relevante Programme in der Regel ignorieren lang Attribute. Die Attribute können sich auf die Wahl der Schriftart auswirken, allerdings nur, wenn die Seite selbst keine Schriftarten vorschlägt (was selten der Fall ist). Einige Sprachbrowser erkennen ein paar Werte für lang und passen ihre Funktionalität entsprechend an. Und wenn Sie ein HTML-Dokument in MS Word öffnen, erkennt es die lang Markup und wendet sprachspezifische Rechtschreibwerkzeuge an. All dies ist jedoch eher begrenzt und spielt kaum eine Rolle. Außerdem werden in diesen Fällen nur die einfachsten Arten von Sprachcodes erkannt.

Grundsätzlich ist es möglich, das Schriftsystem ("Skript"), z. B. Latein oder Devanagari, und das verwendete Transliterations- oder Transkriptionssystem anzugeben. Dies wurde beschrieben in BCP 47 . Aber das meiste davon ist ein Leitfaden für Umsetzer, nicht etwas, das man hier und jetzt verwenden könnte.

Sie können zum Beispiel schreiben <span lang="hi-Latn">Aadmi kha raha hai.</span> um anzuzeigen, dass der Inhalt in Hindi, aber in lateinischen Buchstaben geschrieben ist. Und es gibt, zumindest im Prinzip, eine Möglichkeit anzugeben, welches der konkurrierenden Romanisierungssysteme verwendet wurde. Ich glaube nicht, dass irgendeine web-bezogene Software das erkennt. lang="hi-Latn" Programme erkennen es möglicherweise nicht, selbst wenn sie es erkennen lang="hi" .

Sie können also detaillierte Werte verwenden für lang aber es nützt nicht viel. Die Verwendung einfacher Markierungen wie lang="hi" für eine beliebige Haupt Fragment in einer anderen Sprache (z. B. ein Satz oder mehr) ist eine gute Übung, aber nicht viel mehr. Bevor Sie zu viel Zeit darauf verwenden, sollten Sie überlegen, welche praktischen Vorteile Sie erwarten können. Wenn Sie zum Beispiel einen clientseitigen Silbentrenner wie Bindestrich.js entonces lang Aber dann müssen Sie die Erwartungen dieser Software prüfen und nicht nur die allgemeinen Spezifikationen.

Ein Wort der Warnung: Ich habe merkwürdige Ergebnisse gesehen, wenn ich lang="ru" für Russisch in lateinischen Buchstaben. Der Grund dafür ist, dass die Browser auf ihre eigene Vorstellung von "Schriftart für Russisch" umschalten können, was zu einer Vermischung der Schriftarten führt. Die einfache Abhilfe besteht darin, für alle Ihre Texte einheitliche Schrifteinstellungen vorzunehmen und die Standardeinstellungen der Browser in solchen Fällen zu überschreiben.

Zeichenketten wie "Taw on far eg ih-he" können nicht sinnvoll als in einer Sprache enthalten klassifiziert werden. Wenn Sie Sprachauszeichnungen verwenden, benutzen Sie lang="" (mit Leerstring als Wert), da dies die definierte Art ist, explizit anzugeben, dass die Sprache nicht angegeben ist!

1voto

deceze Punkte 489288

Vielleicht sollten Sie es als <ruby> .

Zum Beispiel:

<ruby lang="hi"><rt>Aadmi</rt> <rt>kha</rt> <rt>raha</rt> <rt>hai</rt></ruby>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X