WinCC Multi-Language Setup: Text Library vs Easy Language Tool

David Krause11 min read
SiemensTutorial / How-toWinCC
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Overview

Siemens WinCC (both the classic V7.x line and the newer WinCC Unified inside TIA Portal) provides runtime language switching for HMI projects. To make that work, every translatable string in the project must be assigned an entry in the language database the runtime uses. WinCC exposes two separate editors for that purpose, and they are not interchangeable:

  • Text Library – holds the multilingual text for message texts (alarms, bit messages, system diagnostics) and for text-type tags referenced by name from the runtime.
  • Easy Language Tool – holds the multilingual text of picture objects (.PDL/.FPL graphics), such as static labels, button captions and field names inside the screens themselves.

Both editors exchange data with the outside world through CSV files, but the CSV layouts are different. Exporting a Text Library CSV and re-importing it through the Easy Language Tool, or vice versa, is the most common reason for the error "Import file cannot be imported through Easy Language". The remainder of this article maps the correct procedure for each editor and shows how WinCC Unified (TIA Portal V20) handles the same job with the integrated Languages & resources task card.

WinCC Multilingual Architecture

WinCC stores every configured language as an indexed entry. The runtime uses an index (the LanguageID) to look up the matching text. Before any export / import makes sense, the project must have the target languages activated.

Activating project languages (WinCC V7 / TIA WinCC Professional)

  1. Open the project in the WinCC Explorer or in TIA Portal.
  2. Right-click Project > Language > Add/Remove (WinCC V7) or navigate to Project tree > Languages & resources (WinCC Unified).
  3. Select the reference language (typically English or German – the language used to enter texts in the editors).
  4. Add the target language (for example, Spanish / es-ES).
  5. Confirm with OK. The new language is registered and the editors expose a new column for it.
The order of operations matters: configure all project languages before you start exporting / importing. Adding a language after translation is complete forces a second pass on every editor.

Text Library: Alarms and Text-Type Tags

The Text Library editor is the single source of truth for:

  • Bit messages and analog alarms (event text, acknowledgment text, status text, info text).
  • Texts referenced through the Text table (text-type tags) used in scripts, faceplates and graphic objects.

It is documented in the WinCC V7.5 documentation set under Operator's overview of the Text Library – WinCC V7.5.

Opening the Text Library

In the WinCC Explorer, open Graphics Designer > Tools > Text Library or call it from the alarm logging editor. The window is a table whose columns correspond to the activated project languages. Each row is one translation key.

Exporting from the Text Library

  1. Open the editor.
  2. Choose File > Export As…
  3. Select a target file name with the .csv extension (for example Alarms.csv).
  4. The CSV is written to the project folder and uses the Text Library layout: one header row with the language IDs followed by one data row per text key.

A typical export looks like this (semicolon-delimited by default in a German-locale install):

ID;English;German;Spanish
MSG_0001;Motor overload;Motor überlast;Sobrecarga del motor
MSG_0002;Pump running;Pumpe läuft;Bomba en marcha

Importing back into the Text Library

  1. Open the editor.
  2. Choose File > Import…
  3. Select the previously exported CSV.
  4. Confirm the dialog. WinCC matches rows by the ID column – never change the IDs in the CSV or the import will create duplicate or orphaned entries.
Use the same editor for import as for export. Importing a Text Library CSV through the Easy Language Tool fails because the Easy Language Tool expects columns for Object, Property and Text, not ID and language pairs.

Easy Language Tool: Graphics Designer Picture Texts

The Easy Language Tool is the translation utility for static texts inside pictures – every Static Text, Button caption, I/O field label, etc. that lives on a .PDL screen. It walks through all configured pictures, extracts the text properties, and merges them into one CSV.

Workflow for graphics translation

  1. Open the WinCC Explorer and start the Easy Language Tool (Tools > Easy Language).
  2. Select the source and target languages in the dialog.
  3. Click Export. The tool writes a CSV with three logical sections: picture name, object / property reference, and one column per language.
  4. Edit the CSV in any text editor or spreadsheet, filling in the target language column.
  5. Re-open the Easy Language Tool and click Import, pointing at the edited CSV.
  6. Open the affected pictures in Graphics Designer to verify.

A row from an Easy Language export has the structure:

Picture;Object;Property;English;Spanish
Overview.pdl;btnStart;Text;Start;Iniciar
Overview.pdl;lblMode;Text;Mode;Modo

The key difference from the Text Library layout is the Picture + Object + Property triple. Without those, the Easy Language importer cannot map a row back to a graphics object.

Why the two CSVs cannot be swapped

The error "Import file cannot be imported through Easy Language" is raised when the importer parses the file and either:

  • does not find the Picture/Object/Property columns, or
  • finds rows that reference text keys (MSG_xxxx) that are not bound to a picture object, or
  • encounters a column count that does not match the configured project language count.

Reformatting the CSV by hand to look like an Easy Language export is fragile and not supported. Use the right editor for the right job.

Alarm Texts Across the Editors

Alarm text translation is a common source of confusion because alarms touch both editors:

Alarm component Where to translate
Message text on the alarm line (configured in Alarm Logging) Text Library (alarm "Message text" property)
Acknowledgment text, status text, info text Text Library
Text of a graphic faceplate that displays the alarm Easy Language Tool
Comments / operator hints bound to a button on the alarm screen Easy Language Tool

For a Spanish alarm roll-out, edit the Text Library for the message strings themselves and the Easy Language Tool for any Spanish copy on the alarm overview screen (column headers, legend labels, button tooltips).

WinCC Unified (TIA Portal V20) – Languages & Resources

For projects running on WinCC Unified (Comfort Panels, Unified Comfort Panels, Unified PC, and the RT in TIA Portal V20), the workflow is consolidated inside the TIA Portal itself. Reference documentation: Translating texts using reference texts (RT Unified) – TIA Portal V20.

Translation workflow in TIA Portal V20

  1. Open the project in TIA Portal V20.
  2. In the project tree, select the HMI device and switch to the Tasks task card on the right side.
  3. Choose Languages & resources.
  4. Set the Reference language – the language in which you originally entered the texts.
  5. Add the target language (e.g. Spanish / es-ES).
  6. For every translatable text – alarm messages, screen labels, text lists, tooltip texts – TIA exposes the reference text in one column and an empty cell for each additional language.
  7. Fill the cells. The portal validates IDs and warns if a translation is missing.
  8. For bulk translation, use Export / Import (XLIFF / CSV depending on version) from the same task card. The exported file is the canonical exchange format for that editor – do not feed it to the classic Easy Language Tool.
The TIA Portal Unified translation file format is documented in the TIA Portal V20 help under "Exporting and importing project texts". In V20 the import is performed by the Languages & resources task card; older instructions that mention the standalone Easy Language Tool apply to WinCC V7 only.

Runtime switching

Regardless of the editor, the runtime language is switched through:

  • The system function SetLanguage in a button or scheduler (V7 / Professional).
  • The LanguageSwitch function on a Unified screen (V20) – bind a button to it and pass the language code.
  • PLC-driven switching using the area pointer Language in WinCC V7 or the equivalent HMI tag in Unified.

Prerequisites for a Multi-Language Roll-out

Item Notes
WinCC V7.5 SP2 or TIA Portal V20 with WinCC Unified Older SPs have slightly different Text Library dialogs
All target languages activated in the project Adds required columns to every editor
Reference text complete in the source language Translators work from a finished English/German set
Read/write access to the project folder The CSV export lands in \<project>\<lang>\
Editor license for "foreign language" (legacy) Not required on V7.5 SP2+ or TIA V20

Step-by-Step: Translating a Spanish Alarm Project

  1. Add Spanish. WinCC Explorer > right-click the project > Languages > Add/Remove > tick Spanish (Spain).
  2. Open Alarm Logging and verify that the Spanish column is now visible in the message texts.
  3. Open the Text Library. Confirm Spanish is listed in the header row.
  4. Export. File > Export As… > Alarms_es.csv. Save it under the project path.
  5. Translate. Open the CSV in a UTF-8 capable editor (Notepad++, Excel with Data > From Text/CSV) and fill the Spanish column. Save without changing the header or the ID column.
  6. Import. File > Import… > Alarms_es.csv. Verify the count of updated rows in the status bar.
  7. Translate pictures. Open the Easy Language Tool, export Pictures_es.csv, translate, re-import.
  8. Compile & simulate. WinCC Explorer > Tools > Simulator and switch languages via SetLanguage 0x040A for Spanish.
  9. Verify. Trigger a sample alarm; confirm Spanish text appears on the alarm line and on any related picture.

Verification Checklist

  • All configured project languages are present as columns in the Text Library editor.
  • The imported CSV row count matches the row count of the export.
  • No entries are blank in the target language for production alarms.
  • Runtime language switch (button or area pointer) updates both the alarm line and the screen texts in the same switch.
  • Search the project for the source string after import – if it still appears on a picture, the picture text was edited in a label that the Easy Language Tool could not resolve (e.g. inside a Custom Web Control). Translate those strings manually.

Troubleshooting Matrix

Symptom Likely cause Fix
"Import file cannot be imported through Easy Language" CSV was exported from the Text Library Import it back into the Text Library; do not route Text Library CSVs through Easy Language
Easy Language import succeeds but screen still shows English Picture not compiled, or text in a Custom Web Control Recompile the picture; check Graphics Designer > View > Languages; translate remaining strings manually
Alarm line shows English after language switch Text Library row not updated, or wrong language code Re-export the alarm ID, confirm Spanish cell, re-import; check the SetLanguage call uses the correct LCID (0x040A for es-ES)
Duplicate rows after import IDs were edited in the CSV Restore the IDs, delete duplicates, re-import
Spanish characters render as ? CSV not UTF-8, or the wrong code page in the editor Save the CSV as UTF-8 with BOM; in Excel use Data > From Text/CSV and pick 65001 (UTF-8)
TIA V20 export / import shows fewer rows than expected Filter on the language is set to "translated only" Change the filter to All before export

Best Practices

  • Keep the reference language locked once translations begin. Adding new English strings mid-project forces a new pass.
  • Translate from CSV, not from inside the editor, when more than 50 strings are involved – a spreadsheet is faster and reviewable.
  • Version the CSVs in source control (Git/SVN). CSV diffs are a clean audit trail for translators and reviewers.
  • Use one CSV per editor and one per language pair. Mixing them is exactly what produces the "cannot be imported through Easy Language" error.
  • For Unified V20 projects, prefer the integrated Languages & resources task card over external XLIFF editors when the volume is small; switch to bulk XLIFF only when the translator team requires it.
  • Always re-compile the project (WinCC V7) or rebuild the HMI (TIA Portal) after a bulk import so the runtime database is regenerated.

Notes on the Source Error

The original symptom – the system refuses to import a Text Library CSV through the Easy Language Tool – is the expected behaviour, not a bug. The Text Library and the Easy Language Tool maintain independent multilingual databases with different keying schemes. The fix is to send each CSV back to the editor that produced it. If translation must be distributed across two teams, hand one team the *.csv produced by the Text Library and the other team the *.csv produced by the Easy Language Tool, and merge by ID, not by file.

Related Standards & References

What is the difference between the WinCC Text Library and the Easy Language Tool?

The Text Library stores translations for alarms (bit / analog messages, acknowledgment, status and info texts) and for text-type tags. The Easy Language Tool stores translations for texts inside pictures (static text, button labels, I/O field labels) in .PDL graphics. They use different CSV layouts and cannot be interchanged.

Why does the import fail with "Import file cannot be imported through Easy Language"?

You exported the file from the Text Library but tried to import it through the Easy Language Tool. The Easy Language Tool expects columns for Picture, Object, Property and one column per language; a Text Library CSV has ID and language pairs. Re-import the CSV into the Text Library instead.

How do I translate alarm messages to Spanish in WinCC?

Activate Spanish in Project > Languages > Add/Remove, open the Text Library, export the CSV, fill the Spanish column, save the file as UTF-8, and import it back into the Text Library. Picture labels on the alarm screen are translated separately through the Easy Language Tool.

Does the Text Library switch language automatically at runtime?

Yes, but only for the strings it owns (alarms and text-type tags). When the runtime language changes – via the SetLanguage system function, the area pointer Language, or the user logging on with a different language – WinCC looks up the matching column in the Text Library and the Easy Language database simultaneously.

What is the modern workflow in WinCC Unified (TIA Portal V20)?

Use the Tasks > Languages & resources task card. Pick the reference language, add Spanish, fill the cells or use Export / Import to round-trip an XLIFF / CSV file. There is no separate Easy Language Tool step in Unified – translation is consolidated in the portal.

Back to blog