dポイントプレゼントキャンペーン実施中!

ホームページでよく見かける言語切り替えで
[ Japanese / English ]
とあり、言語を選択することで
現在表示されているページの言語を変更させる方法がありますが、

そのときにリンクのアドレスはどのようにして切り替えているのでしょうか?
たとえば、
http://xyz.net/
以下にすでに日本語のページをすべて作ってあるとして、
http://xyz.net/english/
以下に全く同じ構成で英語バージョンのページを設置しているとします。

この状態で、トップページだけでなく、様々な閲覧中のページ
たとえば
http://xyz.net/test/tmp.php
というページを閲覧していて、英語に切り替えた時に
http://xyz.net/english/test/tmp.php
というenglishディレクトリ以下の英語ページへと直接行き来できるようにしたいのですが。。

全ページにリンクを別々に記述するのはちょっと頭悪いのでw

stylesheet や javascriptで実現できるのでしょうか?
なにか、参考になるページや知識などご存知でしたら教えてください。

よろしくお願いいたします。

A 回答 (2件)

JavaScriptで可能です。


自分のURLはwindow.locationで求められるので、あとは適当に文字列処理するだけです。
なお、「/english/」を挿入するのは挿入位置を教えるのが面倒なので、日本語のURLも「…/japanese/hoge.html」などとしておけば置換で一発です。
コード例は
-----
<span id="link">(※)</span>
<script language="JavaScript"><!--
url=window.location+"";
url=url.replace("/japanese/","/english/");
document.getElementById("link").innerHTML="<a href=\""+url+"\">English</a>";
-->
</script>
-----
(※)の位置は空でもよいですが、JavaScriptがオフではリンクが出ないことの注意を入れておくとよいかもしれません。
なお、window.locationを直接代入するとURLの文字列ではなくURLの示すデータそのものが入ってしまうのかうまく動作しません。
    • good
    • 0

<a href=./english/test/tmp.php>

この回答への補足

あ。ちがいます。

現在のアドレスを取得して、
それに/english/というディレクトリを中間に入れられるようなリンクがstylesheet や javascriptでできればと思っています。
それですと同じ記述ですべてのページに対して適応できるので、

各ページ毎にいちいち<a href="">記述していくのはちょっと賢くないかと思うので。。

よろしくお願いいたします。

補足日時:2008/12/12 14:48
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!