WinCC Flexible Project Text Translation: CSV Export-Import Guide

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

Multi-language HMI projects are a routine requirement on Siemens panels configured with WinCC flexible 2008 SP3 and later. A common field problem is that the secondary language column (for example Spanish or Finnish) appears blank after an export/import round-trip, or that the importer returns only the source-language column. This typically happens when the project was originally opened or saved without the target language being installed in the operating system, or when the user performs the export from the wrong project-language selection.

The correct workflow is to export the project's translatable texts to a comma-separated-values (CSV) file through the WinCC flexible menu, populate the second-language column in Microsoft Excel, save the file back to CSV with the correct code page, and then re-import the file into the same project. This procedure applies to alarm texts, screen text labels, button labels, text lists, and graphic object text fields. It is documented in the Siemens Industry Online Support article How can you export and import texts with WinCC flexible in Microsoft Windows XP or Windows 2000?

This reference walks through the full procedure, explains why the Spanish column often comes back blank, and provides the character-limit discipline required for alarm and button text on Siemens panels.

Prerequisites

Before starting the export-import cycle, verify the following on the engineering workstation:

  • WinCC flexible ES version 2008 SP3 or later (SP4/SP5 also supported). Hotfix HF7 or later is recommended for improved Unicode handling.
  • The target language pack is installed in WinCC flexible (Start » Programs » Siemens Automation » WinCC flexible » Language Setup). The language must be marked as available in Project » Language & Font.
  • Windows regional settings (Start » Control Panel » Regional and Language Options) configured for both source and target language. On Windows XP/2000, install the East Asian or complex-script language support if the target language requires it.
  • The project must be opened and saved at least once in WinCC flexible with the target language enabled; otherwise the runtime dictionaries never create the secondary column.
  • Microsoft Excel 2003/2007/2010 (32-bit) for editing the CSV file. Do not use 64-bit Office when round-tripping files produced by WinCC flexible 2008, as codepage detection can fail.
  • A plain-text editor such as Notepad for verifying the CSV separator and encoding after the Excel save.
If the WinCC flexible language is set to English but the customer's request involves Spanish (Español), Finnish, German, or another Latin-language locale, the secondary language column will not be created at export until the language has been added under Project » Language & Font with Active runtime language enabled.

Configuring Project Languages

  1. Open the WinCC flexible project (.hmi) in WinCC flexible ES.
  2. Navigate to Project » Language & Font.
  3. In the Active project languages column, enable English (or your reference language) and the target language (for example Spanish / Español).
  4. Confirm that the Runtime language setting permits the panel to switch languages via the configured language toggle bit or scheduled task.
  5. Click Apply, then OK. Save the project with Project » Save so the language dictionaries are rebuilt.
Setting Path Recommended Value
Project language 1 Project » Language & Font English (United States)
Project language 2 Project » Language & Font Spanish (Spain, traditional sort) / España
Font for language 2 Project » Language & Font Tahoma 12pt or WinCC flexible default
Operating system input language Control Panel » Regional and Language Options » Languages Install files for East Asian and complex script support

Step-by-Step Export-Import Procedure

Step 1 — Export project texts

  1. Open the project in WinCC flexible ES.
  2. From the menu bar, select Tools » External Texts » Export (or in localized builds: Texto externo » Exportar).
  3. In the file dialog, choose a storage path and a filename. The default extension is .csv; an .xls option is also offered for direct Excel write.
  4. Confirm the Source language (typically English) and Target language (Spanish) are correctly set. The selection here is what determines whether the secondary column is generated.
  5. Click Export. WinCC flexible produces a CSV file with the layout shown below.

Step 2 — Inspect the CSV layout

A correctly generated export for a bilingual project contains a header row followed by text records. A typical line for an alarm looks like:

ID;Source_Language;Target_Language;Comment
ALARM_001;Motor overload;Sobrecarga del motor;Discrete

If the export returns a file with only one text column repeated twice, the target language is not registered in the project. Re-run Steps in the Configuring Project Languages section, save the project, then re-export.

Step 3 — Translate in Microsoft Excel

  1. Open the exported .csv directly with Microsoft Excel. Use File » Open and explicitly select Text Files (*.csv;*.txt).
  2. If Excel starts the Text Import Wizard, choose Delimited, separator Semicolon (;), and the system code page matching the target language (typically Windows-1252 for Spanish). Do not select UTF-8 unless WinCC flexible 2008 SP5 with the Unicode HF was used.
  3. Populate the Target_Language column with the customer's translations.
  4. Save the workbook with File » Save As » CSV (Comma delimited) (*.csv). Excel will warn that the format does not support multiple sheets — click Yes to continue.
  5. Close Excel. Re-open the file in Notepad and verify the semicolon separator, the correct number of columns per line, and the absence of stray commas in the translated text (replace with semicolons inside the field or quote-escape them).

Step 4 — Import translated texts

  1. Return to WinCC flexible ES with the same project open.
  2. Select Tools » External Texts » Import.
  3. Browse to the saved CSV, then click Open.
  4. WinCC flexible shows an import summary dialog: number of records imported, number of records skipped, number of records with errors. Investigate any non-zero error count before closing.
  5. Save the project (Project » Save).
  6. Compile and download to the panel or, for simulation, launch the WinCC flexible Runtime and use the language toggle to verify the translated alarm text appears.

Resolving the Blank Spanish Column

The symptom most often reported is: "I selected Spanish as target language but the exported file contains only English; the Spanish column is missing." The root causes and remedies are:

# Symptom Root Cause Remedy
1 Export shows only the source-language column Spanish language was not activated in Project » Language & Font before export. Enable the language, save the project, re-export.
2 Import dialog reports "0 records updated" CSV delimiter was changed to comma during the Excel save, breaking the row alignment. Re-save the CSV with semicolon separators; verify in Notepad.
3 Spanish characters (ñ, á, í) display as ? or garbled Wrong code page at import; system locale not set to Spanish. Set regional settings to Spanish, re-export and re-import.
4 Alarm text length truncated on panel Translated text exceeds the alarm-line character limit (typically 32 chars per line on 4" panels). Use abbreviations; split into multiple lines.
5 Import reports "unknown object ID" CSV was edited outside the project; object IDs no longer match. Re-export the current project, re-apply translations only to the target-language column.
Never edit the ID column or the Source_Language column in the CSV. Only the Target_Language (and optional Comment) column is intended for translator input. Changing the ID column silently breaks the link between the CSV and the HMI object.

Handling Alarm Text Translations

Alarms are the most common source of translation effort. In WinCC flexible, alarm text is stored per language under the alarm class. The character limits vary by panel class:

Panel Class Alarm Text Length (per line) Lines Available Total Characters
KTP400 Basic 20 2 40
KTP600 / TP700 32 3 96
KTP1000 / TP1200 40 4 160
MP 277 / MP 377 48 5 240
PC Runtime (WinCC flexible RT) 255 Unlimited n/a

Because Romance languages expand roughly 20–30% over English, a sentence that fits on one line in English often needs two lines on a small panel after Spanish translation. Best practice: keep the character count of the translated line within ±15% of the English source, and use the following substitution strategy before resorting to abbreviations:

  • Replace "Motor overload detected" (24 chars) with "Motor overload" (13 chars) — Spanish equivalent "Sobrecarga motor" (16 chars).
  • Move status information to the second line of the alarm so the first line remains short.
  • Use standard IEC 61131-3 mnemonics (I, O, M, DB) that translate directly without expansion.

Character Limits and Abbreviations Strategy

The cardinal rule when populating the target-language column is to keep the number of characters per line approximately equal to the source-language line. WinCC flexible does not auto-wrap alarm text in the alarm view, and any overflow is silently truncated at runtime.

Worked example

English alarm source (KTP700, 32-char limit):

Compressor 1 high discharge temp

Character count = 36 → already over the 32-char limit. Compromise English source first:

Compressor 1 high discharge T

Character count = 29. Spanish translation under the same constraint:

Compresor 1 T descarga alta

Character count = 27. Both fit on a single alarm line and remain readable to the operator.

When you cannot match character counts, choose to shorten the English source first and then translate. Translating first and then trying to compress the Spanish line typically yields awkward machine-translated phrasing and operator confusion.

Verification

After importing the translated CSV, perform the following verification sequence:

  1. Compile check: Project » Compiler » Compile (incremental). Any warning regarding text dictionary mismatches must be resolved before download.
  2. Ribbon consistency: Open the alarm editor and select a representative alarm. Verify that both language columns show non-empty text and that the active language displays correctly in the editor preview.
  3. Runtime simulation: Start WinCC flexible Runtime, trigger the language toggle (system function SetLanguage or the configured language bit), and verify each translated alarm appears as expected.
  4. Panel download: Transfer the compiled project to the target panel and trigger an alarm from the PLC side. Confirm the Spanish text renders without truncation.
  5. CSV re-export test: Re-export the project and confirm the Spanish column is now populated. This round-trip test confirms that the import was successful and the dictionary was written.

Troubleshooting Matrix

Problem Likely Cause Diagnostic Remedy
Export produces only English column Spanish not enabled in Project » Language & Font Open the project and inspect the language list. Add Spanish, save, re-export.
Spanish characters render as ? Wrong code page at import Open CSV in Notepad; check byte representation of ñ. Re-import with code page 1252; install Spanish regional settings.
Import reports row count mismatch Translator added/deleted rows in Excel Count CSV lines before and after editing. Restore the row count; never add or delete rows.
Alarm text truncated on panel Translated text exceeds panel line length Trigger alarm in runtime; measure visible characters. Shorten source text first, then re-translate.
Import silently fails with no message Project was not saved after enabling the language Check Project » Properties » Version; verify project build. Save the project, then re-import.
Texts import but do not appear in Runtime Wrong project used for download Compare project ID on the panel with engineering project. Recompile and re-download.
Excel saves CSV with commas instead of semicolons Locale mismatch in Excel Open the saved CSV in Notepad and check separator. Use Save As » CSV (semicolon delimited) or pre-configure regional list separator.

Best Practices for Multi-Language WinCC flexible Projects

  • Standardize the export path. Store the CSV exchange in the project folder under \\ProjectName\\Localization\\ and version-control the files with the same revision number as the project.
  • Use a glossary file. Maintain a single Excel glossary of approved translations for repeated terms (motor, valve, fault, warning) and feed it to translators to ensure consistency across projects.
  • Lock the ID column. Protect the CSV sheet in Excel so translators cannot accidentally modify the ID or Source_Language columns. Allow editing only on the target-language column.
  • Always re-export after import. The post-import export acts as an audit trail; it should match the translator's submitted file row for row.
  • Test on the target panel. PC Runtime and panel Runtime render fonts differently. A translated string that fits in WinCC flexible RT may overflow on a TP177 or KTP700 due to font metrics.
  • Keep the source-language line short. Every character saved on the English line is multiplied across all translations; design the source text for translation.
  • Document the export timestamp. Include the export date in the filename (ProjectName_Export_2024-05-12.csv) so multiple translators can work in parallel without colliding.

References to Official Documentation

For further detail on the export-import mechanism under Windows XP and Windows 2000, consult the Siemens Industry Online Support entry:

Why does my WinCC flexible export contain only English even though I selected Spanish as target language?

Spanish was not enabled in Project » Language & Font before the export. Enable the language, save the project so the dictionary is rebuilt, and re-export. WinCC flexible only generates a column for languages that are registered in the project's language list.

How do I keep Spanish translations within the alarm text length on a KTP700 panel?

The KTP700 supports 32 characters per alarm line with up to 3 lines. Shorten the English source first so the Spanish translation fits within ±15% of that length, then translate. Spanish typically expands 20–30% over English, so design the source text with translation in mind.

Which CSV separator does WinCC flexible use for the text export?

WinCC flexible 2008 uses a semicolon (;) as the default field separator. After editing the file in Microsoft Excel, save with Save As » CSV (semicolon delimited) and verify in Notepad. If your regional Excel settings replace the separator with a comma, the import will fail or misalign rows.

Can I auto-translate project texts with a machine-translation tool?

WinCC flexible does not include a built-in translation tool. Third-party CAT (Computer-Assisted Translation) tools can read the CSV, pre-fill the target-language column, and let a human translator review. Never ship machine-translated alarms without operator review because critical error messages can become dangerous if mistranslated.

What happens if I exceed the character limit on the panel alarm view?

WinCC flexible truncates the alarm text at the panel line length without warning. The operator sees a partial message, which is unacceptable for safety-critical alarms. Always verify each translated alarm on the actual panel, not only in WinCC flexible Runtime, because PC Runtime has effectively unlimited text length.

Back to blog