2010-05-05 17 views
10

Mam witrynę, na której cała jej treść została przetłumaczona na wiele języków i nie ma żadnych kont (aby ustawić preferowany język). Potrafię wykryć preferowany język za pomocą Accept-Language, ip lub cokolwiek innego. mam 3 sposoby przechowywania wybór języka użytkownika:Gdzie przechowywać wybrany język w witrynie wielojęzycznej: sesja/pliki cookie lub adres URL?

  1. wykryć język i zapisać go w pliku cookie/sesji i umożliwiają przełączanie języka (a także zapisać je w pliku cookie/sesji)
  2. Zastosowanie wykryte języka, jeśli nie ma to językowe określone w url i pokazać linki do adresu URL z innym języku
  3. Użyj domyślnego język strony i wyświetlać linki do innych językach

Przechowywanie langage adres URL może być dowolnego typu: różne domeny, subdomeny, lub gdzieś w adres URL:

Myślę o pierwszym przypadku, ponieważ pozwala mi wysłać jeden adres URL do każdego, a zostanie mu przedstawiony w wybranym języku. Ale inna opinia jest taka, że ​​inny język oznacza inne dane, więc musi mieć inny link.

Odpowiedz

19

Zapisz go w adresie URL jako część ścieżki informacyjnej, najlepiej jak najbliżej nazwy domeny. Na przykład. http://example.com/en/page lub http://en.example.com/page. Jest to nie tylko bardziej przyjazne SEO, ale także gwarantuje pracę z klientami cookie/bez sesji.

Możesz także wybrać kombinację. Jeśli klient obsługuje pliki cookie, możesz użyć go do przechowywania "preferowanego" języka. Jeśli ta informacja jest nieobecna w sesji, przekieruj do adresu URL, który wyświetla język, który najbardziej pasuje do nagłówka Accept-Language i zapisz ten język w sesji (która jest w większości języków programowania/frameworków na drodze, która jest już wspierana przez cookie) . Jeśli użytkownik zmieni te informacje, należy również uwzględnić zmianę w sesji.

+0

Bardzo kompleksowa i rozsądna odpowiedź. –