Hallo,
in einem mehrsprachigen Setupprojekt habe ich folgendes Problem:
Zur Installation unserer Software ist es nötig einige Elemente über zu lokalisierende Stringtable-Einträge zu benennen.
Auf die Strings wird mit Hilfe von InstallScript zugegriffen, was prinzipiell kein Problem darstellt.
Während der Installation der Software tritt jedoch ein merkwürdiges Phänomän auf:
Nach der Wahl der Setupsprache (z.B. Französisch) werden alle Dialogelemente mit der korrekten Sprache dargestellt. Alle lokalisierten Eigenschaften erhalten ebenfalls die französischen Inhalte. Sobald jedoch InstallScript via @-Operator auf Stringtabelleneinträge zugreift wird die Standardsprache (Englisch) verwendet. Das Ergebnis ist demzufolge eine französische Software mit teilweise englischen Einträgen.
Da an vielen Stellen im Setup bereits direkt auf Stringtabelleneinträge direkt verwiesen wird, ist eine Umstellung auf zu lokalisierende Properties nicht unbedingt sinnvoll. Teilweise werden die Funktionen verzögert ausgeführt, was wieder ewig lange Parameterlisten für die CA bedeuten würde.
Kennt jemand eine einfachere Möglichkeit, um dieses Problem zu lösen?
Ich bin für jede Hilfe sehr dankbar!
MFG
Sascha
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Mehrsprachiges Setup
Started by
sascha5782
, Nov 05 2008 14:10
2 replies to this topic
Posted 12 November 2008 - 12:02
In neueren InstallSield-Versionen wird für jede Custom Action eine neue Instanz der InstallScript Engine gestartet. Deshalb gibt es z.B. keine globalen Variablen mehr. Evtl. geht dabei die Sprachauswahl verloren (insbesondere bei Deferred Actions). Aber das ist nur so eine IDee, ich weiß es nicht wirklich.
Stefan Krüger
InstallSite.org twitter facebook
Posted 12 November 2008 - 13:07
Vielen Dank für Ihre Hilfe!
Ich habe in den letzten Tagen versucht zusätzliche Informationen über das Thema zu finden. Es ist wohl so, dass die Instanz der InstallSript Engine keinen Zugriff auf die transformierten Stringtables hat. Somit ließe sich auch erklären, weshalb die Strings der Standardsprache geladen werden.
Ich werde nun doch das gesamte Projekt umstrukturieren und ausschließlich auf lokalisierbare Eigenschaften über deferred Actions zugreifen.
Ich habe in den letzten Tagen versucht zusätzliche Informationen über das Thema zu finden. Es ist wohl so, dass die Instanz der InstallSript Engine keinen Zugriff auf die transformierten Stringtables hat. Somit ließe sich auch erklären, weshalb die Strings der Standardsprache geladen werden.
Ich werde nun doch das gesamte Projekt umstrukturieren und ausschließlich auf lokalisierbare Eigenschaften über deferred Actions zugreifen.