Was ist der richtige Weg, um das lang-Attribut mit phonetischen Aussprachen zu verwenden (wenn überhaupt)?

8

Einige Sprachen haben eine akzeptierte Transliteration zu lateinischen Zeichen wie Hindi, Russisch oder Japanisch. Zum Beispiel ist das Hindi für "Der Mann isst" in Devanagari geschrieben "आदमी खख हहह '.". Transliteriert wäre es "Aadmi kha raha hai". (oder etwas Ähnliches; dieser Ansatz wird oft online verwendet, besonders wenn Menschen keinen Zugang zu einer Hindi-Tastatur haben.)

In diesem Fall verwenden wir das lateinische Skript, schreiben aber immer noch Hindi. Daher wäre es akzeptabel, eine Variation mit dem Attribut lang zu markieren:

<span lang="hi">आदमी खा रहा है।</span> oder <span lang="hi">Aadmi kha raha hai.</span>

Meine Frage betrifft dann Sprachen, die normalerweise im lateinischen Alphabet selbst geschrieben sind, aber phonetische Anleitungen für Nicht-Sprecher / Lerner - entweder IPA oder Ad-hoc-Aussprache - haben, gibt es irgendwelche Best Practices in Bezug auf ihre semantische Bedeutung ?

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

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

Wenn ich einen Ausspracheleitfaden für Nicht-Sprecher geben würde, könnte ich sagen: "Taw on far zB ih-he" . Der Satz ist nicht bedeutungslos (wie "Lorem Ipsum" Text), aber weder ist der Satz in Englisch oder Irisch.

Was ist die korrekte Verwendung von sprachbezogenen Attributen in HTML in diesem Fall, oder ist dieser Anwendungsfall gerade nicht durch die Spezifikation abgedeckt?

    
anotherdave 19.07.2012, 11:57
quelle

3 Antworten

5

Kurze Version: Wenn Sie ausdrücklich sagen wollen, dass es im lateinischen Alphabet geschrieben ist, wählen Sie "hi-Latn" oder "ga-Latn" für die Beispiele, die Sie angegeben haben.

Lange Version:

Die W3C-Spezifikation für das lang-Attribut erwähnt dies nicht ausdrücklich - es deutet auf einige hin Anwendungen, die von der Orthografie abhängen (z. B. um hochwertige Versionen der verwendeten Zeichen zu rendern), aber auch einige, die dies nicht tun (z. B. für Suchmaschinen).

RFC1766 , das das Format für die Sprach-Tags angibt, schlägt vor, dass Spezialisierungen von Tags zur Darstellung verwendet werden können "Skriptvariationen, wie z. B. az-arabisch und az-kyrillisch". In diesem Artikel auf der W3C-Website gibt es mehr über das Skript-Sub-Tag und ein bisschen mehr der spätere RFC5646 . Das zeigt auf eine ISO-Standardliste von Skriptnamen , und in dieser Liste ist das gewünschte Skript " Latn "wie sie romanisierte Formen anderer Skripte sind.

(Dies gilt nicht für Dinge wie die Angabe, wie Sie die Transliteration gemacht haben, für Sprachen, die mehr als einen Standard haben, z. B. Chinesisch in lateinischer Schrift mit Wade-Giles oder Pinyin.)

    
bouteillebleu 19.07.2012, 12:23
quelle
3

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

Im Prinzip ist es möglich, das Schriftsystem ("Skript"), wie zum Beispiel Latin vs. Devanagari, und das Transliterations- oder Transkriptionssystem anzugeben, das verwendet wurde. Dies wurde in BCP 47 beschrieben. Aber zum größten Teil handelt es sich um Richtlinien für Implementierer, nicht um etwas, das Sie hier und jetzt verwenden könnten.

Sie können beispielsweise <span lang="hi-Latn">Aadmi kha raha hai.</span> schreiben, um anzuzeigen, dass der Inhalt in Hindi geschrieben, 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 lang="hi-Latn" erkennt; Programme könnten es sogar nicht erkennen, selbst wenn sie lang="hi" erkennen.

Sie können also detaillierte Werte für lang verwenden, aber es ist nicht von großem Nutzen. Einfaches Markup wie lang="hi" für ein beliebiges major Fragment in einer anderen Sprache (zB ein Satz oder mehr) ist eine gute Übung, wenn auch nicht viel mehr. Bevor Sie zu viel Zeit darauf verwenden, überlegen Sie, welche praktischen Vorteile Sie erwarten können. Wenn Sie beispielsweise einen clientseitigen Silbentrenner wie silhenate.js verwenden, wird lang markup unbedingt erforderlich. Aber dann müssen Sie die Erwartungen dieser Software überprüfen, anstatt nur allgemeine Spezifikationen.

Ein Wort der Warnung: Ich habe seltsame Ergebnisse gesehen, wenn lang="ru" für Russisch in lateinischen Buchstaben geschrieben wurde. Der Grund dafür ist, dass Browser zu ihrer Idee von "font for Russian" wechseln können, was zu einer Mischung von Schriftarten führt. Aber das einfache Mittel besteht darin, in all diesen Fällen einige konsistente Einstellungen für alle Texte vorzunehmen und die Browser-Standardeinstellungen zu überschreiben.

Strings wie "Taw on far zB ih-he" können nicht sinnvoll in einer Sprache klassifiziert werden. Wenn Sie Sprachmarkierung verwenden, verwenden Sie lang="" (mit leerer Zeichenfolge als Wert), da dies die definierte Methode ist, explizit anzugeben, dass die Sprache nicht angegeben wird!

    
Jukka K. Korpela 19.07.2012 12:21
quelle
0

Vielleicht möchten Sie es als <ruby> .

Zum Beispiel:

%Vor%     
deceze 19.07.2012 12:02
quelle

Tags und Links