Skip to content

Languages

Show HMI Forge's own text in the operator's language using a language pack.

HMI Forge puts some text on a screen that a document’s author never writes: the confirmation before a button acts, the number keypad, alarm severities, the progress and result of a controller backup, and the message shown when an action fails. A language pack translates that text.

Everything the author writes — label text, button captions, alarm messages, screen names — is already theirs to write in any language. A pack covers only the parts they cannot edit.

A pack translates what an operator reads while running a screen:

  • the confirm-before-acting dialog, and the prompt shown when starting a program means aborting the one already running
  • the number keypad
  • the alarm banner and alarm history
  • the controller backup, from the confirmation through to its summary
  • the message and the tap cue on a failure notification, including the ones the controller itself reports — a pressed E-STOP, the teach pendant switch left on, a program that is not loaded
  • the banner shown when a screen was built in a newer version than the runtime can draw

It deliberately does not cover:

  • the editor, which stays English
  • the event log and diagnostics, which stay English so they can be read by whoever supports the cell. A failure raises a translated notification and an English log entry.
  • loading and choosing documents

The language belongs to the document, not the controller. A cell running two languages runs two documents, and each opens in its own on the same robot.

  1. Open the Inspector, then the Document tab.
  2. Choose a language under Language.

The list shows the packs installed on this controller. English is always available and needs no pack.

Preview shows the change straight away.

  1. Put the .lng file on a USB stick and insert it in the pendant.
  2. In the Document tab, press Import language pack.
  3. Pick the file and give it a code — this is what the Language list shows.

A file named hmi_de.lng suggests de; any other name has to be given a code. A file that is not a language pack is rejected and nothing is installed.

Packs are stored on the controller, so every document on it can use them, and they are included in a backup.

A pack is a JSON file: a flat object of key to translated text, UTF-8 encoded.

Start from the English catalog: hmi_en.lng. It holds every key this version uses, with the English text as the value — translate the values and leave the keys alone.

{
"modal.cancel": "Abbrechen",
"confirm.body": "Sind Sie sicher?",
"backup.done.title": "Sicherung abgeschlossen",
"backup.done.body": "Ordner: {folder}. Kopierte Dateien: {copied}."
}

Name it hmi_<code>.lng, where <code> is two to eight letters or digits.

Placeholders in braces are substituted at runtime and must survive translation: {folder} and {copied} above are filled in with a real folder name and count. A placeholder can move anywhere in the sentence, but a name that is changed or dropped will appear on screen as written.

A pack does not have to be complete. Any key it omits falls back to English, so a partial translation shows the strings it has and English for the rest.

A pack does not have to be current. When an update adds text, an existing pack keeps working — the new strings appear in English until the pack is revised. Keys a pack contains that HMI Forge no longer uses are ignored.

Every installed pack is written to the stick by a Documents-panel backup as hmi_<code>.lng, and restored from one. All of them travel, whether or not a document currently uses them.

A pack on a backup stick is an ordinary pack file — it can be imported by hand onto another controller.