訪問者の言語によって決定されるWebページの言語を設定する方法

StackOverflow https://stackoverflow.com/questions/1826603

  •  22-07-2019
  •  | 
  •  

質問

訪問者のIPアドレスの知識に基づいてWebページの言語を設定する方法を教えてください。そうすれば自動的に自分の国の言語でページを取得できます。もちろん、その言語がWeb開発者によって実装されている場合。さらに良いのは、テキストの自動Google翻訳の例をいくつかまきます。

米国からの訪問者を英語で、フランスからの訪問者をフランス語でページに表示するにはどうすればよいでしょうか。 Googleが第三言語から翻訳したものすべて。

どうもありがとう。

役に立ちましたか?

解決

いずれか:

  • 場所から言語を推測します(IPから取得できます)。

  • リクエストヘッダーの「accept-language」を見てください。値。

リクエストヘッダーの内容を確認するには、 http:をご覧ください。 //www.ericgiguere.com/tools/http-header-viewer.html

他のヒント

言語の自動選択に関しては、Apacheを使用している場合はmod_rewriteルートに行きます。アプリケーションコードに触れる運用環境で変更するのは簡単です。 mod_rewriteは、「Accept-Language」を取得します。次に、ヘッダーから書き換えルールを適用します。

RewriteCond%{HTTP:Accept-Language} ^ fr [NC]

RewriteRule ^ $ / fr / [L、R = 301]

書き換えの条件とルールを積み重ねて、すべての言語のバリエーションをキャッチするように機能させることができます(fr、fr-ca、fr-fr、fr-mo、fr-chはすべてfrに移動します)

公式のmod-rewriteドキュメントをチェックアウト

良い言語の例: http://tech-blog.borychowski.com/index.php/2009/03/htaccess/redirect-according-to-browser-language-mod-rewrite-and-http_accept_language/

ユーザーを適切な一般言語にプッシュすると(URLに何も定義されていない場合)、アプリケーションはセッション言語を設定でき、設定された言語でリンクを記述します。バイリンガルローカル(ケベック州)のほとんどのユーザーは複数の言語で作業しているため、人々がその場で言語を変更できるようにすることも良いことです。私は英語で技術文書を読むことを好むフランス語を話すプログラマーと仕事をしました。

Googleによるテキストの翻訳に関しては注意が必要です。 eコマーストランザクションを行っている場合、国際的な顧客(または国際的なブラウザー設定を持つ地元の顧客)は、誤ったまたは不正確な製品情報、説明、および「契約条件」を取得する可能性があります。その場で翻訳するたびに正確なGoogle翻訳テキストをDBに保存しないと、ユーザーが自分の言語でコミットした内容を追跡する方法がありません。一部の翻訳されていない合法的なコピーが整頓されている場合があります。

これが役立つことを願っています。

これはオフセットからの悪い考えです。

  1. IPアドレスでのジオロケーションは常に機能するとは限りません(TORを使用している場合は機能しません)
  2. これが正しいとしても、カナダやスイスのような国ではどうしますか?
  3. 自動翻訳は問題ありませんが、その言語でサイトを所有していないことを誰かに伝える方が良いでしょう。そうすれば、彼らは別の言語で読むことを好むかもしれません。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top