Webサイトで多言語表示をする方法

Webサイトで多言語表示をする方法

Posted at August 5,2006 12:38 AM
Tag:[HTML, Language]

当サイトのテンプレートご利用者の方より「ハングル文字が表示されません」というご質問を頂きましたので調査致しました。
以下、ブログ等のウェブサイトで多言語表示をする方法をご紹介致します。なお、確認環境は Windows2000/XP + IE6/Firefox1.5/Opera9 です。

1.多言語表示をする

1.1 文字コードを UTF-8 にする

UTF-8 は多言語を扱うための Unicode の符号方式のひとつです。ブログの文字コードを UTF-8 で運用することで、多言語表示が可能になります。
入力方法については言及しません(任意)が、例えばオンラインでは下記のサイトがあります。

ユニコード文字一覧:Unicode(クリック入力)

その他、エキサイト翻訳も使えそうです。

1.2 数値文字参照を使用する

数値文字参照とは、例えば「<」を「&60;」という特殊な数値および記号で表示することです。なお「<」を「&lt;」と表現するのは文字実体参照です。
ブログの文字コードを Shift_JIS 等で運用している場合、数値文字参照を利用することで多言語表示が可能になります。

他言語を数値文字参照に変換するには下記のサイトが便利です。

Javascriptで数値文字参照の値を求める方法

2.他言語を正しく表示するために

下記は「ブログでハングル語を表示します」という語句をエキサイト翻訳したハングル語を表示しています。Firefox/Opera では正常にハングル文字が表示されますが、IEでは「・・・・・」という風になってしまいます。

?? ???? ???? ?????.

これは1.1項または1.2項の方法で他言語を入力しても、表示するページの html 属性の lang 属性に "ja" が指定されている場合、IEで正しく表示されないためです。

<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">

下記のように lang 属性を削除することで表示されるようになります。

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">

なお、XHTML1.0 では lang 属性と xml:lang 属性に同じ値を指定することになっているため(後方互換性の考慮)、テンプレートには修正前の設定を行っています。XHTML1.1 では lang 属性自体が非許容になります。

3.Opera について

Opera では設定を変更しないと中国語(簡体字)が正常に表示されないようです。下記のページを参考にしてください。

UTF-8ページのフォント指定
UTF-8のベージで中国語のフォントが真当に表示されない

4.参考サイト

上記以外で参考にさせて頂いたサイトです。ありがとうございました。

日本語 Windows でハングルを使うには?
ブラウザ別・メールソフト別UTF-8対応状況
@IT:第11回 多言語対応の問題と解決を考える

関連記事
トラックバックURL


コメント

大変勉強になりました。やっぱりUTF-8は便利ですね。

[1] Posted by 日中の友好は翻訳から! : November 27, 2009 12:47 AM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)