Search the FirstSpirit Knowledge Base
Guten Tag,
für ein Projekt brauche ich eine Combobox, die Auswahl hierfür sollen die einzelnen Projektsprachen sein. Allerdings bekomme ich nur die Namen angezeigt jedoch nicht den Anzeigenamen/Display name, dadurch habe ich das Problem, dass der Name in jeder Sprache gleich ist und möchte genau dies verhindern.
Wie kann ich mir den Anzeigenamen als Auswahl ausgeben lassen?
<CMS_INPUT_COMBOBOX name="tt_language" hFill="yes" singleLine="no" useLanguages="no">
<CMS_INCLUDE_OPTIONS type="language">
<LABELS>
<LABEL lang="DE">#item.name</LABEL>
<LABEL lang="*">#item.name</LABEL>
</LABELS>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="*" label="Language" description=""/>
<LANGINFO lang="DE" label="Sprache" description=""/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>
Hallo Dominik,
ich habe versucht, eine Lösung zu finden, glaube aber dass das nicht umsetzbar ist ohne für alle Sprachen eine eigene Lösung hinzuschreiben. Das ist das, wie man am nächsten heran kommen kann:
<CMS_INPUT_COMBOBOX name="tt_language" hFill="yes" singleLine="no" useLanguages="no">
<CMS_INCLUDE_OPTIONS type="language">
<LABELS>
<LABEL lang="DE">#item.getLocale().getDisplayLanguage(class("java.util.Locale").GERMAN)</LABEL>
<LABEL lang="EN">#item.getLocale().getDisplayLanguage(class("java.util.Locale").new("en_GB"))</LABEL>
</LABELS>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="*" label="Language" description=""/>
<LANGINFO lang="DE" label="Sprache" description=""/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>
Das ist keine perfekte Lösung, aber so immerhin für viele Sprachen möglich, wenn auch manueller Aufwand pro Sprache. Du kannst entweder das Locale über die Konstanten verwenden, oder ein Locale direkt als String angeben. Die Version mit dem String ist etwas allgemeiner zu verwenden, da es nicht für jede Sprache eine Konstante gibt.
Viele Grüße,
Lena
Hallo Dominik,
das hat mich interessiert, als ich es gelesen hatte.
Bei mir hat das so funktioniert!
<LABEL lang="DE">#item.getDisplayName(#item)</LABEL>
Habs jetzt nicht ausgiebig getestet, aber sollte klappen.
€dit: Nein funktioniert auch nicht richtig...
Grüße
Tobi
Hallo Tobias,
wie schon gesagt, funktioniert leider auch nicht richtig.
Ich hatte selbst auch solche Ansätze, aber kam nicht zu dem gewünschten Ergebnis.
Grüße
Dominik
Hallo Dominik,
ich habe versucht, eine Lösung zu finden, glaube aber dass das nicht umsetzbar ist ohne für alle Sprachen eine eigene Lösung hinzuschreiben. Das ist das, wie man am nächsten heran kommen kann:
<CMS_INPUT_COMBOBOX name="tt_language" hFill="yes" singleLine="no" useLanguages="no">
<CMS_INCLUDE_OPTIONS type="language">
<LABELS>
<LABEL lang="DE">#item.getLocale().getDisplayLanguage(class("java.util.Locale").GERMAN)</LABEL>
<LABEL lang="EN">#item.getLocale().getDisplayLanguage(class("java.util.Locale").new("en_GB"))</LABEL>
</LABELS>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="*" label="Language" description=""/>
<LANGINFO lang="DE" label="Sprache" description=""/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>
Das ist keine perfekte Lösung, aber so immerhin für viele Sprachen möglich, wenn auch manueller Aufwand pro Sprache. Du kannst entweder das Locale über die Konstanten verwenden, oder ein Locale direkt als String angeben. Die Version mit dem String ist etwas allgemeiner zu verwenden, da es nicht für jede Sprache eine Konstante gibt.
Viele Grüße,
Lena
Hallo Lena,
die Lösung ist zwar nicht ideal, da wir ein Projekt mit sehr vielen Sprachen haben, aber sie funktioniert trotzdem, weshalb ich deinen Lösungsvorschlag als richtig markiert habe.
Vielen Dank.
Viele Grüße,
Dominik