09-15-2026 08:43 AM
Hello, I have an executable with three translation files in the same folder (`..\PT.txt`, `..\EN.txt`, and `..\ES.txt`).
I created a routine that retrieves the translations from my database and replaces the content of these three files with the updated translations.
Later in my code, there is a VI that reads these files and translates the information.
The problem seems to be that LabVIEW natively loads the translation files because they are located in the same folder. Therefore, when I replace the files programmatically, LabVIEW does not update them in memory.
How can I make LabVIEW update these files in memory?
09-15-2026 09:03 AM - edited 09-15-2026 09:04 AM
Hi,
How do you read these files for the translation? Are you using the Import VI Strings invoke node?
09-15-2026 09:37 AM
It is difficult to tell what you are doing from a small code fragment picture.
If the files have changed, you simply need to read them again. If the information is also kept in memory, you can update the memory data at the same time you are updating the files.
09-15-2026 01:58 PM
Attached is the VI that we use to read the files and the translations contained within each file.
This is the VI responsible for reading the translations for our application.
The first time it runs is after the VI that retrieves the translations from the database, which is the one I sent you a screenshot of earlier.
09-15-2026 05:15 PM
You are not showing the part where the file is updated, but your lower shift register will only cause the case to turn true if the language has changed. It cannot know if the file contents have changed.
There are many possible solutions, for example you could have an additional boolean input that forces executing the false case. You could also e.g. keep the modification date of the file in a shift register and force a re-read if it has changed.
(On a side note, it might be easier to use a map for translation data)