ホームページの英語/日本語の切り替え方法について

このQ&Aのポイント
  • ホームページで英語と日本語を切り替える方法について教えてください。
  • ホームページの言語切り替えにおいて、リンクのアドレスをどのように切り替えるか知りたいです。
  • stylesheetやjavascriptを使用してホームページの言語切り替えを実現する方法について教えてください。
回答を見る
  • ベストアンサー

ホームページの英語/日本語の切り替え

ホームページでよく見かける言語切り替えで [ 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で実現できるのでしょうか? なにか、参考になるページや知識などご存知でしたら教えてください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • SortaNerd
  • ベストアンサー率43% (1185/2748)
回答No.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の示すデータそのものが入ってしまうのかうまく動作しません。

その他の回答 (1)

  • adcha128
  • ベストアンサー率21% (137/629)
回答No.1

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

spanish94
質問者

補足

あ。ちがいます。 現在のアドレスを取得して、 それに/english/というディレクトリを中間に入れられるようなリンクがstylesheet や javascriptでできればと思っています。 それですと同じ記述ですべてのページに対して適応できるので、 各ページ毎にいちいち<a href="">記述していくのはちょっと賢くないかと思うので。。 よろしくお願いいたします。

関連するQ&A

  • IEで日本語をまったく表示させなくするには・・・?

    作成した英語のページを確認するために、英語版のIEがほしいんですが、IE6の英語版をダウンロードしてみたところ、結局日本語のページも表示できてしまいます。言語セット変えたり、フォント変えたりしてみるんですが、OSのフォントを見に行くのかなんだかしらないけど、日本語の表示をどうしてもできてしまいます。言語セットを、「西ヨーロッパ言語」にすると日本語は表示できなくなりますが、他のページを見ると、メタタグにセットされた言語セット(シフトJIS、ユニコードなど)で、また日本語が表示できるようになってしまいます。海外の方が見ることを想定してテストしたいので、MPゴシックの半角英語フォントでなくて、英語版ウィンドウズや、中国語版ウィンドウズなどにデフォルトであるようなフォントで確認したいんですが、難しいでしょうか・・・? (今は英語版のオペラでテストしているが、やっぱIEでテストしたい)

  • うまい日本語をお願いします

    お世話になります。 申し訳ありませんが,以下の英語のうまい日本語訳をお願いできますか。 Mita became the first Japanese cheerleader for a National Football League team when she made the Dallas Cowboys squad in 1998, mastering English as much out of necessity as desire. よろしくお願いします。

  • フロントページのリンクボタンの表示

    自分のホームページを作成中の者です。 フロントページを使用していますが、初心者なので、分かりやすく説明できないかもしれませんが、大変困っており、どうかよろしくお願いいたします。 トップページに”English"と”Japanese"のリンクボタンのみを付け、それぞれ英語トップページと日本語トップページに飛ぶようにしています。この英語トップページは自分のプロフィール(Profile)などを書いており、その下位に”My Works"とか”Contact"とか”Favorite"などがあります。 つまり、トップページ→英語トップページ→"My Works”等の3段階になっています。(日本語ページも同じ構成です。) ここで問題なのが、第2段階にある英語トップページは、第1段階目のトップページからはいるときは”English”ボタンなのですが、第3段階にある"My Works"から入る(=戻る)ときは"Profile"ボタンにしたいのです。 それで、フロントページで、1段階目のトップページのリンクボタンには"English"と入れ、"My Works"ページのリンクボタンには"Profile"と入れ、どちらも英語トップページに飛ぶように設定しました。ところが、アップロードすると、"English""Japanese"のボタンが出るはずの1段階目のトップページには"Profile""Japanese"と出てしまいます。。。 同じページに対して、上位から入るのと下位から入るのとでは、違う名称(リンクボタンの名前)を付けられないのでしょうか? 以上出来るだけ分かりやすく説明したつもりですが、変な書き方でしたらすいません。 どうかお知恵をお貸しください。 なお、"My Works"と同じ段階にある”Favorite"からも”Contact"からも、ボタンを付けて"Profile"(=英語トップページ)に戻るようになっています。

  • 日本語のファイルが開けない

    大変困っておりますので、お分かりになる方どうぞ宜しくお願い致します。 環境は以下の通りです。 OS:Linux Webサーバ:Apache2 言語:PHP4 PHPのプログラム内で、アンカーを生成し、 <a class='file' href="#" onClick="OpenFileWindow('./file/テスト.ppt');"> テスト.ppt</a> javascriptのwindow.openで、ファイルを開こうと試していますが、ファイル名が日本語の場合、開くことができません。 実行すると、「ページが見つかりません」と表示されてしまうのです。 試しにそのファイルを英数字の名前へ変更し、実行するとちゃんと開く事ができます。 何が悪いのかさっぱり分からず、困っております。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • PHP
  • XAMPPの日本語版をインストールしたい

    http://www.apachefriends.org/en/xampp-windows.html の XAMPP for Windows 1.8.1, 30.9.2012 Installer  99 MB をインストールしたのですが、言語選択の画面が出てこなくて、英語表記です。 日本語版のソフトがほしいのですが、そのリンク先はありますか? http://php.xenophy.com/php/index.html をみると、言語選択画面があるそうですが、私がインストールした限りでは 見当たりませんでした。 もしくは私が言語選択を見逃しただけでしょうか?

    • ベストアンサー
    • PHP
  • 翻訳サイトで日本文を英文に訳したのは通じますか??

    英文から日本文に訳した場合、まったくもって変な日本文に訳されますが、日本文から英文に訳した場合、英語圏の方には通じるのでしょうか? 以下は上の日本文を翻訳サイトで英文に変換しました。 Although it completely has and translates into strange Japanese when it translates into Japanese from English, when it translates into English from Japanese, does it lead to the direction in the English area? 通じていますか?? 私は英語はまったく駄目なのです。

  • __FILE__をHTMLタグ内で使う

    よろしくお願いします。 いま,navi.php内で同一ディレクトリ内のstyle.cssを読み込もうとしています。navi.phpは色々なディレクトリから取り込まれるため,どこから取り込まれてもstyle.cssにリンクできるようにしたいのです。絶対URLは使いたくありません。 調べていたら,dirname(__FILE__)を使えば良いと分かったのですが,hrefの中に取り込むやり方が分かりません。御指南ください。 <link rel="stylesheet" href="<?= dirname(__FILE__) ?>/style.css" type="text/css"> は試したのですが,うまくいきませんでした。

    • 締切済み
    • PHP
  • サイトで閲覧者の使用言語に合わせページを飛ばしたい

    自分のウェブサイトで、閲覧者の使用言語に合わせて自動的にページが飛ぶようにしたい はじめまして。独学で個人のウェブサイトを作ってるのですが、どうしてもわからないことがあります。 ウェブサイトを多言語化したいのですが、その言語が使われてる国に合わせてサイトのコンテンツやウェブデザインを変えるので、 サーチエンジンなどとの兼ね合いで混乱を防ぐためにも、サブディレクトリで違うURLにして管理する事にしました。 (例:日本語ページはhttp://www.●●●.com/ja、英語ページはhttp://www.●●●.com/en、といった具合です) つまり、ひとつひとつ言語別にページをつくり、別々でひとつひとつアップロードしていく感じです。 ですが、名刺など人に教える時にはサブディレクトリを省いたhttp://www.●●●.comで教えたいので、そのアドレスにどちらの言語の人が来ても、閲覧者にとってクリックする手間が省けるよう、コンピューターで日本語をお使いの方にはjaページ、その他の言語の方にはenページが最初に表示されるようにしたいのです。 (そして、英語ページなどをわざわざ見たいと思っている日本語閲覧者には、enページへのリンクを貼り誘導するようにしたい) ★イメージとしては、このサイトと似た仕様にしたいと思ってます http://www.astro.com/ (星座占いのサイトで、右上の言語ボタンをクリックすることで言語を切り替えられるのですが、アクセスをどの国からしているかによって自動的にどれかのページに飛ぶようになっているようです) ※希望としては、「アクセスしてる国に合わせる」のではなく、「アクセスしてるPCのメインで使用するのに設定されてる言語に合わせて」ページの切り替えが行えたらな・・・と思っているのですが、 上記の例のサイトと同じ仕様でもいいな、と、思ってます。 どうかお知恵をお貸し下さい。よろしくお願い致します。

  • インラインフレーム内のcssを親フレームに適用する

    インラインフレーム(子ウィンドウ)に表示されているページ(同一ドメイン上のページです)で読み込まれているcssを、ページ読み込み時に親ウィンドウ側でも読み込みたいと思っています。 内容としては 親ウィンドウ側css呼び出し部分 <link rel="stylesheet" type="text/css" href="test.css"> <link rel="stylesheet" type="text/css" href="test1.css"> 子ウィンドウ側css呼び出し部分 <link rel="stylesheet" type="text/css" href="test.css"> <link rel="stylesheet" type="text/css" href="test2.css"> となっているソースをページ呼び出し時に 親ウィンドウ側css呼び出し部分 <link rel="stylesheet" type="text/css" href="test.css"> <link rel="stylesheet" type="text/css" href="test2.css"> 子ウィンドウ側css呼び出し部分 <link rel="stylesheet" type="text/css" href="test.css"> <link rel="stylesheet" type="text/css" href="test2.css"> のように共通していないcssを子ウィンドウ側に合わせて変更したいのです。 子ウィンドウ内のページのソースは訳があって編集する事が出来ないので、親ウィンドウ側で子ウィンドウ内の <link rel="stylesheet" type="text/css" href="test2.css"> の href の値を読みこみ、親ウィンドウ側の href の値を置き換えるといった方法では無いかと思うのですが、具体的にどうすればよいのか分かりません。 どなたかご存知の方、ご教授ください。 よろしくお願いいたします。 また、ブラウザはIE6~8と、Firefoxを想定しています。

  • postmailを使って日本語と英語のメールフォームをそれぞれ作りたい

    CGI初心者です。 現在、Kent Webさんのpostmailを使って、メールフォームを作っています。 日英中の3ヶ国語のフォームを各ページに設置したいと考えています。 日本語のフォームは問題なく作成でき、英語版に取り掛かっています。 やり方はとしましては、 ・日本語フォームに使用したpostmail.cgiとpostmail_html、tmplフォルダをコピーし、ファイル名を変えた ・それらファイルのソースを英語表記に修正 これでいざテストしてみると「 Forbidden 閲覧できません。このページはホームページ開設者が閲覧することを許可していないため、ご覧になることができません。」のエラーが出てしまいます。 こちらでお伺いしたいのは、二ヶ国語で問合せフォームを設置する場合のpostmailまたはCGIファイルの使い方です。 手探りでやっていますので初歩的なミスをしているかもしれません。 どなたかご教授頂ければ幸いです。 宜しくお願いいたします。

    • ベストアンサー
    • CGI

専門家に質問してみよう