Widziałem nagłówki HTTP programu Content-Language
i Accept-Language
, czy ktoś mógłby wyjaśnić, do czego służą i jaka jest między nimi różnica? Mam witrynę wielojęzyczną i zastanawiam się, czy ustawić obie strony na aktualnie wybrany język przez użytkownika.
http-headers
request
response
amator
źródło
źródło
Odpowiedzi:
Content-Language
, nagłówek encji, jest używany do opisu języka (języków) przeznaczonych dla odbiorców, tak aby umożliwić użytkownikowi rozróżnienie według preferowanego języka użytkownika. Nagłówki jednostek są używane zarówno w żądaniach, jak i odpowiedziach HTTP. 1Accept-Language
, nagłówek HTTP żądania, ogłasza, które języki klient jest w stanie zrozumieć i który wariant locale jest preferowany. 2 Może być wiele języków, każdy z opcjonalną wartością wagi lub „jakości”. Na przykład:(Domyślna waga to 1, więc jest to równoważne
da;q=1, en-GB;q=0.8, en;q=0.7
).Będziesz musiał przeanalizować wartości i wagi, aby sprawdzić, czy dostępne jest odpowiednie tłumaczenie, i zapewnić użytkownikowi tłumaczenie w języku o najwyższej preferowanej gramaturze.
Zaleca się udostępnienie użytkownikom alternatywnej opcji, na przykład wartości zestawu plików cookie, do wymuszenia określonego języka w witrynie. Dzieje się tak, ponieważ niektórzy użytkownicy mogą chcieć widzieć Twoją witrynę w określonym języku, bez zmiany preferencji dotyczących akceptacji języka.
źródło
Content-Language
opisuje język, dla którego przeznaczony jest określony fragment treści.Accept-Language
to lista języków, w których klient użytkownika chce mieć zawartość. Najlepszym sposobem myślenia o tym jestContent-Language
opisanie treści iAccept-Language
przekazanie preferencji.źródło
Content-Language to język strony, którą obsługujesz. Accept-Language to lista języków, które WOLISZ akceptować.
źródło
Pole nagłówka encji Content-Language opisuje język (i) naturalny (-e) docelowej publiczności dla zamkniętej jednostki. Należy zauważyć, że może to nie być równoważne wszystkim językom używanym w treści encji.
Pole nagłówka żądania akceptacji języka ogranicza zestaw języków naturalnych, które są preferowane jako odpowiedź na żądanie
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
źródło
źródło