以前、私は外資系ソフトウェア会社で働いていたときに、小規模な実験的な Web プロジェクトを作成しました。その要件の 1 つは、ユーザーのために複数の言語 (簡体字中国語、繁体字中国語、英語、韓国語、日本語) をサポートすることでした。当時、この要件は満たされており、ユーザーの設定は Cookie を使用して保存されていました。ただし、ユーザーは初回ログイン時 (または Cookie の削除後) に言語を選択する必要がありました。 ) ユーザーにとってもっと便利になるでしょうか?選択を自動的に支援するプログラムを使用できますか?
答えは「はい」です。誰もが Google を使用しています。中国語のシステムを使用して Google ホームページを開くと、他の言語ではなく、中国語のホームページが自然に開きます。なぜなら、Google はユーザーのシステムに適した言語を自動的に決定するからです。
どうすれば Google のようにできるのでしょうか? 実はとても簡単です。
ブラウザーによって Web サーバーに送信される HTTP ヘッダー情報には、Accept-Language などの情報が含まれています。この情報は、ブラウザーの [ツール] -> [インターネット オプション] -> [全般] にある言語の設定に使用されます。これは、受け入れ可能な複数の言語の優先リストにすることができます。
ASP を例として、「ユーザーの言語を自動的に判断する方法」を簡単に紹介します。
<%
関数 RegExpTest(patrn, strng)
Dim regEx,Match,Matches' は変数を作成します。
Set regEx = New RegExp' 正規表現を作成します。
regEx.Pattern = patrn' はパターンを設定します。
regEx.IgnoreCase = True' は、文字の大文字と小文字を区別するかどうかを設定します。
regEx.Global = True' グローバルな可用性を設定します。
Set Matches = regEx.Execute(strng)'検索を実行します。
Matches の各一致については、一致コレクションを反復処理します。
RetStr = RetStr&Match.Value
次
RegExpTest = RetStr
終了機能
AL = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")' ユーザーのブラウザで受け入れられる言語パラメータを取得します
LG = RegExpTest("^[az-]+",AL)' ユーザーのブラウザの許容可能な言語設定を取得します
セレクトケースLG
ケース「zh-cn」
response.write "中文(中国)"
ケース「zh-tw」
response.write "中国語 (台湾)"
ケース「zh-mo」
response.write "中国語 (マカオ特別行政区)"
ケース「zh-hk」
response.write "中国語 (香港特別行政区)"
ケース「zh-sg」
response.write "中国語 (シンガポール)"
ケース「en-us」
response.write "英語 (米国)"
「じゃ」の場合
応答.「日本語」を書き込みます
「こ」の場合
応答.write "韓国語"
エンドセレクト
%>