Как изменить язык без перезагрузки страницы с помощью PHP / Jquery - PullRequest
3 голосов
/ 12 марта 2011

Я сейчас работаю на многоязычном веб-сайте. В настоящее время я включаю соответствующий языковой файл ('lange / _en.php') для языковых фраз. Для изменения языков пользователи будут выбирать свой язык из элемента

Я помню, что видел что-то подобное в сети, но понятия не имею, где.

Любая помощь или какие-либо идеи о том, как это можно сделать?

Ответы [ 3 ]

5 голосов
/ 12 марта 2011

Проблема в том, что изменение языка влияет не только на небольшой раздел страницы, но и на всю страницу. Так что на самом деле, у вас есть три варианта.

  1. Простой способ , который действительно перезагружает всю страницу. Он прост в реализации, прост в обслуживании и не требует, чтобы вы были уверены, что JavaScript, работающий в данный момент на вашей странице, знает о новом языке во время выполнения.

  2. Сложный способ , который получает всю новую разметку через AJAX и заменяет содержимое тега <body> перезагруженным содержимым. Это вызовет проблемы с другими запущенными сценариями (такими как карусели изображений и т. Д.), Которые содержат ссылку на элемент, поэтому вам придется повторно инициализировать каждый отдельный сценарий, который выполняется на settimeout() на вашей странице.

  3. Близкий к невозможному способ , который состоит в том, чтобы иметь словарь на стороне клиента, выбирая каждый соответствующий тег и меняя его содержимое с новым языком. Это боль для настройки и боли для поддержания. Вам буквально нужен раздел с учетом каждой конкретной страницы. Опять же, если у вас есть сценарии со строками, вам нужно убедиться, что используемые ими строки обновлены до нового языка.

Вам лучше просто перезагрузить страницу. Он будет работать без JavaScript, и это разовая сделка, которая не будет беспокоить пользователей.

0 голосов
/ 09 апреля 2011

Прототип перезагрузки изображения, если он был изменен Я отправил сообщение об обновлении содержимого изображения на выбранный язык без перезагрузки страницы.

Изображение принимает отправленное значение и обновляет код языка / страны (который связан с языком) в БД и обновляет содержимое изображения (символы), чтобы соответствовать их раскладке клавиатуры.

Надеюсь, что его некоторое использование

0 голосов
/ 12 марта 2011

проверьте этот плагин:

http://keith-wood.name/localisation.html

Он меняет язык "на лету", не возвращаясь на сторону сервера.

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