Copy the default strings into a named original-language entry, preserve their text IDs, and configure selection actions for both named languages. Keep the default column intact, check runtime language settings, and verify translations and the return path on the target.
Copy the original strings from default into a named language, then configure a language-selection button for that named entry. Leave the default texts in place. In an HMI editor that treats default as a fallback rather than a selectable language, this gives you an explicit route back to the original wording.
This procedure applies to that text-list arrangement. Menu names, supported language identifiers and fallback behavior depend on the engineering software. It concerns the actual operator interface, not a separate information screen. The distinction between a factory status display and an operator HMI helps keep those roles separate.
What the default column does
A text list normally associates a text ID with one or more language-specific strings. A visualization element references the ID, and the runtime uses the selected language to find its wording.
Some editors also provide a default column. In this arrangement, that column supplies fallback text but is not itself a language that a button can select. Adding one named language therefore gives the language action only one explicit destination.
The missing piece is a named language containing the original strings. You do not need to delete the default column or change the text IDs to create it.
Before proceeding, confirm that this describes your project. If the software instead has a configured source language, follow its documented source-language workflow. Do not rename a fallback column or alter project files outside the editor to make a language appear.
What you need before editing
Prepare the following:
- A saved backup of the current project that you can reopen.
- The engineering software documentation for text lists and runtime language selection.
- A clear identification of the language already used in the default strings.
- The language identifiers supported by the intended runtime.
- Access to a simulator or an approved target test arrangement.
- A list of affected screens, pop-ups, alarms and reusable visualization elements.
Record the text-list names and their IDs before making changes. Note any active filters or hidden rows. A visible row count is not a reliable completeness check if part of the list is hidden.
Schedule any target download through the normal change process. A language change should not require changing control logic, safety functions or access permissions. Do not operate machine controls merely to exercise translated labels.
Make both languages selectable
-
Confirm where the original wording is stored. Open the relevant text list and inspect several IDs. Check that the original strings are in
default, rather than in an existing named language that is simply disabled for the runtime. If that named language already exists, correct its configuration instead of creating a duplicate. -
Add a named entry for the original language. Use the editor's supported language selection and naming convention. Where the software distinguishes language variants, choose the intended variant consistently across the project and runtime settings.
-
Copy the default strings into that entry. Use the editor's supported copy operation. Keep every string associated with its existing text ID. If using a documented export and import workflow, preserve the ID fields and check how the import matches records. Do not assume that two differently sorted columns will line up correctly when pasted.
-
Check the copied column before translating anything else. Compare the source and destination by ID. Inspect the first and last entries, multiline strings, repeated labels and dynamic text. Confirm that no IDs were added, deleted or shifted. Leave the original default strings unchanged during this work.
-
Complete the other named language. Enter the translations against the same IDs. Preserve the required syntax for inserted values, units, line breaks and other formatting tokens. Reorder placeholders only where the software explicitly supports it. A sentence can read correctly while its dynamic value substitution is broken.
-
Configure both selection actions. Assign one action to the named original language and another to the translated language. Separate buttons make the return route easy to check, though a documented selector can also work. Give each choice a recognizable language label that remains understandable regardless of the active language. These fixed navigation labels are a deliberate exception to translating ordinary interface text.
-
Include both languages in the runtime build. Some systems distinguish languages present in the editor from languages enabled for the target. Check the relevant runtime configuration, save the project and compile it. Review language-resource warnings before testing. Transfer the change only through the approved commissioning procedure.
If the original language still does not appear in the action's selection list, check the saved language definition, the action's scope and the runtime language configuration. Creating a column is not always the only configuration step required.
Check translations that look complete
A screen that contains readable text is not necessarily fully translated. Depending on the runtime, an empty translation can produce fallback wording, a blank field or another indication. Check the documented behavior rather than treating readable source text as proof of completion.
Inspect these cases separately:
- Empty language cells: Filter or export the list using a supported method and review blanks by text ID. Record any intentionally empty entries rather than treating every blank as an error.
- Source wording left in the translated column: A populated cell can still contain an untranslated copy. Review the wording, not just whether the cell has content.
- Hard-coded labels: Ordinary text entered directly in an element may not participate in language switching. Move it to the appropriate language resource where required.
- Separate resource collections: Alarms, dialog boxes and reusable elements may use different lists or their own translation settings. Completing one text list does not complete the project.
- Dynamic text: Check each relevant state and substituted value. One visible state does not prove that all IDs referenced by an element are correct.
- Missing characters: Boxes or absent glyphs can indicate font coverage problems even when the translation is present.
- Clipped wording: A longer translation can extend beyond a button or field. Check wrapping, alignment and readability at the intended display layout.
Compare resources by ID whenever possible. Row totals help detect omissions, but matching totals cannot prove that every translation belongs to the correct source string.
Verify the full language round trip
Start in simulation where available. Confirm the configured startup language first; do not assume that a fresh session starts from the fallback column.
Then check the complete route:
- Select the named original language and compare the visible wording with the saved source strings.
- Select the translated language and inspect every affected screen and pop-up.
- Return through the original-language selection action. Confirm that it restores the expected wording without reopening the project or restarting the visualization.
- Repeat the switch after navigating to other screens. Check that the return action remains available wherever language selection is intended.
- Inspect representative dynamic values, long labels and special characters in both languages.
- Repeat the checks on the target under an approved safe test condition. Confirm actual font rendering and layout rather than relying only on the engineering preview.
Check alarm wording through a documented test facility or another approved method. Do not create a hazardous process condition to make an alarm appear.
Finally, check restart behavior during an approved test window. The runtime may restore the previous selection or use a configured startup language. Confirm which behavior is documented and required, then verify it on the target. Record the result with the project version and language configuration.
Keep future edits aligned
Once both languages are selectable, treat each wording change as a resource update across the affected languages. Adding a new ID only to the default column can recreate a partially translated interface later.
Keep a short change record containing the affected IDs, source wording, translations and verification results. Recheck any changed placeholders or alarm instructions with particular care. Instructions that affect machine operation need review for meaning, not just spelling.
The finished check is practical: both named languages are selectable, the original wording is reachable without a restart, and every affected resource has been reviewed for missing translations. Keeping the default column intact preserves its documented fallback role without relying on it as the return-language button.
Questions
Why can I select the new language but not default?
In editors that use default as a fallback column, it is not an explicit language destination. Add a named language for the original wording, copy the default strings into it without changing their IDs, and configure a selection action for that named language.
Should I delete the default texts after copying them?
Leave the default column unchanged while adding the named language. It may still supply fallback text according to the runtime's documented behavior. Removing its contents can affect untranslated resources without helping the language-selection action.
How do I find missing translations in an HMI text list?
Review empty cells by text ID, then inspect populated cells for source wording that was never translated. Check separate alarm and dialog resources too. Fallback behavior can make an incomplete translation look readable, so a visual check alone is not enough.
What should I check if the original language still does not appear?
Check that the named language was saved, that the action uses the correct language scope, and that both languages are enabled for the runtime where required. Some editors separate translation resources from target language settings. Follow the documented configuration and rebuild before repeating the test.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.