Übersetzen von VIs
- Aktualisiert2025-08-27
- 6 Minute(n) Lesezeit
Das Übersetzen eines VIs in eine andere Sprache erfordert ein Exportieren der VI-Strings in eine getaggte Datei, das Übersetzen der Datei und das Importieren der übersetzten Strings in das VI. Dieser Prozess wird als Lokalisierung bezeichnet. Lokalisierte Versionen von LabVIEW verwenden dieselben ausführbaren Dateien wie die US-amerikanische Version. Daher sind die lokalisierten Versionen auch mit der US-Version kompatibel.
Die getaggte Textdatei, auch bekannt als VI-String-Datei, enthält Angaben zum Lokalisieren des VI-Titels, der VI-Beschreibung, der Bedienelement-Untertitel und -Beschreibungen sowie zum Lokalisieren anderer Privatdaten von Bedienelementen. Da Beschriftungen von Bedienelementen nicht lokalisiert werden können, haben diese Elemente einen so genannten Untertitel. Durch den Export der VI-Strings in eine Textdatei erstellt LabVIEW einen Untertitel für jedes Bedienelement und ersetzt die Frontpanel-Beschriftung später durch den übersetzten Untertitel.
Das Lokalisieren geht jedoch über das Übersetzen der Strings auf dem Frontpanel hinaus. Durch Konvertieren von Zahlen in Strings können auch länderspezifische Dezimalzeichen verwendet werden. Mit Hilfe der Funktion Datum/Zeit formatieren kann die Anzeige von Datum und Uhrzeit festgelegt werden.
Folgende Strings können lokalisiert werden:
- VI-Fenstertitel und -beschreibungen
- Objektuntertitel und -beschreibungen
- Freie Beschriftungen
- Standarddaten (String-, Tabellen-, Pfad- und Array-Standarddaten)
- Privatdaten (Namen von Listenfeld-Elementen, Titel von Tabellenzeilen und -spalten, Namen von Graphen, Graph-Cursorn und Graph-Kommentaren).
- Blockdiagramm-Strings (freie Beschriftungen und String-Konstanten), falls angegeben
Schreibregeln für VI-String-Dateien
Das Format einer VI-String-Datei ähnelt dem einer HTML-Datei. Das System kennzeichnet jedes Element mit einem Start- und einem End-Tag. Ein Start-Tag beginnt mit < und endet mit >. Ein End-Tag beginnt mit </ und endet mit >. Alle nicht darstellbaren Zeichen außerhalb von Text werden ignoriert. Da das Zeichen < den Beginn eines Tags kennzeichnet, verwendet LabVIEW << für das Kleiner-als-Zeichen in Text. Analog verwendet LabVIEW für das Größer-als-Zeichen >>. LabVIEW ersetzt das doppelte Anführungszeichen durch "". Des Weiteren kennzeichnet LabVIEW Zeilenendzeichen mit <CR> (Wagenrücklauf), <CRLF> (Wagenrücklauf gefolgt von einem Zeilenvorschub) oder <LF> (Zeilenvorschub). Das Format der VI-String-Datei soll maschinenlesbar sein. Für Sie ist die Datei daher möglicherweise nicht sonderlich leicht lesbar. Jede Zeile einer Exportdatei enthält maximal zwei Tags für Privat- oder Standarddaten. In LabVIEW werden die Elemente auch auf jeder Unterebene eingerückt. Wenn Sie Tags ändern oder löschen, gibt LabVIEW beim Import der Datei in das VI Fehlermeldungen aus. Unter dem Thema Beispiel für exportierte VI-Strings finden Sie eine Beispieltextdatei mit exportierten VI-Strings.
In der folgenden Tabelle sind die VI-Tag-Typen und die entsprechende VI-Tag-Syntax dargestellt.
| VI-Tag-Typ | VI-Tag-Syntax |
|---|---|
| [VI-String-Datei]. | <VI [VI-Attribute] > [VI-Info] </VI> |
| [VI-Attribute]. | syntaxVersion=5 LVversion=nnn revision=nnn name="text" |
| [VI-Info]. | [VI-Titel] [Beschreibung] [Inhalt] [BD-Inhalt] |
| [VI-Titel]. | <TITLE>text</TITLE>|.<TITLE><NO_TITLE></TITLE>. |
| [Beschreibung]. | <DESC>Text</DESC>. |
| [Inhalt]. | <CONTENT>[Grouper] [Objekte]</CONTENT> |
| [BD-Inhalt]. | <BDCONTENT>[BD-Objekte] </BDCONTENT> |
VI-Attribute werden durch ein Leerzeichen getrennt. Zwischen Attributnamen und folgendem Gleichheitszeichen sowie zwischen Gleichheitszeichen und Attributwert ist kein Leerzeichen erlaubt.
Beispiel:
<VI syntaxVersion=5 LVversion=4502007 revision=10 name="AO Generate Waveform.vi">
<TITLE>AO Generate Waveform.vi</TITLE>
<DESC>Erzeugt am angegebenen Ausgabekanal einen getakteten, einfach gepufferten Signalverlauf mit der angegebenen Update-Rate.</DESC>
<CONTENT>
........
</CONTENT>
</VI>
In der folgenden Tabelle werden die Tags, die den Inhalt des Frontpanels beschreiben (freie und zu Objekten gehörige Beschriftungen, Untertitelbeschriftungen, Attribute), und die entsprechende Syntax dargestellt.
| Inhalts-Tag-Typ | Inhalts-Tag-Syntax |
|---|---|
| [Inhalt] | <CONTENT>[Grouper] [Objekte]</CONTENT> |
| [Grouper] | <GROUPER>[Teile]</GROUPER> |
| [Objekte] | ([Element] | [Beschriftung]) * |
| [Element] | <CONTROL [Elementattribute]> [Element-Info] </CONTROL> |
| [Beschriftung] | <LABEL>[Darstellung] </LABEL> |
| [Darstellung] | <STEXT>Text mit Angaben zur Schriftart </STEXT> |
Zwischen <STEXT> und </STEXT> können Sie Schriftartspezifikationen eingeben. LabVIEW kodiert Schriftartinformationen mit Hilfe des folgenden Formats: <FONT name="font name" size='3' style='BIUSO' color=00ff00>. Schriftartattribute können in beliebiger Reihenfolge aufgeführt werden. Schriftartspezifikationen unterscheiden sich von anderen Elementen, da sie kein End-Tag haben. So können Sie beispielsweise einen Untertitel mit dem Text "FettgedruckteBeschriftung" wie folgt beschreiben:
<LABEL><STEXT><FONT name="times new roman" size=12 style='B'>Bold <FONT style='I'>label</STEXT></LABEL>
Schriftarten können als predef definiert werden, um eine der folgenden vordefinierten Schriftarten festzulegen: Anwendungsschriftart, Systemschriftart oder Dialogschriftart.
Die Tags <GROUPER></GROUPER> umschließen zu einer Gruppe zusammengefasste Frontpanel-Objekte. Diese Tags umschließen auch durch Trennbalken definierte Bildschirmbereiche. Da das Frontpanel grundsätzlich mindestens einen Bildschirmbereich enthält, enthält auch die VI-String-Datei mindestens einen Satz der Tags <GROUPER></GROUPER>. Auch Cluster enthalten Bildschirmbereiche.
In der folgenden Tabelle werden die Tags der Objekte, die Daten enthalten, und die entsprechende Tag-Syntax dargestellt.
| Inhalts-Tag-Typ | Inhalts-Tag-Syntax |
|---|---|
| [Element] | <CONTROL [Elementattribute]> [Element-Info] </CONTROL> |
| [Elementattribute] | ID=xxx type="Boolean" name="switch" |
| [Element-Info] | [Beschreibung] [Tipp] [Teile] [Abschnitt - Privatdaten] [Abschnitt - Standarddaten] [Inhalt] |
| [Tipp] | <TIP>Text</TIP> |
| [Teile] | <PARTS> [Teil]*</PARTS> |
| [Teil] | <PART [Teilattribute]> [Teil-Info] </PART> |
| [Teilattribute] | partID=nnn partOrder=nnn |
| [Teil-Info] | [Element]|[Beschriftung]|[mehrereBeschriftungen] |
Nachfolgend sehen Sie ein Beispiel einer Ringelement-Beschreibung mit der Beschriftung "Ring" und Optionen Load, Unload, Open und Close.
<CONTROL ID=87 type="Ring" name="RINGcontrol">
<DESC>Ringelement</DESC>
<PARTS>
<PART ID=12 order=0
type="Ringtext"><MLABEL><STRINGS><STRING>Load</STRING><STRING>Unload</STRING><STRING>Open</STRING><STRING>Close</STRING></STRINGS></MLABEL></PART>
<PART ID=82 order=0 type="Untertitel"><LABEL><STEXT><FONT color=FF0033 size=12>Ring</STEXT></LABEL></PART>
</PARTS>
</CONTROL>
LabVIEW verwendet das MLABEL-Tag (Mehrfachbeschriftung) oben, um den Options-String am Ringbedienelement oder die Strings an booleschen Schaltflächen (ein String für jeden der vier Zustände) zu kennzeichnen. Das folgende Beispiel zeigt eine allgemeine Beschreibung der MLABEL-Tag-Syntax:
[multiLabel]<MLABEL> [mlabel info] </MLABEL>
[mlabel info][font][strings]
In der folgenden Tabelle werden die Tags, die die Standarddaten für Strings, Tabellen, Arrays und Pfade beschreiben sowie die entsprechende Tag-Syntax angezeigt.
| Inhalts-Tag-Typ | Inhalts-Tag-Syntax |
|---|---|
| [Abschnitt - Standarddaten] | <DEFAULT> [Standarddaten] </DEFAULT> |
| [Standarddaten] | [String-Standard]|[Tabelle - Standard]|[Array-Daten]|[Pfaddaten] |
| [String-Standard] | [String]|<SAME_AS_TEXT> |
| [Tabelle - Standard] | [Strings] |
| [Array-Daten] | <ARRAY nElems=n> [Array-Elementdaten] </ARRAY> |
| [Array-Elementdaten] | [Cluster-Daten]|[String-Daten]|[Nicht-String-Daten] |
| [String-Daten] | [String] |
| [Nicht-String-Daten] | <NON_STRING> |
| [Cluster-Daten] | <CLUSTER nElems=n> [Cluster-Elementdaten] </CLUSTER> |
| [Cluster-Elementdaten] | [Cluster-Daten]|[String-Daten]|[Nicht-String-Daten]|[Array-Daten]|[Pfaddaten] |
| [Pfaddaten] | <PATH type ="absolute"> a<SEP> system </PATH> |
Bei [Array-Daten] muss n [Array-Elementdaten] dem Tag <ARRAY> folgen. Analog muss bei [Cluster-Daten] n [Cluster-Elementdaten] dem Tag <CLUSTER> folgen.
Verwenden Sie bei den Standarddaten des String-Elements [String-Standard] das spezielle Tag <SAME_AS_LABEL>. Dieses Tag kennzeichnet, dass die String-Standarddaten identisch sind mit der Textbeschriftung an der String-Teileliste. Wenn Sie <SAME_AS_LABEL> verwenden, müssen Sie nicht denselben Text für die Beschriftung und die String-Standarddaten separat eingeben.
Bei Standarddaten für das Pfad-Bedienelement [Pfaddaten] kann das Start-Tag <PATH> ein Attribut haben, das den Pfadtyp spezifiziert. Mögliche Attributwerte sind "absolute", "relative", "not-a-path" und "unc". Das Tag <SEP> trennt die Pfadsegmente zwischen den Tags <PATH> und </PATH>. Auf einer Windows-Plattform beispielsweise wird der absolute Pfad c:\windows\temp\temp.txt wie folgt geschrieben:
<PATH type="absolute">c<SEP>windows<SEP>temp<SEP>temp.txt</PATH>
Die folgenden beiden Tabellen zeigen Privatdaten beschreibende Tags und die entsprechende Tag-Syntax.
| Inhalts-Tag-Typ | Inhalts-Tag-Syntax |
|---|---|
| [Abschnitt - Privatdaten] | <PRIV> [Privatdaten]* </PRIV> |
| [Privatdaten] | ([Strings]|[Spaltentitel]|[Zeilentitel]|[Zellenschriftart]|[Plots]|[Cursor]|[Pfad - Privatdaten]|[Registerkarte - Privatdaten]) |
| [Strings] | <STRINGS> [String]* </STRINGS> |
| [String] | <STRING> Text </STRING> |
| [Spaltentitel | <COL_HEADER> [String]* </COL_HEADER> |
| [Zeilentitel] | <ROW_HEADER> [String]* </ROW_HEADER> |
| [Zellenschriftart] | <CELL_FONTS> [Zellenschriftart]* </CELL_FONTS> |
| [Plots] | <PLOTS> [String]* </PLOTS> |
| [Cursor] | <CURSORS> [String]* </CURSORS> |
| [Zellenschriftart] | [Zeilennr. Spaltennr.][Schriftart] |
| [Schriftart] | <FONT name="font name" size='x' style='BIUSO' color=000000> |
| [Pfad - Privatdaten] | <PROMPT>Text</PROMPT> <MTCH_PTN>TEXT</MTCH_PTN> <STRT_PTH>[Pfaddaten]</STRT_PTH> |
| [Registerkarte - Privatdaten] | <PAGE_CAPTIONS>[String]*</PAGE_CAPTIONS> |
| [Registerkartenseite] | <PAGE> [Beschreibung] [Tipp] [Objekte] </PAGE> |
| Inhalts-Tag-Typ | Inhalts-Tag-Syntax |
|---|---|
| [BD-Inhalt] | <BDCONTENT> [BD-Objekte]</BDCONTENT> |
| [BD-Objekte] | ([Element]|[Beschriftung]|[Knoten])* |
| [Knoten] | <NODE [Knotenattribute]>[Knoten-Info]</NODE> |
| [Knotenattribute] | ID=xxx type="Sequence" |
| [Knoten-Info] | [Beschreibung] [BD-Element] |
Bearbeiten von VI-Fenstertiteln
Der Fenstertitel von VIs lässt sich ändern, um ihn aussagekräftiger als den Dateinamen des VIs zu formulieren. Dies ist für lokalisierte VIs sehr wichtig. Der VI-Fenstertitel, der nicht den Benennungseinschränkungen des Dateisystems unterliegt, kann lokalisiert werden. Das VI wird dennoch von den VIs erkannt, die es möglicherweise aufrufen, da das aufrufende VI das SubVI mit dem Dateinamen und nicht mit dem Titel aufruft. Lokalisieren Sie den Fenstertitel mit Hilfe der Export/Import-Werkzeuge oder verwenden Sie die Seite Fenstererscheinungsbild des Dialogfelds VI-Einstellungen, um den VI-Fenstertitel während der Bearbeitung eines VIs manuell zu ändern. Sie können den VI-Fenstertitel auch mithilfe des VI-Servers programmatisch ändern.
Dezimalzeichen Punkt und Komma
Standardmäßig wird in LabVIEW das Dezimalzeichen verwendet, das im Betriebssystem eingestellt ist. Hierdurch wird die Anzeige von Zahlen in Bedienelementen und der Betrieb von Funktionen beeinflusst, die zwischen Zahlen und Strings konvertieren. Bei der Übergabe von Zahlen als Zeichenketten an Instrumente oder der Analyse von Instrumenten-Ausgabe-Strings führt dies zu Problemen.
Folgende Funktionen verwenden standardmäßig die Einstellungen des Betriebssystems. Wenn Sie ein Komma benötigen, müssen Sie einen FALSE-Wert mit dem booleschen Eingang Dezimalzeichen des Systems verwenden (+) verbinden.
- Bruch-/Exponential-String nach Zahl
- Zahl nach String (Fließkommadarstellung)
- Zahl nach String (Exponentialdarstellung)
- Zahl nach String (Technische Notation)
Bei Funktionen, die einen Format-String übernehmen, kann der Formatcode %x, bei dem x das Trennzeichen darstellt, verwendet werden, um das Dezimalzeichen für diesen spezifischen Aufruf festzulegen. Zu diesen Funktionen gehören:
- In String formatieren
- In String suchen
- Wert formatieren
- Nach Wert durchsuchen
- Array nach Tabellen-String
- Tabellen-String nach Array
- Tabelle mit Trennzeichen lesen
Klicken Sie auf Werkzeuge»Optionen, wählen Sie Frontpanel aus der Liste Kategorie und aktivieren Sie die Option Lokalen Dezimalpunkt verwenden, um festzulegen, ob die Systemeinstellungen (Standort) oder ein Punkt als Dezimalzeichen verwendet werden soll.
Anzeige von Datum und Zeit als String
Um das Anzeigeformat von Datum und Uhrzeit für Strings festzulegen, sollte standardmäßig die Funktion Datum/Zeit formatieren verwendet werden. LabVIEW liest die Einstellungen des Betriebssystems und zeigt das Datum und die Zeit in dem für den aktuellen Standort angemessenen Format an. LabVIEW gibt die Abkürzungen für Wochentage und Monatsnamen für Systeme, die Abkürzungen nicht unterstützen, wie z. B. Chinesisch und Koreanisch, als numerische Werte aus. Sie können die Anzeige auch durch Wahl der Option Anzeigeformat im Kontextmenü anpassen.
Format von Zeit und Datum für Elemente
Verwenden Sie das Zeitstempel-Element, um absolute Zeitwerte mit hoher Genauigkeit zu verwenden, darzustellen und zu speichern. Sie können über die Option Anzeigeformat im Kontextmenü und Konfiguration der Seite Anzeigeformat ein individuelles Format oder ein Systemformat (standortspezifisch) auswählen. Zeitwerte können auch mit einem numerischen Element angezeigt werden. Jedoch ist die Zeitangabe in diesem Fall relativ. Das Zeitstempelelement kann absolute Zeitangaben darstellen.