Danders
I'm new here

Anzeigenamen der Projektsprachen in einer Combobox

Jump to solution

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>

FS_DisplayName.png

0 Kudos
1 Solution

Accepted Solutions

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

View solution in original post

0 Kudos
4 Replies
TWidmayer
Elite Observer

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

0 Kudos

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

0 Kudos

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

0 Kudos

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

0 Kudos