Я хочу создать многоязычный сайт, чтобы все или почти все страницы были доступны в 2 или более переводах. Каковы наилучшие практики?
Например, я рассматриваю эти механизмы выбора языка:
- Выбор предпочтительного языка на основе файлов cookie.
- На основе заголовка
Accept-Language
, если cookie не установлен. - На основе GeoIP в противном случае (возможно).
Есть ли что-нибудь еще?
Как должны выполняться разные переводы?
- as
LANG.example.com/page
- как
example.com/LANG/page
- as
example.com/page?hl=LANG
- ...
- любой из перечисленных выше с перенаправлением на
example.com/page
? (Кажется, обескуражен)
Как обеспечить правильную индексацию всех переводов?
- Файлы Sitemap со всеми страницами + правильный
Content-Language
заголовок достаточно?
Каков наилучший способ сообщить пользователям, что есть другие переводы, но не отвлекать их?
- список доступных языков в заголовке/нижнем колонтитуле/боковой панели (например, Wikipedia).
- поставьте селектор "Выбрать язык" рядом с содержимым
Какова наилучшая политика для решения проблем с отсутствующими/устаревшими переводами?
- вообще не отображать отсутствующие страницы или отображать страницу на другом языке?
- отображение старого перевода, старый перевод с предупреждением или страница на другом языке?
Что еще я должен учитывать? Что мне делать и чего я определенно не должен делать?