Index: i18nviews/i18nviews.module =================================================================== --- i18nviews/i18nviews.module (revision 1514) +++ i18nviews/i18nviews.module (working copy) @@ -149,3 +149,28 @@ } return $links; } + +/** + * Implement hook_form_alter to localize taxonomy terms in views filters + * + */ +function i18nviews_form_alter(&$form, $form_state, $form_id) { + fb($form_id); + if ($form_id == 'views_exposed_form') { + foreach(element_children($form) as $key) { + if (preg_match('/^tid_\d+/', $key) || + preg_match('/^term_node_tid_depth_\d+/', $key)) { + foreach ($form[$key]['#options'] as $index => $opt) { + foreach ($opt->option as $opt_key => $opt_value) { + $prefix = ''; + if (preg_match('/^(-+?)(.*)$/', $opt_value, $matches)) { + $opt_value = $matches[2]; + $prefix = $matches[1]; + } + $form[$key]['#options'][$index]->option[$opt_key] = $prefix . tt("taxonomy:term:$opt_key:name", $opt_value); + } + } + } + } + } +}