質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

1回答

7130閲覧

CSS での多言語切り替えについて

ryy_1111

総合スコア8

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2016/01/29 12:54

CSSで多言語対応できるページを作っているのですが日本語と英語以外うまくいきません.
まず,ファーム画面上部に各国の国旗を表示させ,国旗を押すと言語の切り替えをしようと思っています.
(日本語 英語 中文簡体 中文繁体 韓国語 フランス語)

(ファームのtmpl)
<input type="radio" name="font-size" id="lang-jp" value="1" checked>
<input type="radio" name="font-size" id="lang-en" value="2">

<input type="radio" name="font-size" id="lang-ch" value="3"> <input type="radio" name="font-size" id="lang-chs" value="4"> <input type="radio" name="font-size" id="lang-ko" value="5"> <input type="radio" name="font-size" id="lang-fr" value="6"> <table border=0> <tbody align="center"> <tr> <td><label for="lang-jp"><img src="JapanFlag.jpg"></td> <td><label for="lang-en"><img src="KingdomFlag.jpg"></td> <td><label for="lang-ch"><img src="ChinaFlag.jpg"></td> <td><label for="lang-chs"><img src="ChinaFlag.jpg"></td> <td><label for="lang-ko"><img src="KoreaFlag.jpg"></td> <td><label for="lang-fr"><img src="FranceFlag.jpg"></td> </tr> </tdbody> </table> <p lang="en">English now</p> <p lang="jp">&#26085;&#26412;&#35486;&#12391;&#12377;&#65294;</p> ・・・・ など

((下がCSS.tmplです.))

input[id="lang-jp"]:checked ~ :lang(en),:lang(ko),:lang(ch),:lang(chs),*:lang(fr),
input[id="lang-jp"]:checked ~ * :lang(en), :lang(ko), :lang(ch), :lang(chs), *:lang(fr) {

opacity:0;position: absolute;
}

input[id="lang-en"]:checked ~ :lang(jp),:lang(ko),:lang(ch),:lang(chs),*:lang(fr),
input[id="lang-en"]:checked ~ * :lang(jp), :lang(ko), :lang(ch), :lang(chs), *:lang(fr) {

opacity:0;position: absolute;
}

input[id="lang-ko"]:checked ~ :lang(jp),:lang(ch),:lang(chs),:lang(fr),
input[id="lang-ko"]:checked ~ * :lang(jp), :lang(ch), :lang(chs), *:lang(fr) {
opacity:0;position: absolute;
}
(とりあえず韓国のみ)
・・・・

このままでは日本語と英語の切り替えしかできません.
今は韓国の旗を押したら英語表示しかでません.
他の中国語などは日本語と英語の両方が表示されています.

また,"[id="lang-ko"]:checks”を増やした際に ":lang(en)" を増やすと,すべてのファームから英語が消えてしまいます.
韓国語のファームに英語だけでなのは checksの後に "
:lang(jp)" をいれてるからかなと思うのですが,
どうすれば各言語をきれいにそれぞれ表示するようにできるのでしょうか・・・

また,最初のページで選択した言語を次のページでも継続して使えるように
別ページにid要素の移動をすることはできるのでしょうか・・・

何もかもわからない状態で申し訳ありません.
お分かりの方がいらっしゃいましたらご回答の程よろしくお願いいたします.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

下記CSSでいかがでしょうか(jsfiddleにサンプルUP済)。

html

1<style> 2#lang-ja:checked~:not(:lang(ja)):not(.select-lang), 3#lang-en:checked~:not(:lang(en)):not(.select-lang), 4#lang-ch:checked~:not(:lang(ch)):not(.select-lang), 5#lang-chs:checked~:not(:lang(chs)):not(.select-lang), 6#lang-ko:checked~:not(:lang(ko)):not(.select-lang), 7#lang-fr:checked~:not(:lang(fr)):not(.select-lang) { 8 display: none; 9} 10input.select-lang { 11 margin: 1em 1em 1em 0.5em; 12} 13</style> 14</head> 15<body> 16<label class="select-lang" for="lang-ja">日本語</label><input id="lang-ja" class="select-lang" type="radio" name="lang" value="ja" checked /> 17<label class="select-lang" for="lang-en">English</label><input id="lang-en" class="select-lang" type="radio" name="lang" value="en" /> 18<label class="select-lang" for="lang-ch">中国語</label><input id="lang-ch" class="select-lang" type="radio" name="lang" value="ch" /> 19<label class="select-lang" for="lang-chs">chs</label><input id="lang-chs" class="select-lang" type="radio" name="lang" value="chs" /> 20<label class="select-lang" for="lang-ko">ko</label><input id="lang-ko" class="select-lang" type="radio" name="lang" value="ko" /> 21<label class="select-lang" for="lang-fr">フランス</label><input id="lang-fr" class="select-lang" type="radio" name="lang" value="fr" /> 22 23<p lang="ja">日本語</p> 24<p lang="en">English</p> 25<p lang="ch">中国語</p> 26<p lang="chs">chs</p> 27<p lang="ko">ko</p> 28<p lang="fr">フランス</p>

投稿2016/01/31 15:42

think49

総合スコア18164

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問