Label von Exposed Filtern übersetzbar machen
dereine — 20. Juni 2008 - 16:15
Jemand hatte mich heute gefragt ob es möglich sei die Beschriftungen von Exposed Filter übersetzbar zu machen. Eine Lösung ist die View mit hook_views_default_views() zu integrieren und dort das Label mit einer t() Funktion umgegeben. Jedoch gibt es eine viel bessere, einfachere und für alle Views gültige Methode ein kleines Modul ( Im Anhang)
Dafür braucht man nur folgenden Code:
<?php
/**
* Implementation of hook_form_alter()
*/
function translate_filter_form_alter($form_id, &$form) {
// if you have a views_exposed_filter
if ($form_id == 'views_filters') {
// take each exposed filters lable and wrap it with a t function
foreach ($form['view']['#value']->exposed_filter as $key => $exposed) {
$exposed['label'] = t($exposed['label']);
$form['view']['#value']->exposed_filter[$key] = $exposed;
}
}
}
?>
/**
* Implementation of hook_form_alter()
*/
function translate_filter_form_alter($form_id, &$form) {
// if you have a views_exposed_filter
if ($form_id == 'views_filters') {
// take each exposed filters lable and wrap it with a t function
foreach ($form['view']['#value']->exposed_filter as $key => $exposed) {
$exposed['label'] = t($exposed['label']);
$form['view']['#value']->exposed_filter[$key] = $exposed;
}
}
}
?>
Fertig
Das Problem ist, man findet die Strings nicht mit dem Locale Module
-> Eigene Pot->Po erstellen dazu braucht man einfach folgendes Format
msgid "string"
msgstr "zeichenkette"
msgstr "zeichenkette"
| Anhang | Größe |
|---|---|
| translate_filter.tar.gz | 422 Bytes |



Kommentar hinzufügen