Browser HMI alarm button translation for plant teams

6 min read · Published November 1, 2026

Use the project's supported language resources to translate browser HMI alarm buttons. If generated controls cannot be localized, use documented custom controls while preserving their actions and permissions. Diagnose alarm history, timestamp formatting and stale values separately.

Translate browser HMI alarm buttons through the project's supported language workflow, not just the engineering editor's desktop language setting. If generated alarm controls do not expose translatable captions, use documented custom controls with the same intended actions. Check each action before and after translation. Missing alarm history, unexpected timestamp formatting and stale displayed values need separate checks; changing captions does not correct those problems.

What you need before changing the alarm view

Gather the project backup, installed engineering and runtime versions, target configuration, and manufacturer documentation for the visualization and alarm components. Obtain any required software or documentation from the manufacturer or its authorized distributors.

Prepare these items before editing:

  • The current alarm view and its deployed browser address.
  • The required languages and approved wording for each action.
  • The documented language-file, text-list or resource workflow for your installed version.
  • A record of each existing button's action, scope and access permissions.
  • A safe test environment and a documented route back to the previous project.

Keep the distinction between a factory status display and an operator HMI clear. A translated status page does not become a suitable machine-control interface simply because it has buttons.

Use simulation or designated non-hazardous test alarms under your site's change procedure. Do not create a hazardous process condition to test an alarm caption.

Find where the visible text comes from

The editor, deployed visualization and browser can have different language settings. Matching text in the editor therefore does not establish what the deployed browser will show.

Identify the source of each caption before changing it:

Text source What to inspect Appropriate next step
Project text resource Caption identifier and language entry Translate through the supported resource workflow
Generated alarm control Alarm component properties and documentation Use its supported localization setting, if available
Custom visualization button Caption binding and action binding Translate the caption without changing the action
Runtime-supplied message Runtime language resources and version support Follow the documented runtime configuration

Do not assume that every generated caption appears in the project's language export. Equally, do not rebuild a control that already has a supported translation setting. Start with the least invasive documented option.

Translate the controls through the project

  1. Save a baseline. Back up the project and record the deployed version, selected language and current captions. Record how acknowledgement, selection, scrolling and history navigation work before making changes. This gives you a comparison for both appearance and behavior.

  2. Check the generated control's language support. Inspect the alarm component's documented properties. If it supports project text resources or a runtime language selection, configure that path first. Do not infer support from the editor preview alone.

  3. Replace generated controls only where supported. If the installed component cannot localize its generated controls but supports custom controls, follow that documented approach. A component may expose a property such as Show statusline for hiding the generated control strip. Confirm its meaning for your installed version before changing it. Hiding a strip may remove more than the button you wanted to translate.

  4. Recreate the required actions without changing their meaning. Bind each replacement button to the documented alarm action or interface. Preserve whether acknowledgement applies to a selected alarm, a group or all permitted alarms. Preserve access restrictions and any availability conditions. Do not write to an arbitrary variable merely because it appears to change the display. If an equivalent supported action is unavailable, stop and seek the manufacturer's supported solution.

  5. Add the captions to the supported language resources. Export or edit the project's language file, text list or resource table as documented. Keep identifiers associated with their original controls. Use distinct wording for acknowledgement, reset, history and navigation. Do not label an acknowledgement action as a reset or restart. Have translated terms reviewed for their actual operational meaning, not just their dictionary meaning.

  6. Deploy and select the language deliberately. Import or build the resources, deploy through the normal project process, and choose the language using the visualization's documented mechanism. Browser language preferences matter only if the application is configured to use them. Reopen the deployed page and confirm that you are viewing the intended project version.

  7. Check layout and behavior together. Inspect every translated caption at the intended browser viewport. Longer wording must not cover another control or hide the action's scope. If captions fit in the editor but not in the browser, investigate kiosk browser sizing separately from the translation resources. Then exercise each permitted action using safe test alarms.

Do not edit generated deployment files as a substitute for the supported project workflow. Such changes may be overwritten by the next build and can leave the deployed interface different from its source project.

Treat alarm history as a separate feature

A translated history button does not enable alarm recording. History requires a supported alarm-recording mechanism and a browser component that can display those records.

Check the documentation for the actual target and runtime. Some configurations expose a target option named Alarmhandling in the PLC. If your installed version documents that option, confirm its required state and deployment procedure. Do not assume that the same setting exists on every target or that enabling it alone provides browser history.

Trace a safe test event through the whole path:

  • Confirm that the alarm condition is detected.
  • Confirm that the configured recording system stores the event.
  • Confirm that the browser history view requests the intended records.
  • Check filters, time range and access permissions if a stored event is absent from the view.

If the record exists but the browser does not show it, investigate history support and display configuration rather than changing captions again.

Check timestamp formatting independently

Language selection can influence date and time presentation, but a caption translation does not establish the alarm table's timestamp format.

Find the documented format control for the installed alarm component or runtime. A project-wide locale, an explicit field format and a runtime default can produce different results. Do not assume that one setting controls them all.

For a requirement to use 24-hour time, inspect events before and after noon. Also confirm the displayed date, time zone and daylight-saving behavior where applicable. A correct-looking hour format does not prove that the underlying event time is correct. Keep clock synchronization and display formatting as separate checks.

Diagnose stale values without changing translations

If a displayed value stops changing, compare its value at the controller or data source with its value in the browser.

  • The source value is not changing: inspect the source logic and acquisition path first.
  • The source changes but the browser value does not: inspect the visualization binding, connection state, refresh mechanism and runtime diagnostics.
  • Only one field is stale: compare that field's binding and update conditions with a working field.
  • The whole page is stale: investigate the browser-to-runtime connection before editing individual controls.

Use a designated diagnostic value where available. Do not alter production logic simply to create visible movement. Translation resources govern text selection; they are not a repair for an interrupted data path.

Confirm the deployed browser view works

Finish with the same deployed page and access level intended for normal use. An editor preview is not enough.

Confirm all of the following:

  • Each required language selects the intended captions.
  • No caption is missing, clipped or replaced by an unexplained resource identifier.
  • Each button acts on the intended alarm scope.
  • Access restrictions still apply.
  • Acknowledgement is not presented as fault clearance or permission to restart.
  • History shows the expected safe test events, if history is required.
  • Timestamp format and event time meet the documented requirement.
  • Live values update independently of language selection.
  • The documented fallback language behaves as intended when a translation is unavailable.

Record the project version, browser path, language selection and results. Keep any remaining history, clock or data-update fault separate from the localization result. That makes the next change smaller and prevents a correct translation from masking an unrelated alarm-interface problem.

Questions

Why are alarm buttons translated in the editor but not in the browser?

The editor and deployed visualization can use different language resources and selection settings. Changing the editor's desktop language may affect its preview without changing the browser application. Check where the generated captions originate and use the localization mechanism documented for the installed visualization component.

Do generated alarm controls always need to be replaced?

No. First check whether the generated controls support translation through component properties or project resources. Use custom buttons only when that approach is supported, and preserve the documented action, alarm scope, permissions and availability conditions. If equivalent behavior cannot be maintained, seek a supported solution from the manufacturer.

Will translating the buttons fix missing history or stale values?

No. History recording, timestamp presentation and live-value updates have their own configuration and data paths. Verify each separately. A translated history button does not create stored events, and a translated caption does not repair a disconnected browser or an incorrect visualization binding.

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