Многоязычная смена без обновления страницы? - PullRequest
4 голосов
/ 16 сентября 2010

Пользователь выбирает новый язык с английского на немецкий.В настоящее время страница должна обновляться каждый раз, чтобы изменить текст на выбранный язык.Это хорошо для IE, но в Firefox он всегда запрашивает пользователя и плохой пользовательский опытПлюс, если пользователь набирает что-то, значит, текст обновляется - все пропало.Так можно ли загрузить текст на новом языке без обновления?Поскольку это сайт с пользовательским контентом, на каждой странице много контента.Бэкэнд - это PHP codeigniter & MySQL.

Ответы [ 3 ]

2 голосов
/ 16 сентября 2010

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

Даже если это «плохой пользовательский опыт», он будетвсегда лучше, чем иметь тонну javascript, и все языковые стандарты изменились с помощью javascript.

Я не говорю, что это невозможно, но просто подумайте, действительно ли это того стоит?

2 голосов
/ 20 ноября 2010

Похоже, это было бы проще реализовать:

  1. Пользователь начинает печатать что-то и понимает, что печатает не с той настройкой языка.
  2. Пользователь выбирает другой язык.
  3. Приложение хранит то, что пользователь печатал, используя любой метод, который вам больше всего кажется, например MySQL, сессия, cookie, что угодно.
  4. Страница обновляется с правильнымЛокаль и содержание как обычно.
  5. Восстановление того, что печатал пользователь.

Смена языка через Ajax, безусловно, возможна, но, как уже упоминали другие, этоможет потребоваться больше работы, чем стоит.

0 голосов
/ 16 сентября 2010

Я предполагаю, что при смене языков вы имеете в виду, что в вашем веб-приложении есть выпадающий список или что-то такое, что позволяет пользователям выбирать язык. Если так ... Используете ли вы что-то вроде jQuery? Вы можете назначить стиль каждому диапазону / элементу, имеющему отображаемый текст, и, когда язык изменяется, циклически проходить по всем отрезкам с этим стилем и обновлять отображаемый текст - загружая новый отображаемый текст с помощью вызова ajax. Это очень похоже на то, сколько настольных приложений обрабатывает перевод.

...