You can use QET_ElementScaler to check, if the file contains valid XML!
See also this post: https://qelectrotech.org/forum/viewtopi … 819#p20819

In this case the output of QET_ElementScaler is this:

$ QET_ElementScaler PV_Base_B_Detail_V0.9.qet
File "PV_Base_B_Detail_V0.9.qet" could not be loaded: Start-end tags mismatch
Check file up to byte-offset: 91 -- content partly shown here:
(...)l" version="0.90">
    <properties>
        W-01-2026</property>
        <property name="savedfilepath" show="(...)
$

As Achim already said, you can/should use a text-editor to fix the erratic tags.

How shall we find out why a file cannot be opened by QElectroTech when we do not have the file and do not have any meaningful error messages?
“Does not work with version 0.9!” is not very helpful!
A solution to your problem can be:
Use your own intelligence and create your circuit diagrams with QET!

3

(6 replies, posted in Code)

It seems that we do not need qt-version-check to disable randomisation:
Adjusted patch: https://github.com/qelectrotech/qelectr … /pull/415/

4

(157 replies, posted in Code)

Joshua wrote:

Why remove kautosavefile and kwidgetaddon (...)? Have I missed something?

It's sad that elevatormind is no longer participating here!
He contributed several pull requests for eliminating KF5/KF6 and introduced a number of changes to QETs code to compile/work under Qt6, which he also explained and described here in the forum.

Hallo Stefan,

stefan.gimpl wrote:

Bei einer Klemme werden die Eigenschaften des angeschlossenen Drahtes von dem Leiter auf der ersten Seite auf den Leiter der anderen Seite übergeben. Sprich wird auf der einen Seite die Drahtfarbe gändert ändert sich auch die Drahtfarbe auf der zweiten Seite. Ebenso der Drahtdurchmesser.

Das Verhalten ist so gewollt:
Alle Leiter an einer Klemme haben per Definition dieselben Eigenschaften.
Aus elektischer und sicherheitstechnischer Sicht ist das Ändern z.B. des Leiter-Querschnitts vor und hinter einer Klemme nicht sinnvoll!
Dazu gibt es bereits mehrere Diskussionen hier im Forum.

stefan.gimpl wrote:

Wenn ich eine Klemme habe und es sind auf beiden Seiten unterschiedliche Drähte angeschlossen (Schaltschrank 1mm² blau/Abgang 1,5mm Adernummer 1), somit möchte ich für diese beiden Anschlüsse/Drähte getrennte Eigenschaften eingeben.

Wenn Du eine "Klemme" haben willst, die die Eigenschaften nicht an alle Anschlüsse übernimmt, übernehme die Klemme in deine Benutzersammlung und definiere sie als "Einzelbauteil". Dann sieht es aus wie eine Klemme, ist es für QET aber nicht. Ob dann das Klemmenplan-Plugin oder der Klemmleisten-Manager noch wie gewünscht funktionieren, habe ich nicht ausprobiert.

stefan.gimpl wrote:

Kann mir jemand die Funktion der Klemme "Generisch/intern/extern" erklären? Hilft dies hier event. weiter? Konnte noch keinen Unterschied in der Zuordung finden.

So wie ich das sehe, ist damit im Moment noch keine Funktion im Quellcode verbunden...

Gruß
  plc-user

6

(6 replies, posted in Code)

An die Haupt-Entwickler:

Salut Joshua !
Salut Laurent !

English follows below!

Brauchen wir bei QET zufällige Hashes, die irgendwas verschlüsseln, oder so? Die einzigen zufälligen Zahlen, die ich sehe, sind die UUIDs in den Elementen. Aber vielleicht übersehe ich auch etwas...

Grund der Frage:
Die XML-Tags in den Element- und Projekt-Dateien werden bei jedem Abspeichern durcheinandergewürfelt, da die Informationen dazu in Hashes gespeichert werden, deren zugrundeliegende Zufallszahl regelmäßig erneuert wird.
Wenn wir auf die zufällige Sortierung in den Hashes verzichten können, können wir dafür beim Start von QET einen Vorgabewert an Qt geben, sodass die Sortierung der XML-Tags von einem Speichervorgang zum nächsten nicht komplett durcheinandergewürfelt werden!
Bei Projektdateien wird das XML regelmäßig aus der internen SQlite-DB neu erzeugt, und daher sind die Tags nicht immer in derselben Reihenfolge.
Bei Element-Dateien scheint es aber sehr gut zu funktionieren, dass die Tags nicht gemischt werden, wenn die Randomisierung abgeschaltet ist! Auf diese Art werden DIFFs von Element-Dateien nicht so groß, wenn nur eine Kleinigkeit daran geändert wird, wie z.B. das Hinzufügen einer weiteren Sprache.

Einen Patch habe ich in meinem github-repository vorbereitet.

Gruß
  plc-user


English translation:

To the main-developers:

Do we need random hashes with QET that encrypt something or something like that? The only random numbers I see are the UUIDs in the elements. But maybe I'm overlooking something...

Reason for the question:
The XML tags in the element and project files are mixed up every time they are saved, because the information is stored in hashes whose underlying random number is regularly renewed.
If we can do without the random sorting in the hashes, we can give Qt a default value when starting QET so that the sorting of the XML tags is not completely mixed up from one save operation to the next!
For project files, the XML is regularly regenerated from the internal SQlite DB, so the tags are not always in the same order.
However, for element files, it seems to work very well that the tags are not mixed when randomization is turned off! This way, DIFFs of element files do not become so large when only a small change is made, such as adding another language.

I prepared a patch in my github-repository.

Best regards,
  plc-user

7

(4 replies, posted in Elements)

Es wird jedenfalls schöner und passender, wenn alle denselben Maßstab haben:
Dann kann man nach dem Aufbauplan ein passendes Gehäuse wählen und muss nicht schätzen!

8

(4 replies, posted in Elements)

Hallo Jürgen,

bitte suche im Forum nach "Maßstab"!
Im Suchergebnis sind auch weitere Posts verlinkt, die zu diversen Diskussionen führen, die das Thema seit Jahren behandeln.

Wenn in einem Aufbauplan unterschiedliche Maßstäbe verwendet werden, kommt nix Gescheites dabei raus!
Deswegen habe ich auch schon einige Frontansichten der Sammlung auf 1mm <-> 2px skaliert, damit wir einen Maßstab haben!
Ich sehe es aber nicht wirklich ein, den Schrott von anderen alleine ausbessern zu müssen: Es sind viele verschiedene Skalierungen vorhanden, wo sich wahrscheinlich jeder Ersteller gesagt hat: "Kommt doch ungefähr hin...!"
Krass ausgedrückt ist "kommt dem schon nahe" trotzdem falsch!

Why do we need to offer the plugin for download on the QET website?
GitHub has binary files for Linux and Windows in the corresponding repository:
https://github.com/raulroda/qet_tb_gene … aster/dist
There is no new version since 1.3.1 and these are available there.

@galexis:  "Do it yourself!"  nomicons/wink

10

(4 replies, posted in Elements)

Hallo Jürgen,

ich bleibe ausnahmsweise mal bei Deutsch...

Ich habe mir nur den Shelly genauer angesehen und dabei kommen mir diese Gedanken:
In anderen Threads im Forum haben sich mehrere Leute unter anderem für den DXF-Import darauf geeinigt, sowas wie einen "Maßstab" von 1mm <-> 2px einzuführen, wenn's um Frontansichten von Geräten geht. Das ist hier nicht eingehalten.

Wobei: Soll das ein Schaltplansymbol oder eine Frontansicht sein?

Eine Frontansicht hat meiner Meinung nach keine Anschlüsse (Terminals) und ein Schaltplansymbol sieht in den allermeisten Fällen nicht wie das reale Gerät aus, sondern bildet die elektrische Funktion nach.
Es handelt sich hier um eine Mixtur aus beidem, was bei Laien und Bastlern sehr beliebt ist! Im professionellen Bereich ist das meiner Erfahrung nach aber SEHR unüblich! Und wir wollen mit QET doch gerne professionell arbeiten, oder?

Wenn es für ein reales Gerät jeweils eine Frontansicht im "Maßstab" 1mm <-> 2px und ein separates Schaltplansymbol gäbe, brauchten auch keine überlappenden Leiter im Schaltplan befürchtet werden, weil z.B. zwei nach oben ausgerichtete Terminals dieselbe X-Position haben, wie es hier der Fall ist.

Terminals werden gerne auch auf einem 10 x 10 - Raster angeordnet, um automatisches Verbinden beim Ziehen des Bauteils auf's Folio zu ermöglichen.

Auf den ersten Blick sieht das Siemens-Teil sehr ähnlich aus, sodass meine Anmerkungen auch hier zutreffend sein werden.


Das mag im ersten Moment ein wenig niederschmetternd klingen, aber wenn wir uns bei den Elementen einmalig ein bisschen mehr Arbeit machen, kommen anschließend umso schönere, bessere und professionellere Schaltpläne und Aufbauzeichnungen dabei heraus!

Falls es dich tröstet: Viele der Elemente, die ich zu QET beigetragen habe, habe ich auch mehrmals angepasst...

Gruß
  plc-user

11

(157 replies, posted in Code)

Hello everybody,

scorpio810 wrote:

For now, I only provide Qt5 versions, but what will happen if they compile it themselves with Qt6?

I guess, the Qt6-version will come with an increased version-number, will it?
In that case we should add a warning, when opening an "old" file to choose "save as..." for saving the changes or to create a backup before going on!
If such a warning is also included in Release-Notes puts us developer in a safe position, I guess...!

Kellermorph wrote:

(...) automatically create a backup when a .qet file created with qt5 is opened with a qt6 version?

If there are hints in Release-Notes and an additional warning-message, when loading an "old" file ... I guess that should be enough: After all, the user is responsible for making backup copies of their data.


For the official element collection, we should completely revise the elements for the switch to Qt6. It might help that I already did this for the introduction of the Liberation fonts...

You can draw such plans with QET, but there is NO WAY to get a printed circuit from a QET-diagram!
Learn to use KiCad  ...  that software is made for electronic circuits and not very hard to use! nomicons/smile

13

(157 replies, posted in Code)

Hallo QET-Entwickler!
(English version follows)

Unabhängig von der letzten Änderung bezüglich der font-family haben wir eine Herausforderung!
In den vorhandenen Elementen wird von Qt5 die Schriftart-Information so gespeichert:

font="Liberation Sans,5,-1,5,50,0,0,0,0,0,Regular"

Wenn diese Element-Datei von der Qt6-Version von QElectroTech geöffnet und wieder gespeichert wird, wird die Schriftart-Information wie folgt gespeichert:

font="Liberation Sans,5,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular"

So weit so gut:
Die Schrift wird richtig in das neue Format übersetzt!

Sollte die Projekt- oder Element-Datei, die mit Qt6 gespeichert wurde, mit einer Qt5-Version geöffnet werden, werden die verwendeten Schriftarten nicht erkannt und daher ALLE Schriftarten auf einen Qt6-Standart "Sans Serif" und die Standart-Größe "9" gesetzt!
Dies zerstört im Zweifel also das gute Aussehen der Elemente, die mit der Qt6-Version von QET erstellt bzw. gespeichert wurden!

Wir müssen die Benutzer also darauf hinweisen, daß es keinen (einfachen) Weg gibt, die Projektdateien und die Elemente, die einmal mit der Qt6-Version gespeichert wurden, wieder mit älteren QET-Versionen zu öffnen!

Gruß
  plc-user



Englsh translation:

Hello QET-developers!

Regardless of the latest change about the font family, we have a challenge!
In existing projects and elements, Qt5 stores the font information as follows:

font="Liberation Sans,5,-1,5,50,0,0,0,0,0,Regular"

When this element file is opened and saved again by a Qt6 version of QElectroTech, the font information is stored as follows:

font="Liberation Sans,5,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular"

So far, so good:
The font is correctly converted to the new format!

However, if the project or element file saved with Qt6 is opened with a Qt5 version, the real fonts are not recognised and ALL fonts are set to the Qt standard ‘Sans Serif’ and the standard size ‘9’!
This may/will destroy the good appearance of the elements created/saved with the Qt6 version of QET!

We must therefore point out to users that there is no (easy) way to open project files and elements that were once saved with the Qt6 version using older QET versions!

Best regards
  plc-user

If you would attach a minimal example where the "problem" is shown, we maybe could help you...

Der Quellcode ist seit ein paar Tagen öffentlich verfügbar und oben verlinkt.
Wer ihn hätte lesen und bewerten wollen, hätte nur dem Link folgen müssen...

Im Original hat der Programmierer nicht daren gedacht, dass (meistens) nicht die komplette Bildschirmfläche für die Anwendung zur Verfügung steht, sondern durch die Task-Leiste und sonstige System-Anzeigen kleiner ist. Dies wird seit QT5 in einer separaten Funktion berücksichtigt, die ich nun für die Maximalgröße der Eigenschaften-Dialoge eingebaut habe.

Nachtrag:
Die Änderungen sind nun auch im offiziellen QET-Repo enthalten und inzwischen gibt es auch neue Release-Pakete für die verschiedenen Systeme.
Für mich sieht das Ergebnis auf Debian GNU/Linux und win gut und brauchbar aus!

The line thickness on paper depends on so many factors:
The thickness of the lines in the element, the number of columns/rows in the folio, the PDF viewer's interpretation of the line thickness, the printer driver, printer, etc.
Without seeing anything (QET file, PDF, etc.), it is impossible to say anything about this! Even if one could look at it, it would be difficult!
What is not possible: editing the line thickness of connections or elements in the diagram editor.
There is no way around it: you have to ‘tweak’ the settings yourself to adjust the line thickness on the paper.

Salut Grub !

I noticed that especially with commercial OS from Redmond...!

In my fork of QET at github I prepared a commit to fix this.
You compile QET for/on win? Maybe you can test these changes on your system, before we release them for general use?
On my Debian GNU/Linux Trixie (stable) and Forky/sid it looks good!

EDIT:
Improved code to determine maximum size of Config-Dialog.
Still waiting for response of user(s) who compile for/on win...

Regards
  plc-user

I do not know that module!

Take a look at the Mesa 7i77 in collection-tree:
There is a base-module with four terminals for Power-Supply and six separate modules with eight terminals each for TB7 and TB8.
You can only connect conductors to terminals of an element: no terminal -> no possibility to connect a conductor.
If you want to connect something to other parts than Power-Supply or TB7/TB8, you need to rework the existing elements or have to create new ones!
If you create new modules, please make sure, that the terminals are at positions that fit to the grid of 10x10 points, so that automatic connection can be done, when pulling the element to the folio. (The existing modules need to be reworked to match the grid!)

Addendum:
The elements in QET 0.100-dev have terminals at positions without decimals. Try to use those.

19

(35 replies, posted in Elements)

Salut Laurent !

scorpio810 wrote:

I just saw your last commits, many thanks to push an very clean Catatan translation PR without noise off XML random attibutes and font family changes, very good job! \o/ nomicons/wink

Thank you for the compliment!   nomicons/smile

To create this "clean" diff I used a script to add the translation from the same directory-structure as the official collection!
It searches the given directory for element-files and inside the files for the new translation, takes this and writes that to the same file in the structure of official collection.
Afterwards a new function of QET_ElementScaler sorts the localized names.

Here's the script:

#!/bin/bash
 
# Dieses Skript sucht nach Zeilen, die ein bestimmtes Muster enthalten,
# extrahiert diese und fügt sie in der Zieldatei nach einer Zeile ein,
# die ein anderes Muster enthält.
 
# Konfiguration
SourceDir="Antoni/"
DestDir="QET/"
# Muster, das in der Quelldatei gesucht wird, um Zeilen zu extrahieren
SOURCE_PATTERN="<name lang=\"ca\">"
# Muster, das in der Zieldatei gesucht wird, um die Einfügeposition zu finden (Einfügen erfolgt NACH dieser Zeile)
DEST_PATTERN="<names>"
 
# und nun in einer Schleife alle Element-Dateien bearbeiten
for SOURCE_FILE in  `find ./$SourceDir -name "*.elmt"` ; do
  DEST_FILE=${SOURCE_FILE/"$SourceDir"/"$DestDir"}
  # zur Kontrolle die Dateinamen aufschreiben
  #echo "Source: $SOURCE_FILE --> Destination: $DEST_FILE"
  # wenn die Ziel-Datei ncht existiert --> weiter!
  if [ ! -e "$DEST_FILE" ]; then
    echo "Destination-File '$DEST_FILE' does not exist --> use next SourceFile"
    continue
  fi
  # Wenn in der Ziel-Datei schon eine Zeile mit dem Muster existiert, dann nicht (!) einfügen
  LineInDestFile=$(grep "$SOURCE_PATTERN" "$DEST_FILE")
  if [ -n "$LineInDestFile" ]; then
      echo "Line with '$SOURCE_PATTERN' already exists in '$DEST_FILE'!"
      continue
  fi
  # Zeile(n) aus der Quelldatei extrahieren, die dem Muster entsprechen
  LINES_TO_INSERT=$(grep "$SOURCE_PATTERN" "$SOURCE_FILE")
  # Überprüfen, ob überhaupt Zeilen gefunden wurden
  if [ -z "$LINES_TO_INSERT" ]; then
    echo "Could not find '$SOURCE_PATTERN' in '$SOURCE_FILE'!"
    continue
  fi
  # die extrahierten Zeilen in die Zieldatei einfügen
  # --> sed mit der Option 'a' (append/anhängen nach der passenden Zeile)
  #     die Variable LINES_TO_INSERT kann mehrere Zeilenumbrüche enthalten: Formatieren für sed
  #     Zeilenumbrüche (\n) ersetzen durch das sed-spezifische Escaping (Backslash + tatsächlicher Zeilenumbruch)
  FORMATTED_INSERT=$(echo "$LINES_TO_INSERT" | sed 's/$/\\/')
  FORMATTED_INSERT=${FORMATTED_INSERT%\\} # letzten, unnötigen Backslash entfernen
 
  # sed-Befehl: Finde das Muster in der Zieldatei (/DEST_PATTERN/), hänge die formatierten Zeilen an (a\)
  # sed -i bearbeitet die Datei direkt.
  sed -i "/$DEST_PATTERN/a\\
  $FORMATTED_INSERT"
"$DEST_FILE"
 
  echo "Lines with '$SOURCE_PATTERN' have been inserted after '$DEST_PATTERN' in '$DEST_FILE'."
 
  # zum Schluss räumen wir die frisch ergänzte Datei ein wenig auf
  # und sortieren die Übersetzungen nach Länder-Kürzel:
  /usr/local/bin/QET_ElementScaler --OverwriteOriginal --OnlyCleanMeta "$DEST_FILE"
 
  done

I guess this script can be used in the future, if somebody creates another new language.

Gruß
  plc-user

20

(35 replies, posted in Elements)

Salut Laurent !

Unfortunately, replacing fonts involves manual work, as especially commercial operating systems from Redmond append localized parts to font descriptions and don't even shy away from spaces!
Here are a few examples from before the introduction of the Liberation fonts:

Arial,4,-1,5,75,1,0,0,0,0,Gras Italique
Arial Narrow,11,-1,5,75,0,0,0,0,0,Negrito
Arial Narrow Hu,9,-1,5,50,0,0,0,0,0, Normal
Calibri,6,-1,5,75,0,0,0,0,0,Bold
DINosaur Medium,9,-1,5,57,0,0,0,0,0,Medium
MS Shell Dlg 2,10,-1,5,50,0,0,0,0,0,Normál
MS Shell Dlg 2,1,-1,5,50,0,0,0,0,0,obyčejné
MS Shell Dlg 2,4,-1,5,75,0,0,0,0,0,Grassetto
MS Shell Dlg 2,4,-1,5,75,0,0,0,0,0,tučné
MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0,Félkövér
Sans Serif,4,-1,5,0,0,0,0,0,0,ncrmal
URW Gothic [urw],4,-1,5,63,0,0,0,0,0,Demi

As you can see, we definitely have to take the entire font string into account when replacing fonts.
I don't have a complete script for this, but the search/replace function in DoubleCommander helps to avoid having to deal with each file individually.
At least a “translation table” has to be created manually. I don't yet know what a script for processing the files should look like.
For the extraction of font-strings from element-files, I use this part of a bash-script:

for i in  `find . -name "*.elmt"` ; do
  cat "$i" | grep font=\" | awk -F "font=\"" '{ print $2 }' | \
             awk -F "\"" '{ print $1 }' >> /tmp/tempfile.txt
  done
cat /tmp/tempfile.txt | sort | uniq > /tmp/fontstrings.txt

With this list we need to check, which of the Liberation-fonts matches the original best and create a translation-table.

In my opinion, we should only include elements in the official collection that are limited to the four fonts supplied by QET!

21

(35 replies, posted in Elements)

@scorpio810:

Salut Laurent !

On the way to have a script to insert Catalan translation of names to existing elements, I updated elements with filenames containing blanks in their name by replacing blanks to underscores.
Stay tuned for upgraded elements with Catalan translations...  nomicons/wink

Gruß
  plc-user

22

(35 replies, posted in Elements)

Salut Laurent,

when we want the fonts to be replaced correctly, we need to include the quote-signs into replacement!
For example:
From the original Oldtimer-Elements in the other thread, we find these font-descriptions:

Noto Sans ExtraBold,10,-1,0,81,0,0,0,0,0,Regular
Noto Sans ExtraBold,5,-1,0,81,0,0,0,0,0,Regular
Noto Sans ExtraBold,6,-1,0,81,0,0,0,0,0,Regular
Noto Sans ExtraBold,7,-1,0,81,0,0,0,0,0,Regular
Noto Sans ExtraBold,9,-1,0,81,0,0,0,0,0,Regular
Sans Serif,10,-1,0,50,0,0,0,0,0
Sans Serif,10,-1,5,50,0,0,0,0,0
Sans Serif,12,-1,0,50,0,0,0,0,0
Sans Serif,12,-1,5,50,0,0,0,0,0
Sans Serif,15,-1,5,50,0,0,0,0,0
Sans Serif,30,-1,5,50,0,0,0,0,0
Sans Serif,3,-1,5,50,0,0,0,0,0
Sans Serif,4,-1,0,50,0,0,0,0,0
Sans Serif,4,-1,5,0,0,0,0,0,0,normal
Sans Serif,4,-1,5,25,0,0,0,0,0
Sans Serif,4,-1,5,50,0,0,0,0,0
Sans Serif,5,-1,5,25,0,0,0,0,0
Sans Serif,5,-1,5,50,0,0,0,0,0
Sans Serif,6,-1,0,50,0,0,0,0,0
Sans Serif,6,-1,5,0,0,0,0,0,0,normal
Sans Serif,6,-1,5,25,0,0,0,0,0
Sans Serif,6,-1,5,50,0,0,0,0,0
Sans Serif,6,-1,5,50,0,0,0,0,0,Regular
Sans Serif,7,-1,0,50,0,0,0,0,0
Sans Serif,7,-1,5,25,0,0,0,0,0
Sans Serif,7,-1,5,50,0,0,0,0,0
Sans Serif,8,-1,5,0,0,0,0,0,0,normal
Sans Serif,8,-1,5,50,0,0,0,0,0
Sans Serif,9,-1,0,50,0,0,0,0,0
Sans Serif,9,-1,5,0,0,0,0,0,0,normal
Sans Serif,9,-1,5,50,0,0,0,0,0
Sans Serif,9,-1,5,50,0,0,0,0,0,Regular

Just looking at the last two lines we see double ... but not quite:
One font-string ends with a number and the other font-string also includes ",Regular".
If we only replace this

Sans Serif,9,-1,5,50,0,0,0,0,0

by this

Liberation Sans,9,-1,5,50,0,0,0,0,0,Regular

the last line would be changed to

Liberation Sans,9,-1,5,50,0,0,0,0,0,Regular,Regular

what would be wrong!

Inserting an additional element-name is another topic...

As a new user you should use QET 0.100-dev to be able to use Liberation-fonts, so that your Elements and Plans are compatible with other systems and users!

Hallo Jürgen,

hast Du mal das AppImage von QET ausprobiert? Das wird von Laurent regelmäßig erstellt und funktioniert ganz prima:
https://download.qelectrotech.org/qet/builds/AppImage/

Die Elemente, die Du oben verlinkt hast, habe ich auf die Liberation-Fonts umgestellt und hier angehängt.

Frage: Oftmals verwendest Du dynamische Texte, die aus meiner Sicht statisch sind. Hat das einen besonderen Grund?

Gruß
  plc-user

Nachtrag:
Ich glaube, dass die Elemente, die im Dateinamen "molex" enthalten, auch von der Firma hergestellt werden. Im Moment steht da ein Unternehmen aus Detmold als Hersteller drin...

I guess, you are using windows? Start QElectroTech with Batch-file "Lancer_QET.bat"!

Menu -> Configuration -> Configurer QElectroTech -> TAB "Langues"

Select Language you prefer, press "OK" and restart QElectroTech.