Translate an HMI project to French without retyping every object

6 min read · Published November 8, 2026

Export the project's language strings to a file, translate only the text fields, and import French as a second language entry so the English source stays intact. Budget 25 to 30 percent more field width for French labels before you translate, and keep the file's encoding and structure unchanged from the export.

Yes. HMI software built for factory floors has a supported path for exactly this: export the project's language strings to a file, translate the text fields in that file, and import French as a second language entry. The objects keep their tag links, colors and screen positions; only the text moves. Two things decide whether the import lands on the first pass: the exported file's structure and encoding survive the round trip, and every French label fits the object it lands in. French runs 7 to 29 percent longer than English on the four machine controls measured in the example below, so budget the width before you translate. Work on a copy of the project throughout, and the English source stays intact as the reference.

What you need

  • A backup of the project, saved before anything changes, plus the working copy you will edit.
  • The export and import commands from the software's language, translation or localization management area.
  • An editor that holds the file steady: a plain text editor, or a spreadsheet application that saves back to the same delimited format with the same settings.
  • French text for every string, proofread by someone who reads the language.
  • The character count of each English label, for the width budget in the next section.

Budget the wider French text before you translate

French carries more characters than English for the same instruction, because it adds articles and connecting words. Professional localization teams budget 25 to 30 percent extra length when English text becomes French. The working rule per field:

Count characters, not words. A screen can average fine and still clip the one label that grew the most. Apply the rule to every text object you are translating: labels, alarm messages, button text, banners. Where a layout is already tight, run the portrait panel fit check before changing dozens of objects.

Accents add no width; é occupies the same box as e. What accents change is the file encoding, and that belongs to step 5 below.

Example: field width for four French machine controls

Inputs. Four label pairs in standard French machine wording: Départ, Défaut, En marche, and Arrêt d'urgence, the wording used on machine controls alongside the standard emergency-stop signage. The planning budget is the 25 percent figure from the rule above.

English label English characters French label French characters Expansion
Start 5 Départ 6 +20.0%
Fault 5 Défaut 6 +20.0%
Running 7 En marche 9 +28.6%
Emergency stop 14 Arrêt d'urgence 15 +7.1%

Rule. Expansion = (French characters - English characters) ÷ English characters. Field budget = English characters × 1.25, rounded up.

Arithmetic. Running: 9 ÷ 7 = 1.286, so 28.6 percent longer. Emergency stop: 15 ÷ 14 = 1.071, so 7.1 percent. Average of the four: (20.0 + 20.0 + 28.6 + 7.1) ÷ 4 = 18.9 percent, under the 25 percent budget. Field budgets: Start, 5 × 1.25 = 6.25, so 7 characters. Emergency stop, 14 × 1.25 = 17.5, so 18 characters; at 30 percent, 14 × 1.30 = 18.2, so 19.

Result. A field that holds Emergency stop in English needs 18 characters of width at the 25 percent budget, and 19 at the top of the range. The hard minimum for this one label is 15, the length of Arrêt d'urgence.

Decision. Set every translated field to its budgeted width before the import. If an object cannot show 18 characters at its current size, widen the object or shorten the English source first; a field narrower than 15 characters clips this label on the first day.

Steps from export to import

  1. Back up, then open the copy. Save the project, leave the backup untouched, and work in the copy so a bad import costs nothing.
  2. Find the export command. Open the language, translation or localization area of the engineering software. On runtimes built around IEC 61131-3, screen text usually sits in text lists in the project tree, and the export sits with them. If your objects read from multilingual text lists, how the default text of a multilingual text list stays selectable matters here; that article covers it.
  3. Export the strings. Write the file to disk and note its format, because the import expects the same structure back.
  4. Translate the text cells only. Identifier columns, object references and formatting cells stay exactly as exported. Add French as a new language column or entry beside the English column; the English column stays the source language and the reference for every object.
  5. Save in the encoding the export used. This is where accents break: é is one byte in the Latin-1 family and two bytes in UTF-8, so a file saved one way and read the other shows é as é. Keep the delimiter, quoting and line endings as exported. Type the apostrophe in d'urgence as the plain straight one; the typographic character falls outside the 128-character ASCII set and is the character most likely to trip an import.
  6. Import French. Run the matching import command and read its report. If it lists errors, correct the file and import again; do not patch objects by hand, because that recreates the typing this workflow exists to avoid.
  7. Switch the runtime to French. Set the language at the runtime selector and open every changed screen. If French shows now but English comes back after a restart, find the runtime selector that picks the startup language; that article shows where it sits.

How to check it worked

Open every changed screen in French, at the panel's own resolution, and look for four things:

  • Accents render: é, è, ê, ç and the apostrophe in d'urgence appear as typed.
  • No English left behind. Search the translation file for blank French cells; each blank is a string that still shows English on screen.
  • Nothing clips or overlaps. Check each translated object against its neighbors; the budget from the example tells you which fields to widen.
  • The objects still work. Exercise one control and one alarm on the bench and confirm the tag behind the French text is the tag you expect.

Keep the pre-export backup until an operator has run a full shift in French and found nothing to fix.

If the software has no export

Two cases, two answers. If the software stores screen text in text lists, enter the French text there once, object by object; the typing happens a single time, and every later language becomes another column instead of another pass through the screens. If it has neither an export nor text lists, hand-editing is the only path inside the tool: take the backup first, log every change, and ask the vendor's support channel, with the software version and the backup in hand, for the supported migration method.

Recommendation

Recommendation: Export the language strings from a backup copy, add French as a second language entry beside the English source, and give each field 1.25 times its English character count of width before you translate. Save the file in the encoding the export used, import, and review every changed screen in French with an operator before production relies on it. If the software has no export, put the text into text lists once, because that turns every future language into a file edit.

Questions

What happens if I import the French text over the English entry?

The import writes each French string into the slot the English text occupied, so the project loses its English source. Keep the backup from before the export, and when the software offers a second language entry, put French there. The English column then stays the reference for every object, and a missing translation shows up instead of passing silently.

Why do French accents turn into odd characters after the import?

The editor saved the file in a different encoding than the export used. Re-export, set the editor to the encoding your software documents for translation files, paste the translations in again, and import that copy. Any character that survived the first export but breaks after editing points at the editor, not the importer.

How much longer are French labels than the English ones?

Localization teams budget 20 to 30 percent more characters for French over English. The four controls in the example measure 7.1 to 28.6 percent, so the budget covers the labels that come in high. Count characters field by field, because a screen average hides the one long label that clips.

Why do some objects still show English after the import?

Those strings were missing from the export, or the French cell was left blank. Find the rows behind the affected objects in the file, fill the French cells, and import again. A blank cell gives the entry no translation, so the object shows the source text it was created with.

Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.

Keep reading

Build your signAsk for a quote