i18n - Taxonomiebegriffe in Views
am 01.05.2010 - 11:03 Uhr in
Hallo,
ich habe folgendes Problem: Bei einer zweisprachigen Seite, Standardsprache ist Deutsch, die zweite ist Englisch, soll bei einem Inhaltstyp ein Vokabular zugeordnet werden, dessen Begriffe einfach übersetzt werden. Der Inhaltstyp als solcher ist sprachneutral, da er nicht zu übersetzen geht (Bibliographie). Alles klappt soweit ganz gut, das Vokabular ist auf "Begriffe lokalisieren." eingestellt und auf den Seitenansichten werden die Begriffe richtig übersetzt angezeigt.
Gebe ich aber nun die Begriffe innerhalb einer View aus werden sie nicht übersetzt. Ich habe mir daher eine eigene views-view-field--tid.tpl.php angelegt, in der ich die Begriffe von Hand formatiere und den Namen des Begriffs folgendermassen durch die t()-Funktion schicke:
$term->name = t($term->name, array(), $language->language);
und dennoch wird es nicht übersetzt.
Einen kleinen Ansatz habe ich, denn es gibt im "Oberfläche übersetzten" Interface für einen Begriff nun immer 2 mögliche Übersetzungen:
Beispielbegriff deutsch: Allgemein
Textgruppe Zeichenkette Sprachen Operationen
Taxonomie Allgemein(term:55:name) de Bearbeiten|Löschen
Integrierte Oberfläche Allgemein(/de/bibliographie) de Bearbeiten|Löschen
Begriffe der Textgruppe Taxonomie liegen im Original als deutsch vor, die der integrierten Oberfläche (durch meine t()-Funktion) als englisch. Und scheinbar ist genau das das Problem. Dass die Source deutsch ist...
Was habe ich denn falsch gemacht? Sollte ich die Begriffe anlegen, indem ich das Interface auf englisch stelle?
Viele Grüße
~ aaki
- Anmelden oder Registrieren um Kommentare zu schreiben

Ich stehe vor dem gleichen
am 09.05.2010 - 12:43 Uhr
Ich stehe vor dem gleichen Problem, habe aber die Ursache auf Views abgeschoben. Laut Google gibt es offenbar einige Schwierigkeiten beim Ausgeben der übersetzten Version mit Views.
Ich habe jetzt ein Vokabular für Deutsch und eines für Englisch angelegt und somit auch zwei verschiedene Views-Seiten (und Blöcke) angelegt, die jeweile die deutsche und die englische Version öffnen. Weiterer Vorteil: Der Link ist einmal auf deutsch (www.irgendwas.de/Beispiel und www.irgendwas.de/Example), was vielleicht SEO-technisch noch irgendwie was bringt.
Jedenfalls funktioniert's. Aber ich werd hier weiter vorbeischauen, vielleicht gibts ja noch eine elegantere Lösung...
Klappt!
am 11.05.2010 - 20:35 Uhr
Also: Das was ich da vorhatte, klappt schonmal gar nicht. Mit 2 separaten Vokabularen hatte ich dann im englischen Vokabular auch nur Nodes drin, die dem englischen Vokabular zugeordnet wurden. Wenn ein User etwas auf Deutsch einstellt, hätte der englischsprechende gar nichts davon...
Aber die Lösung ist dieser Patch für das i18n-Modul. Die enthaltenen Dateien kommen dann in i18n/i18nviews/include. Außerdem hab ich noch dieses Modul installiert. Weitere Anpassungen waren nicht nötig. Jetzt kann ich:
- Ein Vokabular einrichten
- Dabei den Übersetzungsmodus auf "Begriffe lokalisieren" stellen
- Über die "Oberfläche übersetzen"-Funktion eine Übersetzung für alle Begriffe zufügen.
Bevor die (deutschen, noch zu übersetzenden) Begriffe über die Suchfunktion gefunden werden können, muss zunächst über "Oberfläche übersetzen" => "Aktualisieren" einmal die Zeichenkette als auch die Übersetzung aktualisiert werden.
- Per Views eine Seite, einen Block oder was auch immer einrichten, die die entsprechenden Taxonomie-Begriffe ausgibt.
Und bekomme nach Sprachumschaltung immer die passenden Begriffe geliefert. Ohne in einer Template-Datei herumpfuschen zu müssen.
Verwenden tu ich Views 6.x-2.10 und i18n 6.x-1.4 - also die jeweils verfügbaren aktuellen stable-Versionen.
Ich weiß nicht ob dir das weiterhilft, aber so kann man wunderbar Taxonomie-Begriffe auch auf Views-Seiten übersetzt ausgeben.
Danke!
am 12.05.2010 - 07:26 Uhr
Hey Lars,
ich werde das dann auch mal ausprobieren! Hatte es bislang erst mal unter den Tisch fallen lassen. :)
Viele Grüße
~ aaki