-3

私の最初の話は十分に明確ではなかったと思うので、私は私の状況を再説明します。Visual StudioでWebページをプログラミングしています。C#ですが、実際の質問はHTML部分についてです。

私はすでにローカリゼーションを成功裏に実装しました。唯一の問題は、言語をハードコーディングすることによってのみ言語を変更できることです(たとえば、language = "EN"をハードコーディングでき、私のサイトは英語になります)

今、もちろん、私はそれをハードコーディングしたくありません、私は人々にそこで言語を選択してもらいたいです。そのため、同じページを別の言語でリロードできるボタンが必要です。

リロード後に必要なものは1つだけです。それは、文字列「en」または「nl」です(選択した言語によって異なります)。そのため、ボタンを押すとindex.aspxに移動しますが、新しいページでは、押したボタンの値がわかりません。

変数を渡すにはどうすればよいですか?

4

2 に答える 2

1

これはいくつかの方法で行うことができます。言語サイト全体をサブディレクトリに置くだけで、次のようになります。

www.example.com/english/index.php

または別の方法は、あなたが言ったように get を使用し、各ページに英語とオランダ語を保存し、URL に言語のみを表示することです (デフォルトはオランダ語である可能性があります)。したがって、次のようにページを呼び出します:(phpを使用していると仮定)

英語の場合:

www.example.com/index.php?lan=english

オランダ語の場合: (言語は定義されていません。オランダ語がデフォルトの言語です)

www.example.com/index.php

あなたのページで(英語とオランダ語で読むことができる各ページに対してこれを行う必要があります:

<?php
$lan = 'dutch';
if(isset($_GET['lan']))
     $lan = $_GET['lan'];

if($lan == 'english')
{
     ... Your page in english ...
}
else
{
     ... Default Language ...
}
?>
于 2012-06-11T13:20:04.077 に答える
0

わかった、

この質問について私が行う方法は、 a を使用して、含めたいすべての言語をリストすることです。

<form method="get" action="Index.aspx">
<label for="language">Select you language here</label>
<select id="language">
<option value="english"English</option>
<option value="french">French</option>
. 
.
.
</select>
<input type="submit" value="submit">
</form>

次に、aspxファイルでいくつかの処理を行います

- 編集 -

フォームで method="get" を使用すると、選択した変数が次のように URL に追加されます。

index.aspx?language=english /* for example */

aspx ページで、いくつかの JavaScript を実行できます。

<script type='text/javascript'>
//<![CDATA[
//  Parse Query String
    var queryString = new Object;
    var qstr=window.location.search.substring(1);
    var params=qstr.split('&');
    for (var i=0; i<params.length; i++) {
      var pair=params[i].split('=');
      queryString[pair[0]]=pair[1];
    }
   //]]> 
</script>
<script type="text/javascript">
   var language = queryString['language'];
   if (language== "english") {
        /* Do some processing */
    }
    else { do domething else }
</script>

JavaScript を head に配置すると、ページの読み込み時に実行されます。処理部分で、言語ファイルにアクセスします。

于 2012-06-11T13:49:06.893 に答える