0

簡単な質問ですが、言語を選択した後、URLに「?lang = EN」のようなものが含まれるWebサイトがあるのはなぜですか?それは、HTMLファイルまたはそれを含むフォルダーの名前が「?lang = EN」であるか、またはこれを行う他のコードであるためですか?自分のウェブサイト(2言語あり)にそのようなURLを設定したいのですが。現在、私は次のようなフォルダ構造を持っています:

言語の選択:D:/media/index.html

ENサイト:D:/media/en/index.html

CNサイト:D:/media/cn/index.html

ウェブサイトのファイル:D:/ media / site

ありがとう。

4

4 に答える 4

0

アドレスバーに表示される URL の後に続くものはすべて"?"「QueryString」と呼ばれ、サーバー側のライブラリ (Web サイトが作成されている開発プラットフォームに基づく) を使用すると、値にアクセスできます。たとえば、 の値は次の値に"lang"等しい"EN"か、"CN"などになります。

ところで、要求された URL を書き換えて、物理的に存在しない URL を介してパラメーターを取得するために、いくつかの http ハンドラーを使用することができます。あなたが言及したもののように、「http://yoursite.com/ en /default.whatever」。私自身はこの方法を好みますが、リクエストどおり、サーバー側のライブラリを使用してクエリ文字列の値にアクセスし、クライアントに送信するコンテンツの言語を選択する必要があります。

また、私がかつて使用したソリューションの 1 つとして、いくつかの翻訳サービス (translate.google.com など) クライアント ライブラリを使用し、jquery または javascript を使用してクライアント側で呼び出し、ページの読み込み時にすべてのテキストを翻訳することもできます。アクションは非常に高速ですが、いくつかの問題があります。

それが役に立てば幸い。

于 2012-11-25T19:14:50.237 に答える
0

これは、多くの場合、コンテンツが必ずしもファイルではなくデータベースに保存されるコンテンツ管理システムを使用しているためです。これlang=enは、正しいコンテンツを表示するために PHP などで取得する URL からの GET 変数です。ただし、あなたの場合、ユーザーがENまたはをクリックした場合にCN適切な場所にリダイレクトするだけで済みます。/en/index.html/cn/index.html

于 2012-11-25T19:07:02.610 に答える
0

PHP は$_GET、URL から変数から値を取得するために使用します。その変数から値を取得しLANG、さまざまな言語のすべての単語が格納されているファイルまたはデータベースからすべてを選択します。

すべてのファイルをコピーしてから翻訳する必要はありません。

あなたの場合、php動的ページのチュートリアルを検索してください。私はこれを見つけまし

PS PHP は、これを行う多くの方法の 1 つです。

于 2012-11-25T19:10:33.280 に答える
0

まず、ファイル拡張子 ( .html ) の後のものはすべてサーバー側の機能です。

? は PHP 用の関数であり、別のページから指示されたスーパー グローバル GET 配列 ( ?variable=value&variable2=value2 の形式) に変数を追加し、その時点からデータに対して多くのことを実行できます。

?lang=EN を使用するサイトは、必要な場所と言語で 1 ページに必要なテキストのチャンクを印刷するようにプログラムされている可能性があります。ただし、この方法を使用して言語固有のディレクトリにリダイレクトすることは可能です。

お役に立てれば :)

于 2012-11-25T19:11:08.087 に答える