Многоязычное приложение AJAX - PullRequest
0 голосов
/ 24 мая 2011

Я создаю веб-приложение с использованием большого количества javascript и AJAX. Это приложение должно быть многоязычным.

На стороне сервера у меня есть небольшой движок шаблонов, написанный на PHP, который обрабатывает файлы переводов. Но на стороне клиента я иногда отображаю текст, и мне нужно перевести его, следуя тем же правилам. Я не хочу делать http-запрос каждый раз, когда мне нужно отобразить сообщение, так как лучше это сделать?

Другими словами, как построить единую систему перевода, работающую как на стороне сервера, так и на стороне клиента?

1 Ответ

0 голосов
/ 24 мая 2011

Вы можете установить серверный скрипт, который будет обслуживать динамический JavaScript, содержащий переведенные переменные в соответствии с предпочтениями пользователя.Например:

<script type="text/javascript" src="/translations.php?language=fr"></script>

Этот скрипт может содержать глобальную переменную с переводами:

var values = { hello: 'Bonjour', goodbye: 'Au revoir' };
...

Скрипт будет кэшироваться клиентскими браузерами и использоваться в ваших скриптах:

alert(values.hello);

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

...