Файлы cookie и обнаружение языка (браузер и местоположение) и ни один из них на многоязычных веб-сайтах - PullRequest
4 голосов
/ 28 февраля 2010

У меня есть дилемма со следующими сценариями:

Дилемма № 1

Cookies:

Это хорошо для пользователей, которые получают доступ к веб-сайту со своего персонального компьютера (не нужно снова выбирать предпочтительный язык), но что произойдет, если язык был впервые выбран на общедоступном ПК (например, в библиотеке) кем-то, тогда это не не имеет особого смысла, потому что может прийти кто-то другой с другими языковыми предпочтениями.

Дилемма № 2

Определение языка:

Если веб-страница обнаруживает язык из данного местоположения. Что происходит с иностранцами, живущими в этой стране? (Более вероятно, что иностранцы, проживающие в стране, используют браузер, настроенный на его язык?).

(У меня уже есть меню для выбора языка, но я думаю, что «автоматизация» - это хорошо.)

Какое решение может быть лучшим?

Ответы [ 4 ]

2 голосов
/ 28 февраля 2010

Мои предпочтения:

  1. если пользователь зарегистрирован и имеет языковые предпочтения, используйте этот язык
  2. определение языка с HTTP-заголовком Accept-Language 2.5 (определение языка местоположения)
  3. резервный язык (например, en_US или более адаптированный для вашей целевой аудитории)

Я не уверен, что определение языка по местоположению - это действительно хорошая идея, сейчас большинство мест для совместного использования устройств - это мобильные устройства, что может означать, что пользователь путешествует. Есть также иностранец, как вы сказали. И в моем случае, я француженка, живу во Франции и все же предпочитаю браузеру en_US.

0 голосов
/ 28 февраля 2010

если у нас есть следующие ингредиенты:

  • печенье
  • ip location
  • определение языка
  • экран выбора языка
  • доступные языки для сайта

тогда я (живущий в стране с 3 языками, в которой английский язык очень похож на 4-й язык) хотел бы, чтобы мой язык обслуживался следующим образом:

  • если cookie с lang: показать cookieLang
  • , если нет cookie:

    • IPloc = IP-адрес результата
    • detLang = результат языкового общения
    • если (соответствие (например, IPloc = BE & detLang = FR) и доступный язык), тогда установить cookie и показать обнаруженный язык
    • иначе (например, нет совпадения IPloc = IT & detLang = NL), затем показать экран выбора языка, сделать выбор пользователя, установить lang в cookie и показать выбранный язык

На многих сайтах (Бельгия) просто отображается экран выбора языка, и это считается ошибочным и простым решением.

альтернативой может быть регистрация 2 (или более) URL, например mybank.be, mijnbank.be & monbanque.be, все указывают на один и тот же сайт. в зависимости от выбранного пользователем URL-адреса автоматически выбирается правильный язык.

0 голосов
/ 28 февраля 2010

Что не так с обоими? Используйте куки, чтобы определить первый выбор языка. Предоставьте тонкий вариант (возможно, с изображением, например, флаг), чтобы изменить параметр на язык местоположений / браузера в случае, если выбран неправильный.

0 голосов
/ 28 февраля 2010

Языковые переговоры - хороший выбор, когда новый пользователь впервые заходит на сайт.

Но я бы также сделал выбор языка как можно более простым и прозрачным, поместив идентификатор языка в URL, например /en/…. С таким URL выбранный язык прозрачен для пользователя и может быть изменен при необходимости. Вместе с этим конкретным языком URL я бы также предоставил независимый от языка URL без идентификатора языка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...