У меня есть многоязычная установка Drupal 6. Многоязычное обеспечивается i18n модулем.
Я отображаю некоторые средства выбора даты с помощью datepicker ui's jQuery. Я хотел бы локализовать те datepickers также (поэтому, когда показываемая страница является английской, они показывают, что 'вторник в понедельник женился...', но когда страница находится на испанском языке, они показывают 'ми синяка Луна...').
Моя проблема: Я не знаю, как отправить в настоящее время выбираемую локаль в JavaScript.
Самой близкой вещью, которую я мог найти, был объект Drupal.locale JavaScript. Однако тот объект, кажется, не имеет 'имя локали'.
В итоге я реализовал собственное решение.
Локаль можно получить (на 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
Большое спасибо!
http://drupal.org/node/775876 похоже на то, что вам нужно. Похоже, что язык по умолчанию не поддерживает javascript, поэтому вам придется сделать это в php. Если вы используете поле CCK Date, вы можете просто применить патч, на который я дал ссылку.