A panel switches between English and Spanish with its own language feature: define both languages in Setup > Language, place one Set Language button per language, and store two text strings per object. One screen set serves both crews, and the end-of-article checks confirm the switch on the panel itself.
Two crews share one panel: the day shift reads English and the night shift reads Spanish. The tempting fix is to build the panel twice. Resist it. A touch panel that stores text per language switches its whole screen set on one button press. The feature has three parts. A language setup screen gives each language a name and a font. A Set Language system object lets operators pick a language. A language database exports to a spreadsheet and back for bulk translation. This article sets the feature up in order, maps the symptoms to the layer that causes them, and works a 48-object example that shows why one screen set beats a translated copy. The menu names follow a common touch panel family's programming software; if yours labels them differently, search its help for language and the same three functions will be there.
How do I switch an HMI panel between English and Spanish without duplicating screens?
You switch it with the panel's own language feature: define English and Spanish once in the language setup, give every object its text in both languages, and let operators press a Set Language button, so one screen set serves both crews.
The workaround to avoid is copying every screen, translating the copy, and jumping between the two sets with a selector switch or a PLC bit. It runs on day one and fails on the first edit. Every new alarm, moved button and changed setpoint caption has to be made twice, and the Spanish set ends up stale while operators read old text. The built-in feature removes the second set entirely. Each object stores one string per language, the panel picks the string from the active language, and the switch happens at runtime with no added wiring and no PLC logic. Everything text-based on the screen follows: button captions, labels, and alarm and message wording held in the language database.
What do the symptoms tell you is missing?
Each symptom points at one layer: text that stays English means the object has no entry in the second language, boxes or blanks mean the language's font lacks the glyphs, and a panel that restarts in the wrong language means the startup language needs attention.
- Every label stays in English after the Spanish button is pressed. Those objects have no entry in the second language yet; fill them per object or through the database export in the next section.
- Some text switches and some does not. The text that switches lives in the language database; wording painted into a bitmap image is outside it and has to be rebuilt as a real text object.
- Characters such as ñ or ¿ show as boxes or blanks. The font assigned to Spanish in the language setup lacks those glyphs; pick a font that carries them and download again.
- The panel starts up in English after a power cut even though Spanish was selected. The language at startup is governed separately from the runtime switch; HMI language changes back after startup: find the runtime selector covers that side.
Where do I define the two languages in the project?
Both languages are defined in one place, the Setup > Language screen of the panel's programming software. Each language gets a name and its own font, and the font you assign to Spanish settles whether accented characters display correctly on the panel.
Open Setup > Language and list both languages there, English and Spanish, each with its own name and font. Spanish needs 9 characters that English text never uses: á é í ó ú ñ ü ¿ ¡. Choose a font for Spanish that carries all 9, and read the accented words on the panel itself after the download, not only in the editor. Define the languages before you fill any text, because an object can only hold a string in a language the project knows.
Which button lets operators switch language at runtime?
Operators switch language with the Set Language system object, placed from Object > System > Set Language. Make one button that selects English and one that selects Spanish, and set both text entries of each button to the same wording so either crew can read them.
Two buttons, one per language. Put them where both crews reach them, on the main screen or on a header screen that shows everywhere. Set both text entries of each button to the same wording, so the Spanish button reads Español in either language and the English button reads English in either language. A button labeled only in English is invisible to exactly the operator you need to reach. And if the plan was to wire a physical selector switch into a PLC input to jump between two screen sets, skip the hardware: the panel switches its own text at runtime, so the selector and the second screen set both become unnecessary.
How do I put Spanish text on every object without editing them one by one?
Enter text per object with each object's language dropdown. When the object count runs past a few dozen, export the Language Database, fill the second-language column in a spreadsheet, and import it back, so the whole panel is translated in one pass.
For a handful of objects, open each one and use its language dropdown to type the Spanish text beside the English. Past a few dozen, move the text in bulk instead:
- Finish the screens in English, with both languages already defined under Setup > Language.
- Export the Language Database to a file.
- Open the file in a spreadsheet, add the Spanish text beside each English entry, and leave the existing columns and structure alone.
- Save the file in the same format it exported as.
- Import it back into the project.
One pass fills every object. A Spanish-speaking reviewer can correct the wording in the spreadsheet without ever opening the programming software, which is usually the fastest review cycle available. Text added after the import needs the same export-and-import pass or a per-object entry, so run the translation once the screen layout is stable. Translating an HMI project to French without retyping every object walks the same export-and-import route step by step.
Mind the boundary of the feature. The switch acts on text held in the language database; a label painted into a bitmap image stays in its one language and has to be rebuilt as a real text object. Text stored outside the panel, such as device descriptions held in the PLC, is a separate translation job entirely, and Translating SLC 500 Spanish descriptions to English covers that side of a bilingual plant.
What does an example two-language panel look like in numbers?
Take a packaging panel with 6 screens and 8 text-bearing objects per screen: that is 48 objects. The one-set route holds 96 text strings in a single project, and the duplicate route spreads the same 96 strings over 96 objects in 12 screens across two files.
The panel drives a packaging line and carries 6 screens with 8 text-bearing objects per screen: labels, button captions and message text. That is 6 × 8 = 48 objects. One screen set holds 48 × 2 = 96 text strings in a single project file. The duplicate route carries the same 96 strings as 2 × 48 = 96 objects spread over 2 × 6 = 12 screens in two project files.
Editing is where the two routes separate. Assume 4 objects change a month: a new alarm word, a renamed product, a moved setpoint caption. The one-set route edits 4 objects, types 8 strings and downloads once, which is 12 downloads a year. The two-set route edits 8 objects and downloads twice a month, 24 downloads a year, and the discipline has to hold every month. Skip the Spanish file 3 times and the Spanish crew spends a quarter reading screens that are out of date.
The text burden is identical, 96 strings either way. The one-set route halves the downloads and cannot drift, because both languages live on the same object. For a panel that ever gets edited, one screen set is the decision; duplicates suit only a panel that will never be touched again.
How do I verify the switch before the panel goes back on the floor?
The switch counts as fixed when the panel itself passes. Download the project, press the Spanish button, walk every screen checking buttons, labels and alarm text including the accented characters, press English, cycle power once, and back up the project before production.
- Download the project with both languages defined and both text entries filled.
- Press the Spanish Set Language button and walk every screen. Read every button caption, label and alarm or message wording, and look closely at the accented characters. Any screen still showing English points back to the per-object text pass for that object.
- Press the English button and confirm everything returns to English.
- Cycle panel power and note which language starts. If it starts in the wrong one, HMI language changes back after startup: find the runtime selector covers the setting that governs startup language, or move both Set Language buttons onto the startup screen so the choice is made before the line runs.
- Save a backup copy of the project file, language database included, before the panel goes back into production.
Which route should you choose for a bilingual panel?
Choose the built-in language feature on every panel that will ever be edited. Use one screen set, both languages defined in Setup > Language, one Set Language button per language, and the second language filled through a single export-and-import pass once the screens are stable.
Recommendation: run one screen set with both languages on every object. Define English and Spanish first, place two Set Language buttons where both crews reach them, finish the layout in English, then fill Spanish through one Language Database export and import, and verify on the panel before the line runs. Keep duplicate screen sets out of the plant: they double every future edit and hand the Spanish crew stale screens.
A bilingual HMI settles the machine's own controls. If the cell also needs a separate screen for shift notes, safety messages or andon-style status, that is a different job. Our panel-mount signage displays play pictures and video from a memory card or USB stick offline, with no subscription, and the factory screens section shows where they fit on the floor.
Questions
Do numbers and alarm codes change when the operator switches language?
The switch acts on text: button captions, labels and message wording follow the selected language. Values read from registers, alarm numbers and counters display the same digits in either language. Translate the wording around the numbers and leave the numbers themselves alone; a setpoint of 120 reads as 120 to both crews.
What should I hand the person doing the Spanish translation?
The exported language database file with its columns untouched, plus a screen-by-screen walk of the project so the wording matches what the machine is called on your floor. Ask for the file back in the format it exported as, import it, and read the accented characters on the panel before the line runs. Keep the reviewed file with the project backup so the next text pass starts from it.
Can I add a third language to the same screen set later?
Yes. Define the third language in Setup > Language with its name and font, then fill its text either per object through the language dropdown or as one more column in the next export-and-import pass. The Set Language buttons grow to one per language, so a three-language panel carries three of them.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.