ysugiyama.comのトップ

www.ysugiyama.com

技術メモ1: マルチ言語(複数言語)

要約

日本語コンピュータを使っている閲覧者には日本語ページを、韓国語コンピュータを使っている閲覧者には韓国語ページを表示します。

設定

ysugiyama.com/
に次のように設置します。
index.html.ja (日本語ページ)
index.html.ko (韓国語ページ)
index.html というファイルは設置しません。

効果

このようにすると、コンピュータのブラウザ(IE, FireFoxなど)の言語設定が"日本語"になっている人(以下、"日本人"という)が来て、
ysugiyama.com/
ysugiyama.com/index.html
などと入力した時に、日本語ページを表示します。

japanese

この時、アドレス欄には閲覧者が入力した
"ysugiyama.com/"
"ysugiyama.com/index.html"
のみ表示されています。

コンピュータのブラウザの言語設定が"韓国語"になっている人(以下、"韓国人"という)が来て、
ysugiyama.com/
ysugiyama.com/index.html
などと入力した時に、韓国語ページを表示します。

korean

この時、アドレス欄には閲覧者が入力した
"ysugiyama.com/"
"ysugiyama.com/index.html"
のみ表示されています。

Q and A

ブラウザの言語設定とは?
IEを使用している場合、メニュー-ツールを見ると、"インターネットオプション"に言語指定項目があります。
1.日本語 2.韓国語 3. 英語.. などと優先順位を指定することもできます。
もし言語を英語のみ指定したアメリカ人が来た場合は?
その時は、制作者側が指定した優先順位によりファイルを表示します。
制作者側の指定順位は、.htaccessファイルに書いておきます。

参考

このマルチ言語の表示方法は、閲覧者側の立場から見た時、複数言語が用意されていることが分かりません。
実際、今ご覧のファイル名はアドレス欄に
ysugiyama.com/memo.html
このように出ていると思います。
しかし、今ご覧のファイルの本当の名前は
ysugiyama.com/memo.html.ja
です。この日本語版をmemo.htmlファイルとして表示しているわけです。

最後に".ko"をつけて
ysugiyama.com/memo.html.ko
としてみてください。
韓国語版が表示されるはずです。

技術メモ2: 月ごとにページの内容が自動で変わる。

SSIを利用。1月から12月まで、ファイル(month01.html - month12.html)を用意します。
例えば、month12.htmlの内容は次のようです。

<style type="text/css">
<!--
  body
{
	background-image :
	 url("images/kaleido-yukix1132.jpg");
	background-repeat :
	 repeat-x;
	word-break: break-all;
}
#h1andlist
{
	margin-top:
	60px;margin-left:15px;
}
  h1
{
	color : #ccc;
}
-->
</style>

month01.html - month12.htmlのうちいずれかが流し込まれるファイル(例: index.html)のhead部分に次のように記述します。

<!--#config timefmt="%m" -->
<!--#set var="m" value="$DATE_LOCAL" -->
	<!--#if expr="$m=01" -->
<!--#include file="month01.html" -->

	<!--#elif expr="$m=02" -->
<!--#include file="month02.html" -->

	<!--#elif expr="$m=03" -->
<!--#include file="month03.html" -->

	<!--#elif expr="$m=04" -->
<!--#include file="month04.html" -->

	<!--#elif expr="$m=05" -->
<!--#include file="month05.html" -->

	<!--#elif expr="$m=06" -->
<!--#include file="month06.html" -->

	<!--#elif expr="$m=07" -->
<!--#include file="month07.html" -->

	<!--#elif expr="$m=08" -->
<!--#include file="month08.html" -->

	<!--#elif expr="$m=09" -->
<!--#include file="month09.html" -->

	<!--#elif expr="$m=10" -->
<!--#include file="month10.html" -->

	<!--#elif expr="$m=11" -->
<!--#include file="month11.html" -->

	<!--#elif expr="$m=12" -->
<!--#include file="month12.html" -->

	<!--#else -->
<!--#include file="month.html" -->
	<!--#endif -->

[2010-03]

[追記]

クリスマスイブ(12月24日)にのみファイルを流し込みたい時は次のようにすればOKです。

<!--#config timefmt="%m%d" -->
<!--#set var="md" value="$DATE_LOCAL" -->
	<!--#if expr="$md=1224" -->
<!--#include file="christmaseve.html" -->
(以下、省略)

[2011-04]

ysugiyama.comのトップ