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.
Configuring Project Languages
- Open the WinCC flexible project (.hmi) in WinCC flexible ES.
- Navigate to Project » Language & Font.
- In the Active project languages column, enable English (or your reference language) and the target language (for example Spanish / Español).
- Confirm that the Runtime language setting permits the panel to switch languages via the configured language toggle bit or scheduled task.
- 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
- Open the project in WinCC flexible ES.
- From the menu bar, select Tools » External Texts » Export (or in localized builds: Texto externo » Exportar).
- In the file dialog, choose a storage path and a filename. The default extension is
.csv; an.xlsoption is also offered for direct Excel write. - 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.
- 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
- Open the exported
.csvdirectly with Microsoft Excel. Use File » Open and explicitly select Text Files (*.csv;*.txt). - 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.
- Populate the Target_Language column with the customer's translations.
- 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.
- 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
- Return to WinCC flexible ES with the same project open.
- Select Tools » External Texts » Import.
- Browse to the saved CSV, then click Open.
- 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.
- Save the project (Project » Save).
- 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. |
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.
Verification
After importing the translated CSV, perform the following verification sequence:
- Compile check: Project » Compiler » Compile (incremental). Any warning regarding text dictionary mismatches must be resolved before download.
- 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.
-
Runtime simulation: Start WinCC flexible Runtime, trigger the language toggle (system function
SetLanguageor the configured language bit), and verify each translated alarm appears as expected. - 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.
- 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:
- How can you export and import texts with WinCC flexible in Microsoft Windows XP or Windows 2000? (Siemens ID 21752508)
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.