9

一部の言語では、ヒンディー語、ロシア語、日本語などのラテン文字への音訳が受け入れられています。たとえば、デーバナーガリー文字で書かれた「男は食べている」のヒンディー語は「आदमीखारहाहै।」です。文字変換すると、「Aadmikharahahai」になります。(または同様の方法。このアプローチは、特にヒンディー語のキーボードにアクセスできない場合に、オンラインでよく使用されます。)

langこの場合、ラテン文字を使用していますが、ヒンディー語を記述しているため、次の属性を使用していずれかのバリエーションをマークアップすることができます。

<span lang="hi">आदमी खा रहा है।&lt;/span> また <span lang="hi">Aadmi kha raha hai.</span>

私の質問は、通常はラテンアルファベット自体で書かれているが、非話者/学習者向けの音声ガイド(IPAまたはアドホック発音)がある可能性がある言語についてです。意味のある意味を与えるためのベストプラクティスはありますか?

たとえば、アイルランド語で「男は食べている」と言えば、「恐怖を感じます」と言います。私はこれを次のようにマークアップできます:

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

非話者向けの発音ガイドを提供する場合、「Taw on faregih-he」と言うかもしれません。この文は(「loremipsum」テキストのように)無意味ではありませんが、英語でもアイルランド語でも意味がありません。

この場合、HTMLでの言語関連の属性の正しい使用法は何ですか、またはこの使用例は現在仕様でカバーされていませんか?

4

3 に答える 3

5

短いバージョン:ラテンアルファベットで書かれていることを具体的に言いたい場合は、例として「hi-Latn」または「ga-Latn」を選択してください。

ロングバージョン:

lang属性のW3C仕様では、これについて具体的に言及されていません。これは、正書法に依存するいくつかの使用法(使用される文字の高品質バージョンをレンダリングするために使用するなど)を示唆していますが、そうでないものもあります(検索エンジンなど)。

言語タグの形式を指定するRFC1766は、タグの特殊化を使用して「az-arabicやaz-cyrillicなどのスクリプトバリエーション」を表すことができることを示唆しています。スクリプトサブタグについては、W3Cサイトのこの記事に詳細があり、後のRFC5646には少し余分なものがあります。これは、スクリプト名のISO標準リストを指しており、そのリストで必要なスクリプトは、他のスクリプトのローマ字形式であるため、「Latn」です。

(ただし、ウェード式と拼音を使用したラテン文字の中国語など、複数の標準がある可能性のある言語の場合、音訳をどのように行ったかを指定するなどのことはカバーしていません。)

于 2012-07-19T12:23:23.410 に答える
3

langブラウザ、検索エンジン、およびその他の関連プログラムは一般に属性を無視するため、ほとんどの実用的な目的では、それは重要ではありません。属性はフォントの選択に影響を与える可能性がありますが、ページ自体がフォントを提案していない場合に限ります(これはまれです)。一部の音声ブラウザは、のいくつかの値を認識し、langそれに応じて機能を適応させます。また、MS WordでHTMLドキュメントを開くと、langマークアップが認識され、言語固有のスペルツールが適用されます。しかし、これはかなり制限されており、それほど重要になることはめったにありません。さらに、これらの場合、最も単純なタイプの言語コードのみが認識されます。

原則として、ラテン語とデーバナーガリー語などの書記体系(「スクリプト」)、および使用されている音訳または文字起こしシステムを示すことができます。これはBCP47で説明されています。しかし、ほとんどの場合、これは実装者向けのガイドラインであり、現在ここで使用できるものではありません。

たとえば<span lang="hi-Latn">Aadmi kha raha hai.</span>、コンテンツがヒンディー語であるがラテン文字で書かれていることを示すために書くことができます。そして、原則として、少なくとも、競合するローマ字表記システムのどれが使用されているかを示す方法があります。Web関連のソフトウェアは認識しないと思いますlang="hi-Latn"; プログラムは、認識しても認識できない場合がありlang="hi"ます。

したがって、の詳細な値を使用できますがlang、あまり役に立ちません。別の言語の主要なフラグメント(たとえば、文以上)のように単純なマークアップを使用することは良い習慣ですが、それ以上ではありませlang="hi"ん。それに多くの時間を費やす前に、あなたが期待できる実際的な利益を考えてください。たとえば、hyphenate.jsのようなクライアント側のハイフネーターの使用を検討する場合マークアップが不可欠になります。ただし、一般的な仕様だけでなく、そのソフトウェアの期待を確認する必要があります。lang

lang="ru"警告の言葉:ラテン文字で書かれたロシア語に使用すると、奇妙な結果が見られました。その理由は、ブラウザが「ロシア語のフォント」という考えに切り替わり、フォントが混在する可能性があるためです。ただし、このような場合、簡単な解決策は、すべてのテキストに対して一貫したフォント設定を行い、ブラウザのデフォルトを上書きすることです。

「Tawonfareg ih-he」のような文字列は、ある言語であると意味のある分類をすることはできません。言語マークアップを使用する場合は、lang=""(値として空の文字列を使用して)を使用します。これは、言語が示されていないことを明示的に示すための定義済みの方法です。

于 2012-07-19T12:21:54.630 に答える
0

としてマークアップすることを検討することをお勧めします<ruby>

例えば:

<ruby lang="hi">आदमी<rt>Aadmi</rt> खा<rt>kha</rt> रहा&lt;rt>raha</rt> है।&lt;rt>hai</rt></ruby>
于 2012-07-19T12:02:38.023 に答える