2012-08-27 12 views
10

Ich möchte mehr als eine Sprache für ein Dokument bestimmen, da es in mehr als einer Sprache verfügbar ist. Wenn ichmehrere Sprachen in HTML definieren

<meta http-equiv="content-language" content="en,de,fr" /> 

verwenden ist dies nicht gültig W3C und der Validator sagt, dass ich es in der Wurzel der lang-Attribut definieren soll, aber dieses Attribut unterstützt nur eine langugage:

<html lang="en"> 

funktioniert, aber nicht

<html lang="de,en,fr"> 

Also wo soll ich es definieren?

Danke für Ihre Hilfe.

+0

lesen möchten Wenn Ein Dokument ist in mehr als einer Sprache verfügbar. Sie haben grundsätzlich mehr als ein Dokument zur Verfügung. Jedes Dokument sollte also eine eigene Spracheinstellung haben. – Arjan

+0

mögliches Duplikat von [What Attributwert sollte ich für eine gemischtsprachige Seite verwenden?] (Http://stackoverflow.com/questions/7076837/what-html-lang-attribute-value-should- i-use-for-a-mixed-language-Seite) –

Antwort

1

Sie können es nicht so verwenden.

Sie müssen entweder eine Codierung verwenden, die alle gewünschten Zeichen enthält (z. B. UTF-8), die den gesamten Unicode-Bereich unterstützt), oder benannte Elemente oder numerische Referenzen verwenden, um Zeichen außerhalb der verwendeten Codierung einzufügen.

http://bytes.com/topic/html-css/answers/154652-multiple-languages-one-document

UPDATE

Wenn dann mit HTML5 Sie lang für jedes Element verwenden können. Das heißt, wenn Sie ein div haben, das Mandarin-Chinesisch enthält, definieren Sie einfach ein Attribut lang = "zh-CN" für dieses div, like. (What is the HTML5 alternative to the obsolete meta http-equiv=content-language.)

+1

Der erste Teil der Antwort ist irrelevant: Es ging nicht um Codierungen oder Zeichendarstellung. Und der zweite Teil hängt nicht von HTML5 ab. –

1

Die Bedeutung der Content-Language-HTTP-Header, und damit sein meta Tag Surrogat, ist, dass es die Sprachen des Dokuments erklärt, oder die Sprachen der Zielgruppe (die entsprechende RFCs widersprechen), nicht die Sprachen einiger anderer Dokumente (wie Übersetzungen des aktuellen Dokuments). Der praktische Effekt des Headers ist klein, wahrscheinlich beschränkt auf die Verwendung der ersten Sprache, die als die Sprache des Dokuments bezeichnet wird, , wenn keine Sprachinformation in HTML Markup vorhanden ist.

Um anzuzeigen, dass ein Dokument in anderen Sprachen verfügbar ist, können Sie Tags wie

<link rel="alternate" hreflang="de" href="foobar.de.html"> 

Siehe 12.3.3 Links and search engines in HTML 4.01-Spezifikation verwenden können.

Es kann nicht garantiert werden, dass dies Auswirkungen hat. Es könnte sich auf Suchmaschinen auswirken, aber nicht mehr als eine normale Verbindung. Einige alte Browserversionen verfügten über Befehle zum Auswählen alternativer Versionen eines Dokuments, basierend auf Elementen wie diesem, aber die Funktion wurde scheinbar gelöscht.

10

alle atributes nur 1 Sprache unterstützen, so glaube ich, sollten Sie nur 1 Sprache definieren, die wichtigste Sprache eingestellt werden soll, kann dies nicht geschehen, wenn Sie haben mehrere Sprachen in einem einzelnen Dokument. Hier finden Sie die Informationen zur Lösung Ihres Problems:

Die Attribute lang und xml: lang erlauben nicht die Zuordnung mehrerer Sprachen zu einem einzelnen Dokument. Also, wenn Sie eine Webseite mit mehreren Sprachen zu schreiben haben Sie zwei Möglichkeiten:

  1. Definieren Sie eine Primärsprache mit dem Attribut lang, und dann die Sekundärsprache zurufen (n) mit lang auf Elemente in der Dokumentattribute
  2. Lassen Sie das Attribut lang aus, verwenden Sie sie nicht und definieren Sie sie in den verschiedenen Unterteilungen des Dokuments.

Beispiel für die Sprachinformationen in Elementen:

<div lang="fr-CA" xml:lang="fr-CA"> 
    Canadian French content... 
    </div> 
    <div lang="en-CA" xml:lang="en-CA"> 
    Canadian English content... 
    </div> 
    <div lang="nl-NL" xml:lang="nl-NL"> 
    Netherlands, Dutch content... 
    </div> 

Ich habe einige Seiten in mehreren Sprachen und ich die zweite Option ...

Sie könnten http://www.w3.org/TR/2007/NOTE-i18n-html-tech-lang-20070412/#ri20060630.133619987