Add basic support for influencing language selection via cookies.
authorPaul Wise <pabs@debian.org>
Sat, 3 Aug 2019 02:23:04 +0000 (10:23 +0800)
committerPaul Wise <pabs@debian.org>
Sun, 11 Aug 2019 04:04:01 +0000 (12:04 +0800)
commiteef0d1229a8d2627ffc8663eda9bd2d68a0ef09c
treead9bc58a95de8d2936d27cf3125520699ee589a6
parentb5e3d5c524d285965f1dee322889dadc66a068b7
Add basic support for influencing language selection via cookies.

The UI for language selection in browsers is rarely used or known about
by visitors so websites need to provide a way for visitors to influence
content negotiation using the website itself in addition to the browser.

Setting a cookie is the simplest option for us as the URLs don't change.

The GDPR does not apply and to satisfy the EU cookie law we can include
some explanatory text around the form that sets the cookie.

Visitors should not get their language cookie changed when other folks link
them to URLs for other languages and search engines should not set language
cookies at all. Using POST requests ensures each cookie is only set explictly.

Since Apache mod_rewrite cannot inspect POST data, we use URLs instead.

The default cookie lifetime is about one month (60*24*7*4 minutes).

<CAKTje6EzfE89jBqpLQu1_a3ybYkV7pPcquKzQb6Uz8uu=pGudA@mail.gmail.com>
<f849fde79a325422af9a9553f6672a96382ae262.camel@debian.org>
https://httpd.apache.org/docs/current/content-negotiation.html#exceptions
modules/roles/templates/apache-www.debian.org.erb