rbitdd
Returning Responder

Übersetzungen aus GCA

Hallo zusammen,

ich habe folgende Anforderung:

Im Projekt gibt es ein Seitetemplate, welches erst mal nichts anderes leisten soll, als eine andere Aufbereitung des Menüs. (Gründe dazu mal irrelevant Smiley Wink) Der Redakteur kann dazu noch einen Text eingeben. Später dazu mehr.

Dieses Template wird in nahezu jedem Ordner einmal eingebunden und soll in der Mastersprache als auch in den anderen Sprachen (hier nur Englisch) verfügbar sein. D.h. der Sprachwechsler auf der deutschen in die englische Seite soll verfügbar sein, auch wenn die Seite eigentlich nicht übersetzt ist.

Jetzt beobachte ich folgenden Phänomen:

Die Menüpunkte, welche dargestellt werden sind sehr wohl die englischsprachigen Menüpunkte. Auch das ein- / ausblenden der Menüpunkte passiert sprachabhängig.

Mein Problem ist jetzt, dass die Beschriftungen von allgemeinen Funktionen (Login-Button, Absatzüberschriften, placeholder in der Sucheingabe etc) alle auf Deutsch sind. Smiley Sad Die Beschriftungen werden in der GCA gepflegt und sind auch freigegeben.

Ich habe versucht mit der Einstellung der Ersetzungen für Sprachen in den Projekteinstellungen "rumgespielt", aber keine der Einstellungen erfüllt die Anforderung so richtig. Wenn ich auf "ignorieren" stelle, habe ich englische Labels, aber auch die nicht übersetzen Texte, welche der Redakteur noch angeben kann. Wenn ich die Einstellung "Mastersprache verwenden" nehme, werden, wie bereits genannt, die deutschen Texte aus der GCA verwendet.

Ich benötige jetzt die Funktion, das zwar die Texte aus der GCA IMMER sprachspezifisch ausgewählt werden, ohne das ich die Einstellung "ignorieren" verwende. Gibt es da eine bewährte Methode?

Ansonsten müsste ich jetzt bei jeder Ausgabe eine Prüfung machen, ob die Seite als übersetzt markiert wurde Smiley Sad

Freue mich auf sachdienliche Hinweise.

Btw: Gibt es eine Möglichkeit in der Vorschau diesen Effekt zu sehen? Selbst die Vorschau des Freigabestandes zeigt die englischen Texte an.

0 Kudos
6 Replies
rbitdd
Returning Responder

Hat niemand eine Idee?

0 Kudos

Hallo Diana,

ich hoffe, dass ich Deine Frage richtig verstanden habe. Dir geht es darum, dass die GCA-Beschriftungen, auf Seiten die noch nicht übersetzt sind, generell auf deutsch sind und diese eigentlich sprachspezifisch sein sollten?

Wo befinden sich deine GCA-Beschriftungen? (Auf der Seite, im Absatz, ...)

Grüße

René

0 Kudos
rbitdd
Returning Responder

Hallo René,

die Beschriftungen stehen so gesehen überall. Im Seitentemplate, im Absatz, Render-Templates (Formatvorlagen) etc.

Ich hatte gestern Abend eine Idee, welche ich heute früh ausprobiert habe. Ich habe leider noch kein Feedback dazu, ob das so in Ordnung ist.

Ich habe mir damit weitergeholfen, in dem ich folgende Ausgaben mache:

$CMS_VALUE(#global.gca("mein_label_text").getData().get("pt_label").getEditor().get(#global.language))$

Das scheint die Anforderungen zu erfüllen. Smiley Wink Das Element in den GCA hat nur ein Eingabefeld namens "pt_label". Daher passt das auch fast überall.

Ich nehme jedoch auch gerne noch andere Tipps an. Es heißt ja nicht, dass das oben beschriebene überall funktioniert.

Viele Grüße

Diana

0 Kudos
rbitdd
Returning Responder

Hmm... ich sollte schon auf alle Fragen antworten. Smiley Wink

ich hoffe, dass ich Deine Frage richtig verstanden habe. Dir geht es darum, dass die GCA-Beschriftungen, auf Seiten die noch nicht übersetzt sind, generell auf deutsch sind und diese eigentlich sprachspezifisch sein sollten?

Ja, es ist so, das Seiten, welche als nicht übersetzt markiert sind, sich zwar an dem englischen Menü bedienen, jedoch die Beschriftungen nach wie vor auf Deutsch sind.

0 Kudos

Hallo Diana,

ich denke, dass hier der Weg genommen werden muss, den jeweiligen Sprachwert direkt von der Eingabekomponente zu holen.

Genau um das zu Erreichen würde es ja die Einstellung "Ignorieren" geben. Es ist halt hier ungünstig, dass andere Anforderungen dagegen sprechen.

Allerdings ist die Methode DataProvider.getData() deprecated.

Vorzuziehen wäre hierfür deshalb DataProvider#getFormData():

$CMS_VALUE(#global.gca("mein_label_text").getFormData().get(#global.language,"pt_label").get())$

Viele Grüße

Rouven

0 Kudos

Hallo,

konnte Rouvens Antwort bei der Lösung der Frage weiterhelfen oder wird noch weitere Hilfe benötigt?

Viele Grüße

Michaela

0 Kudos