1. ホーム
  2. http-headers

[解決済み] Content-LanguageとAccept-Languageとは何ですか?

2023-03-08 13:46:31

質問

のHTTPヘッダを見たのですが Content-LanguageAccept-Language がありますが、これらは何のためにあるのか、また、それらの違いは何なのか、どなたか説明していただけませんか?私は多言語のサイトを持っており、私はユーザーによって、サイトの現在の選択された言語に両方を設定する必要があります疑問に思っています。

どのように解決するには?

Content-Language エンティティヘッダは、視聴者のために意図された言語(複数可)を記述するために使用され、ユーザー自身の好みの言語に応じて区別できるようにします。エンティティヘッダは、HTTP リクエストとレスポンスの両方で使用されます。 1

Accept-Language はリクエスト HTTP ヘッダで、クライアントが理解できる言語と、どのロケールの variant が好ましいかを宣伝します。 2 複数の言語があり、それぞれに任意の重みまたは「品質」値が設定できます。例えば

Accept-Language: da, en-GB;q=0.8, en;q=0.7

(デフォルトのウェイトは1なので、これは以下のものと同等です。 da;q=1, en-GB;q=0.8, en;q=0.7 ).

値と重みを解析して適切な翻訳があるかどうかを確認し、最も優先度の高い言語の重みで翻訳をユーザーに提供する必要があります。

あなたのサイトの特定の言語を強制するために、Cookieの設定値などの代替手段をユーザーに与えることをお勧めします。これは、一部のユーザーが、言語の受け入れ設定を変更せずに、特定の言語でサイトを表示したい場合があるためです。