Section 8 : 言語

 あなたが HTML に乗せる情報はいうまでもなく WWW,つまり世界中を駆けめぐる。国際化に向けての HTML の基礎。

LANG 属性

 HTML は,WWW における世界の共通語と思って間違いない。インターネット時代で世界が身近になった今,情報がどんな言語であるかというのも重要な問題であるし,複数の言語が入り交じった文書を書くこともあるかもしれない。

 要素の言語は LANG-属性で示す。

LANG 属性
属性 解説
LANG 言語コード その要素の言語。

LANG 属性は,“言語”とは関わりないもの,<BASE><BR><HR><PARAM><SCRIPT> については持っていない。また,フレーム定義で用いる <FRAMESET><FRAME>,HTML 4.0 Transitional で用いる <APPLET><BASEFONT> にも指定できない。

 LANG 属性の指定する言語はその要素の内容だけでなく,属性値にも適用される。“ここから〜ここまで”の構造を持っていない <IMG> などもこの属性を指定しうるのは,ALT 属性,TITLE 属性などに使われる言語を指定するためである。

 では言語コードはどのように与えるのか。基本的には英字 2 字で与える。言語コードは大文字・小文字の区別をしないが,この 2 文字コードは小文字で書くのがよい。

 おもな言語コードを次に示す。

おもな言語コード
コード言語名 コード言語名 コード言語名 コード言語名
arアラビア語 deドイツ語 elギリシア語 en英語
esスペイン語 faペルシア語 frフランス語 heヘブライ語
hiヒンディー語 idインドネシア語 itイタリア語 ja日本語
ko韓国語 laラテン語 msマレー語 nlオランダ語
plポーランド語 ptポルトガル語 ruロシア語 saサンスクリット語
thタイ語 trトルコ語 urウルドゥー語 zh中国語

 さらに,言語コードは 2 文字の名前のあと,ハイフンに続けて次のような指定をすることがある。

 また,ISO で登録されていないものでは“i-”を冠するもの,試験的なものを表す“x-”を冠するものがある。

<P><CITE>クラーク博士</CITE>曰く:<Q LANG="en">Boys, be ambitious.</Q></P>

これは <Q> の内容が英語であることを示している。

 HTML 文書全体における言語を指定するのなら,<HTML>

<HTML LANG="ja">

のように書くことになるだろう。

 LANG 属性の値は,下位要素へと継承される。先ほどのように <HTML> に“日本語”と指定すれば,あとはとくに指定がない限り言語は日本語が指定されていることになる。

LANG 属性を用いるわけ

 では,LANG 属性を指定する意味は何だろうか。

■ サーチエンジン

 サーチエンジンでキーワードがうまく検索されるようにするため。たとえば,日本語用と英語用のキーワードを用意しておくことができる。

<META NAME="keywords" LANG="ja" CONTENT="教育,大学入試">
<META NAME="keywords" LANG="en" CONTENT="education, entrance examination">

これはつまり,ロボットに対して日本語用,英語用のキーワードを与えていることになる。

■ 音声デバイス

 音声出力デバイスのため。同じ綴りの語でも,言語によっては異なる発音がなされる場合がある。

 たとえば,

<P LANG="en">A german word standing for "advice" is <SPAN LANG="de">"Rat."</SPAN></P>

この文で“Rat”の発音は“ラート”だが,もし,そのまま英語読みをされたらそれこそ“ラット(ねずみ)”である。

■ 引用符・小数点

 たとえば引用文を <Q> でくくるとそれが引用符でくくられることが期待されるが,言語によって引用符が異なる場合がある。たとえば日本語ではかぎかっこ「 」だが,英語ではダブルクォート“ ”,フランス語ではギュメ « » がもっぱら使われる。

 小数点もそうである。小数点はピリオドだけでなく,カンマの場合もあり得る(e.g. ドイツ語)。表組で桁揃えを char にして CHAR 属性を指定しないと桁揃えは小数点で行われるが,その“小数点”が言語で異なるというのだから起こりうる事態は想像に難くない。

■ ブラウザにおける表示

ハイフネーション,合字,スペースの扱いなどの決定に使われる。

<DIV> と <SPAN>

 スタイルシートの範囲の指定に用いるとして First step CSS の Section 4<DIV><SPAN> を導入したが,このもうひとつの役割は,言語の範囲指定である。

 たとえば段落単位で言語が違うとか,引用文の言語が違うのなら,その構造を表す要素の開始タグに LANG 属性を書き込んでしまえばよいが,とくにその“異なる言語を用いている部分”が文書中で明らかな構造的意味を持たない場合は <DIV><SPAN> を使って LANG 属性を指定することになる。

<P>過度の期待の重圧にのしかかられ,もはや夢などは消え果ててしまったのだろうか。彼らには,“<SPAN LANG="en">I wish I were a bird.</SPAN>” の文は,もはや仮定法の例文以上のものたり得なかった。</P>

<DIV> については,内容にブロック要素をとり得るので,数段落にわたって言語を指定する場合にも用いられるだろう。