Как установить язык веб-страницы в зависимости от языка посетителя - PullRequest
1 голос
/ 01 декабря 2009

Может кто-нибудь сказать мне, как настроить язык веб-страницы на основе знания IP-адреса посетителя, чтобы он автоматически получал страницу на языке своей страны. Конечно, если этот язык реализован веб-разработчиком. Еще лучше я сею несколько примеров автоматического перевода текста в Google.

Итак, как этого добиться, посетитель из США получает текст на моей странице на английском, а посетитель из Франции - на французском. Все это переведено гуглом с какого-то третьего языка оригинала.

Большое спасибо.

Ответы [ 3 ]

2 голосов
/ 23 января 2010

Когда дело доходит до автоматического выбора языка, я бы пошел по пути mod_rewrite, если вы используете Apache. Это легче изменить в производственной среде, которая касается кода приложения. mod_rewrite извлекает «Accept-Language» из заголовка, затем применяет правило перезаписи.

RewriteCond% {HTTP: Accept-Language} ^ fr [NC]

RewriteRule ^ $ / fr / [L, R = 301]

Вы можете сложить условия и правила перезаписи, чтобы они работали как все языковые варианты (fr, fr-ca, fr-fr, fr-mo, fr-ch все идут на fr)

Оформление официальной документации по переписыванию модов

хороший пример языка: http://tech -blog.borychowski.com / index.php / 2009/03 / Htaccess / переадресовать-по-в-браузере языка-мод-переписывание-и-HTTP_ACCEPT_LANGUAGE /

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

Когда дело касается перевода текста в Google, я буду осторожен. Если вы совершаете какую-либо транзакцию электронной торговли, ваши международные клиенты (или местные клиенты с международными настройками браузера) могут получить неверную или неточную информацию о продукте, описания и «условия использования». Если вы не сохраняете точный текст перевода Google в свою БД для каждого перевода «на лету», то невозможно отследить, что пользователь совершил на своем языке. Некоторые непереведенные юридические копии могут быть в порядке.

Надеюсь, это поможет.

1 голос
/ 01 декабря 2009

Или:

  • Угадай язык из локации (который можно узнать по их IP).

  • Посмотрите на значение заголовка запроса "accept-language".

Чтобы увидеть, что находится в заголовке вашего запроса, посмотрите здесь: http://www.ericgiguere.com/tools/http-header-viewer.html

0 голосов
/ 01 декабря 2009

Это плохая идея со смещения.

  1. Геолокация по IP-адресу не всегда работает (и не работает, если вы используете TOR)
  2. Даже если бы вы поняли это правильно, что бы вы сделали для таких стран, как Канада или Швейцария?
  3. Автоматический перевод в порядке, но было бы лучше сказать кому-то, что у вас нет сайта на его языке - тогда он может предпочесть прочитать его на другом языке.
...