Web 上の言語

このページは、Web 国際化に関して何から始めればいいのか分からない初心者向けにオリエンテーションを提供します。サイト上のいくつかの素材について徐々に慣れてもらうことを目的としています。

You can find a selection of more detailed articles using the links to the right. Once you get some ideas from this page, you will probably just use Learn to internationalize, or the site search.

言語について

HTML および XML-ベースのフォーマットでは、文章または一部テキストの範囲について (プログラミング言語ではなく人間が話すような) 自然言語を宣言できます。これにより、言語に影響を受けるタスクに対して、ツールやアプリケーションがその情報を利用できるようになります。これには、適切なフォントや他のスタイルを適用したり、テキスト読み上げやスペルチェック機能を切り替えることなどが含まれます。

より多くのコンテンツが言語情報で適切にタグ化されることにより、こうしたアプリケーションがより有用となり、普及していくことでしょう。

また、ブラウザやユーザーエージェントにより提供された言語情報を利用できるようになれば、選択可能な場合には、指定した言語でデータを受信することも可能になります。

もっと詳しく...

言語を宣言する理由 なぜコンテンツの製作者や開発者が言語情報を宣言しなければならないのかを少し詳しく説明します。

言語の宣言

コンテンツの作成者は取り扱う Web 技術の中で、文書や一部テキストの範囲について言語を宣言するための方法を知る必要があります。XHTML、SVG、SSML といったほとんどの XML-ベースのフォーマットは XML 規格で定義されている xml:lang 属性を使用しますが、HTML 内の lang 属性など、他のマークアップが使用されることもあります。

コンテンツの作成者は、ツールが処理を進められるように文書や一部テキストの範囲について言語を宣言するのか、(メタデータなど) リソースの対象オーディエンスを宣言するのかにおいて、違いをつける必要があるかどうかを検討する必要があります。例えば (X)HTML などでは、それぞれに若干異なる手法を用いる必要があります。また、スクリプトによる言語宣言と、文字エンコーディングの宣言とで、混乱が起きないようにする必要があります。

コンテンツの作成者と Web マスターはさらに、標準的な方法で言語の値をどのように使用するかを知る必要があります。W3C 規格においては、BCP 47.に記載されているルールを使用することが現在の標準的な手法となっています。これは、RFC 3066 や RFC 1766 といった旧規格を置き換えたもので、ISO 言語や各国標準語で利用できる情報を超える内容になっています。また、言語タグを参照する場合は、ISO 規格ではなく IANA Language Subtag Registry を使用する必要があります。

Web マスターやサーバー設定に携わる作業者はこのほかにも、要求されたファイルに言語関連の HTTP 情報を付加して送信するようにサーバーを設定しなければならない場合もあります。これは通常、コンテントネゴシエーションの一部として行われます。サーバーはコンテントネゴシエーションにおいて、ユーザーのブラウザの設定に応じて文書の異なるバージョンの 1 つを送信します。

言語情報を使ったサイトのナビゲート

サーバーに HTTP 要求が送信される時、要求側のユーザーエージェントは通常、言語選択情報を送信します。指定された言語が利用可能な場合、サーバーはこの情報を使い、適切な言語情報で文書のバージョンを返します。

エンドユーザーは、自分の選択した言語が正しく設定されているかどうかの確認方法と、正しくない場合の変更方法について知る必要があります。

Web マスターは、言語ベースのコンテンツネゴシエーションを管理できるように、サーバーの設定方法を知る必要があります。

複数言語のサイトを扱う Web 設計者および開発者は、ビジターを正しいリソースに導く方法について考慮する必要があります。

スタイル設定のための言語情報の使用

ほとんどのブラウザでは、テキスト領域の言語に準じて異なるスタイルを適用するための CSS を利用できます。例えば英文の文書内で、埋め込まれたタイ語のテキストが表示される箇所において、特定のフォントと適切な行間調整を割り当てることができます。これは、コンテンツのラベルを Thai とすることで実現します。

CSS では、スタイルシート開発者は content プロパティを持つセレクタを使用できます。この機能がサポートされている場合は、リンク先の言語を自動的に表示することができます。

マークアップフォーマットでの言語情報設計

スキーマまたは規格開発者は、文書の主要言語および文書内での言語変更を作成者が識別できるように、開発中のフォーマットにマークアップを含めるかどうかを考慮する必要があります。

スキーマまたは規格開発者はまた、XML-ベースのフォーマットにおいて、いつ xml:lang を使用することが適切なのかどうか、および、いつ言語情報を指定するための異なる属性または要素を作成すべきかどうかについて、明確にする必要があります。

もっと詳しく...

スキーマ開発者
自然言語のラベル化に向けたマークアップの定義