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!
Hallo,
ich bin neu hier im Forum und habe eine für meine Verhältnisse komplizierte Frage.
Ich bin ein absoluter LabVIEW Neuling und weiß deshalb gar nicht so genau wie ich das erklären soll.
Ich versuche es einfach mal.
Ich habe ein bestehendes Programm, welches zur Zeit komplett auf deutsch ist.
Meine Aufgabe ist es, das Programm mehrsprachig zu gestallten.
Es soll folgendermaßen werden:
In dem Ordner des Programms soll eine Liste mit allen Labels sein. Wenn ich dann eine andere Sprache verwenden möchte, tausche ich einfach die Liste aus. Das hieße ja für mich, dass ich eine Datei für jede Sprache erstellen muss. Was nehme ich da am Besten für eine Datei? Eine Text-datei oder eher ein Exceldokument? Wie kann ich diese Datei dann dementsprechend einbeziehen?
In wie fern kann man die Labels überhaupt ändern?
Ich hoffe ich habe euch jetzt nicht zu viel aufeinmal gefragt.
Vielen Dank schonmal.
Gruß
Andy
die Labels kannst du beliebig ändern, die Captions bleiben fest. Das passiert über Property Nodes. Die verschiedenen Controls kannst über ihre Referenz ansprechen. Die verschiedenen Sprachen würde ich in eine ini-Datei schreiben: Sections stellen die Sprachen dar, die Keys sind die Captions, der Wert des Keys entspricht dem Label.
Für die ini-Dateien gibts in LV und hier im Forum Beispiele, das Ansprechen der Controls kannst du z.B. kriegen, indem du alle Controls auf ein Tab-Element setzt, und dieses mit der Property "AllContols" ausließt. Dann hast du die Referenzen auf alle Bedien- und Anzeigeelemente in nem Array und kannst dieses in ner For-Schleife abarbeiten.
Meld dich, wenn du konkrete Fragen hast!
Gruss + viel Erfolg
Achim
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Vielen Dank erstmal für die schnelle Antwort.
Ich habe jetzt leider noch einen wichtigen Termin und muss deshalb jetzt schon Feierabend machen.
Ich werde mich morgen mal genauer damit beschäftigen, aber ich befürchte, dass ich noch einige Erklärungen brauche. Aber wie gesagt ich muss mir das morgen mal genauer anschauen, vielleicht ist es ja gar nicht so schlimm wie es im Augenblick aussieht.
Gru0
Andy
Bis morgen
Guten Morgen,
ich habe mich jetzt mal etwas genauer mit all dem auseinander gesetzt.
Ich glaube das mit der ini Datei ist genau richtig für das was ich vor habe.
Aber wie schon erwähnt habe ich wenig bis gar keine Ahnung von LabVIEW.
Woher weiß ich welche Bauteile du in dem Beispiel verwendet hast? Denn eigentlich ist dein Beispiel ja schon genau meine Lösung, nur dass ich nicht speichern muss sondern nur Auslesen.
Ginge es vielleicht das etwas genauer zu beschreiben? Welches Bauteil erfüllt welchen Zweck usw.
Oder sprengt das den Rahmen?
Gruß
Andy
Hallo Achim,
ich habe mich jetzt mal etwas näher mit dem Thema beschäftigt.
Ich hätte auch eine Lösung, aber es wäre sehr aufwändig, da ich ca. 500-700 Sequenzen bauen müßte.
Du hattest in deiner ersten Antwort etwas von Tab Elementen und AllControls geschrieben. Ich habe darüber in der LV Hilfe leider nichts gefunden.
Kann ich damit einige schritte zusammenfassen, bzw. Die komplette ini in einem Schritt auslesen und die Labels ändern?
Gruß
Andy
hier mal ein "Quick-and-Dirty"-Beispiel. Das lesen kann man natürlich noch ganz prima als SubVI speichern, und man kann das ganze verfeinern, indem man etwa die Elemente, wo jetzt "notfound" hingeschrieben wird, auch noch integriert oder dort auch den Fehler abfängt. Damit an diesen Stellen nicht ständig ein Fehlerdialog aufpoppt, hab ich dort, wo das Caption geschrieben wird, "Ignore Error inside node" aktiviert (rechtsklick auf den PropertyNode).
Speichere beide Dateien (VI und ini) im gleichen Ordner ab, sonst klappts nicht. Ich bau den Pfad für die Inidatei nämlich zusammen...
Offenbar kann man *.ini-Dateien hier nicht hochladen. Bastel dir deswegen bitte selber ein "language.ini" mit folgendem Inhalt:
könnte man nicht auch die Funktion "String exportieren" und "String importieren" nutzen.
So kann man einmal alle String exportieren, diese übersetzen in welche Sprachen man möchte und man kann sogar diese Dateien wahrend der Laufzeit nachladen, also wärend des laufenden Programmes die Sprache verstellen.