drupal + i18n - как отправить выбранную локаль в javascript? - PullRequest
1 голос
/ 24 мая 2010

У меня многоязычная установка Drupal 6. Многоязычность обеспечивается модулем i18n .

Я отображаю некоторые средства выбора даты, используя jquery ui datepicker . Я также хотел бы локализовать эти средства выбора даты (поэтому, когда отображаемая страница на английском языке, они показывают «mon tue wed ...», но когда страница на испанском языке, они показывают «lun mar mi ...»).

Моя проблема: я не знаю, как отправить выбранный в данный момент языковой стандарт в javascript.

Самым близким, что я смог найти, был объект javascript Drupal.locale. Однако этот объект, похоже, не имеет «названия локали».

Ответы [ 2 ]

2 голосов
/ 24 мая 2010

http://drupal.org/node/775876 выглядит так, как вы хотите. Похоже, что язык не поддерживает javascript по умолчанию, поэтому вам придется делать это в php. Если вы используете поле даты CCK, вы можете просто применить патч, с которым я связан.

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

В итоге я реализовал собственное решение.

Локаль может быть получена (в php) путем вызова i18n_get_lang .

Поскольку в моей теме был jquery-ui, имело смысл просто включить нужный файл .js в зависимости от локали. Поэтому я добавил это в конец страницы my_theme_preprocess_page внутри файла template.php темы:

/* File template.php */

function my_theme_preprocess_page() {
  ...


  /* include locale-specific ui file */
  drupal_add_js (path_to_theme() . '/js/jquery-ui/ui/i18n/ui.datepicker-'.(i18n_get_lang()).'.js');
  $vars['scripts']=drupal_get_js().$vars['scripts'];

end

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

...