I have build a websites with multiple languages. The URLs look like:
If the user access the main domain
http://www.example.com/ the web server detects the user's language (Accept-Language header) and redirects him to one of the above URLs.
Until now we have used a Temporary Redirect (302), because the user can return with other language settings and should then be redirected to the other one.
On another question, which advises to use 307:
307 Temporary Redirect
In this case, the request should be repeated with another URI; however, future requests should still use the original URI. In contrast to how 302 was historically implemented, the request method is not allowed to be changed when reissuing the original request. For instance, a POST request should be repeated using another POST request.
The question is: what is the proper status code for language redirection?