26 марта 2013

Локализация datepicker в зависимости от атрибута lang

Недавно я описал как прикрутить datepicker к элементу input. Сама по себе задача не сложная. Интереснее оказалось решить вот что - как менять локализацию календарика в зависимости от языка страницы.

С программистом, который пишет серверную часть было договорено, что он, в зависимости от выбранного языка, будет прописывать атрибут lang:
... <html ... lang="en"> ... или ... <html ... lang="ru">
Язык календарика можно задать, прописав внутри тега <head> ... </head> ссылку на скрипт с соответствующим языком локализации. Но в этом случае активным будет тот язык, который прописывается последним. Поэтому делаем так:
  • приписываем ссылки на скрипты с нужными языками (у меня английский и украинский)
  • считываем атрибут lang из тега html
  • привязываем календарик к полю ввода 
  • сбрасываем настройки календарика, указав в качестве параметра считанную в первом пункте локаль
Вот что получилось у меня:






Кстати, тут я немного схитрил. Файл с английской локализацией заканчивается, на "en-UK". Я его переименовал и внутри в двух местах изменил это на просто "en".
И еще очень важно писать скрипт, именно привязав его к событию (document).ready - иначе не всегда успевает подгрузиться jQuery и календарик пытается привязаться к полю ввода раньше, чем загружаются библиотеки, в которых он описан.

Комментариев нет:

Отправить комментарий