INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Multilinguales LV-Programm



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

13.01.2007, 08:48
Beitrag #4

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Multilinguales LV-Programm
' schrieb:Vorstellen kann ich mirs zwar nicht, daß es auf meine Frage ein befriedigende Antwort gibt, aber in der Not klammert man sich eben an jeden Strohalm.
Gibt es eine pfiffige Möglichkeit, mit vertretbarem Aufwand alle Texte, oder wenigstens die Benennungen aller Bedienelemente, variabel zu machen, z.B Deutsch/Englisch, so daß man in einem Voreinstellungsmenü ein Auswahl treffen kann?
Die Alternative wären 2 getrennte Programme. Der Aufwand für ein solches zusätzliches Programm wäre nicht allzu hoch, aber das ist keine elegante Lösung, weil man dann leicht in Schwierigkeiten bei der Versionspflege kommt.

nicht, verzweifeln, ich hab sowas schonmal gemacht, das geht gut, ist aber n büschen Arbeit ...

Der Trick ist folgender: Jedes Control hat eine Caption. Die Caption kann ein und ausgeblendet werden und zur Laufzeit per Eigenschaftsknoten geändert werden. Ich hab mir ein Tool erstellt, dass alle Controls in einem VI mit eingeblendeter Caption "einsammelt" und in eine Text-Datei schreibt. Damit hab ich mir quasi eine Liste der Controls erzeugt, die zur Laufzeit übersetzt werden können.

Das Format dieser Textdatei kannst du dir nun nach deinen Bedürfnissen zusammenbasteln, ich glaube ich hatte 6 Spalten pro Sprache für Caption, Tipstrip, Boolean Text, blablabla ... Die Datei wurde bei Bedarf (=Umschaltung der Sprache) eingelesen und die Strings aus den entsprechenden Spalten wurden auf die Controls "angewandt".

Vorab gibt es folgendes zu überlegen: Ist es wirklich nötig die Sprache zu Laufzeit umzuschalten? Es ist nämlich einfacher die VIs "offline" zu übersetzen und eine deutsche, englische, spanische, etc ... *.exe rauszugeben, das könnte man auf die gleiche Art erledigen, nur, dass man eben die "ich änder mein Control soundso" VIs nicht mit einkompilieren muss - eine Fehlerquelle weniger.

Vermutlich wirst du auf die Frage stoßen: was mach ich mit String-Konstanten, die z.B. als Format-Specifyer oder als Input für eine DLG-Box dienen, usw ... ich hab den schmutzigen Trick verwendet, dass ich aus den Konstanten Controls gemacht habe, mit dem Prefix CONST_ in der Caption und bei diesen Controls auch den Text (Value) geändert habe und als Standardwert festgelegt habe ... klappt ganz gut

zum Thema Versionspflege: man kann das ganze auch noch so aufbohren, dass man die Übersetzungen in einer DB pflegt und die Versionsnummer mitschleppt ...

elegant ... hmm ... naja, gut äh ... das Problem haben alle Programmierer, bei C/C++ schleppt man dann halt seine Ressourcen-Datei mit, auch nicht schön und pflegen muss man das Ding auch ...

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Multilinguales LV-Programm - Lucki - 12.01.2007, 17:47
Multilinguales LV-Programm - Y-P - 12.01.2007, 18:02
Multilinguales LV-Programm - IchSelbst - 12.01.2007, 20:24
Multilinguales LV-Programm - cb - 13.01.2007 08:48
Multilinguales LV-Programm - Lucki - 13.01.2007, 12:18
Multilinguales LV-Programm - cb - 13.01.2007, 14:09
Multilinguales LV-Programm - Lucki - 15.01.2007, 16:04

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  programm in anderem Programm einbinden maier_m 1 4.024 04.04.2006 09:19
Letzter Beitrag: eg

Gehe zu: