l_lueers
I'm new here

ausgewählten Tab-Sprachkontext im Beanshellscript ermitteln

Jump to solution

Hallo Community,

Ich habe im Forum bereits einige Ansätze zur Ermittelung der Sprache im ScriptContext gefunden, die bisherigen Versuche liefern jedoch nicht das gewünschte Ergebnis.

Ich versuche gerade, in einem Beanshell Script, welches von einem FS_BUTTON aus aufgerufen wird, die Sprache des aktuell ausgewählten Sprachtabs zu ermitteln.

fs-screenshot.jpg

Im Script greife ich auf die Elemente in einer FS_LIST zu und möchte hier den Wert der aktuell ausgewählten Sprache abrufen, um ihn in Form einer AppCenter Anwenung weiter zu verarbeiten.

Ich habe es über den UIAgent probiert:

UIAgent uiagent = context.requireSpecialist(UIAgent.TYPE);

Language lang =  uiagent.getDisplayLanguage();

context.logInfo("Sprache ist "+lang.getAbbreviation());

Diese liefert mir aber immer Deutsch (vermutlich die bevorzugte Anzeigesprache), auch wenn ich das Script aus dem englischen Tab starte.

INFO  19.08.2014 15:29:29.606 (de.espirit.firstspirit.access.BaseContextImpl): Sprache ist DE

Kennt jemand eine Möglichkeit, die Sprache des aktiven Tabs zu ermitteln?

ps. Verwendete FS Version ist "FirstSpirit Client 5.0.425.60000"

1 Solution

Accepted Solutions
pavone
I'm new here

Hallo,

du könntest Folgendes probieren:

1. Lege in deinem Formular mit dem FS_BUTTON ein verstecktes Textfeld an (pt_lang)

2. Füge folgende Regel hinzu

<ON_EVENT>

     <WITH>

          <PROPERTY source="#global" name="LANG"/>

     </WITH>

     <DO>

          <PROPERTY source='pt_lang' name='VALUE'/>

     </DO>

</ON_EVENT>

Durch diese Regel wird im neuen Textfeld (pt_lang) das Sprachkürzel der aktuellen Sprache gespeichert

3. Füge deinem FS_BUTTON einen Parameter hinzu, der den Wert aus dem neuen Textfeld übergibt

<PARAM name="currentLanguage">#field.pt_lang</PARAM>

Auf diesen Parameter kannst du in deinem Skript zugreifen und mit dem Kürzel arbeiten.

Viele Grüße

Tim

View solution in original post

2 Replies
pavone
I'm new here

Hallo,

du könntest Folgendes probieren:

1. Lege in deinem Formular mit dem FS_BUTTON ein verstecktes Textfeld an (pt_lang)

2. Füge folgende Regel hinzu

<ON_EVENT>

     <WITH>

          <PROPERTY source="#global" name="LANG"/>

     </WITH>

     <DO>

          <PROPERTY source='pt_lang' name='VALUE'/>

     </DO>

</ON_EVENT>

Durch diese Regel wird im neuen Textfeld (pt_lang) das Sprachkürzel der aktuellen Sprache gespeichert

3. Füge deinem FS_BUTTON einen Parameter hinzu, der den Wert aus dem neuen Textfeld übergibt

<PARAM name="currentLanguage">#field.pt_lang</PARAM>

Auf diesen Parameter kannst du in deinem Skript zugreifen und mit dem Kürzel arbeiten.

Viele Grüße

Tim

Works like a charm.

INFO  22.08.2014 10:47:15.491 (de.espirit.firstspirit.access.BaseContextImpl): Aktuelle Sprache ist DE

INFO  22.08.2014 10:47:25.999 (de.espirit.firstspirit.access.BaseContextImpl): Aktuelle Sprache ist EN

Ich hatte gedacht, die Sprache ließe sich irgendwie über den ScriptContext ermitteln. Aber mit diesem pragmatischen Workaround kann ich gut leben.

Danke!

0 Kudos