2017-06-15 13 views
1

私の質問は本当にシンプルですが、私はそれを理解できませんでした。なぜなら私はウェブプログラミングにはあまり良くないからです。HTML 2言語の入力ラベル、可能でしょうか?

.htmlページに多言語のラベル/入力値を設定することは可能ですか?

デフォルトのブラウザ言語がイタリア語の場合はテキストを表示し、ブラウザが別の言語の場合は別のテキストを表示する必要があります。 例として、CiaoからHelloに自動的に切り替える必要があります。

これを達成する方法はありますか?たぶん私はJavascriptでそれを行うことができます...

ありがとうございます。

+0

たくさんのJS/jQueryを作成することも、2つのインスタンスを作成して2つのドメインにサイトをホストすることもできます。 – ThisGuyHasTwoThumbs

+1

これは「国際化」と呼ばれています。これは実際には完全なコーディングのサブ専門です。それを処理するには多くの異なる方法があります - それらの用語を検索すると、あなたが始められるはずです。 –

+0

[コンテンツ言語と受け入れ言語とは何ですか](https://stackoverflow.com/questions/6157485/content-language-and-accept-language) – Quentin

答えて

1

これについては、多くのさまざまな方法がありますが、私はあなたのニーズに最も適した方法を見つけるとGoogle検索に時間を置くことをお勧めします。

私が使用したい例を挙げますが、私が投稿している情報は複数の可能なアプローチのうちの1つに過ぎないことを覚えておいてください。

まず、ユーザーの言語を取得する必要があります。これを行うには、ジオロケーションを使用して、ユーザーの所在地に基づいて言語を設定するか(良い方法についてはthis答えを参照するか、Googleを検索して他の多くの方法を使用します)、ユーザーのブラウザから取得できますそのことについてはthisスレッドを参照してください)。

これを取得したら、ローカライズされたコンテンツをユーザーに表示するだけです。

<body> 
    <h2> 
     <span class="lang lang_en">This is in english!</span> 
     <span class="lang lang_it">Questo è in italiano!</span> 
    </h2> 
</body> 

の各バージョン:

まず第一に、あなたのHTMLを持っている:私の好ましいアプローチは、単一のファイルにすべてのバリアント(これは、複数の異なるHTMLファイルを利用することの代替方法)を組み合わせた以下であり、テキストはそれ自身の範囲内に存在します。次に、あなたのCSSには、すべてのspan秒を隠す:もちろん

var lang = ...; //language 
switch (lang) { 
    case "en": 
     $(".lang_en").css("display", "inline"); 
     break; 
    case "it": 
     $(".lang_it").css("display", "inline"); 
     break; 
    default: 
     // Set your default language here 
} 

.lang{ 
    display:none; 
} 

最後に、JSで、我々は言語のテキストが含まれているspan sが我々が表示したいだけ明らかにこのアプローチがあなたのために良い選択であるかどうかは、あなたのニーズに左右されます。私はJQuery以外のフレームワークに依存しておらず、理解しやすいので好きです。もちろん、あなたのニーズに応じて、非常に非効率的な場合もあります(非常に大きなWebページの場合など)。それはあなたが決定するまでです。

-1

何を取得したいことは、あなたが次のコードであることを得ることができますブラウザの言語がされている場合:

:そうでなければ、ただ単にのlocalStorageに変数を変更するのonchangeドロップダウンか何かを作成

navigator.language || navigator.userLanguage 

localStorage.getItem('language') 

H:

localStorage.setItem('language', languageValue) 

そして、そのたびに確認してくださいあなたはjsですべてを変更することができます/言語に保存されている別のページにリダイレクトする。