Manage language-dependent text in IFS report layouts
Documentation-based guide draft · Reviewed against sources on 2026-09-27 · Not executed in an IFS environment. IFS references use 26R1 unless stated otherwise. Confirm available APIs, components, and permissions in your installed release.
Change one layout label according to the report’s output language using Report Designer’s string translation function. This solves a layout-specific wording requirement without changing the translation used everywhere else in IFS.
Before you start
Section titled “Before you start”Use Report Designer, a copy of the actual registered RDL/schema, and access to generate the report in two installed languages. This exercise uses English and Swedish for a fictional dispatch label: Dispatch note and Leveransbesked. Have a language reviewer approve real business wording before production use.
1. Record the existing label and language source
Section titled “1. Record the existing label and language source”Generate a baseline PDF in each target language. Record Report ID, layout, report language, and the label’s current text. In Report Designer, select the target cell and inspect whether it contains literal text, a report data value, or a translated schema label.
Use a layout expression only for an intentional exception on this layout. If the same wording must change across many reports, use the governed translation process instead of duplicating expressions in every RDL.
2. Insert the translation function
Section titled “2. Insert the translation function”- Save a lab copy of the layout with an identifiable title.
- Select the target text cell and open Function Designer.
- Clear the previous cell expression only after saving it for rollback.
- Select StrTranslate with the default-value argument.
- For the comparison value, select the report’s language code under
PROCESSING_INFO / FORMATTING_OPTIONS / LANG_CODEusing the schema/function editor. - Enter
en,svas the lookup list andDispatch note,Leveransbeskedas the corresponding result list. - Enter
Dispatch noteas the fallback.
The editor should generate the namespace prefixes and the relative XPath appropriate to that cell. Do not copy a fixed number of ../ steps from another layout.
A representative expression, using a document-wide language selection, is:
vldtstr:strTranslate(//tns:PROCESSING_INFO/tns:FORMATTING_OPTIONS/tns:LANG_CODE, 'en,sv', 'Dispatch note,Leveransbesked', 'Dispatch note')Use the function and prefixes inserted by your designer. Confirm that the chosen XPath returns the single formatting language for the report. If multiple nodes match in your schema, use the exact path generated from the current cell instead.
3. Check list alignment and fallback
Section titled “3. Check list alignment and fallback”Each language in the first list corresponds to the text at the same position in the second list. Swapping only one list changes the meaning. This function uses comma-delimited lists, so a phrase containing a comma needs a different supported expression strategy rather than an unexamined extra comma.
Inspect the actual language code used at runtime. en and en-US are not interchangeable string matches. Use the values present in your environment, with an explicit fallback for unlisted values.
4. Preview and deploy the lab layout
Section titled “4. Preview and deploy the lab layout”Preview with sample XML containing each target language code. Check that the longest label fits the cell and does not overlap neighboring fields.
Open the report definition in IFS, register/select the lab layout, and use Import Layout. Generate a fresh report in English, then Swedish. Selecting a UI language is not a substitute for confirming the language chosen for report output.
Expected result: only the selected label changes with the output language; numeric/date formatting and unrelated labels retain the report’s normal behavior.
5. Diagnose unchanged or incorrect text
Section titled “5. Diagnose unchanged or incorrect text”| Symptom | Check |
|---|---|
| Always shows fallback | XPath value, language-code spelling, and namespace prefix |
| Text never changes after import | Selected runtime layout and correct RDL import |
| Wrong language’s text | Position of entries in the two lists |
| Function error | Function inserted by the editor, quotes, and supported argument count |
| Label is clipped | Cell width, font size, wrapping, and neighboring elements |
Repeat the test for an unlisted language and a blank language input in a local fixture. Confirm fallback is deliberate rather than an accidental empty string.
6. Package the change and restore if needed
Section titled “6. Package the change and restore if needed”Record the layout name, exact changed cell, old expression, new expression, test languages, and reviewed PDFs. Keep the original RDL available for reimport. If a global translation was actually needed, revert this exception and use Text Translations and your normal language delivery process.
The precise function contract is documented under Report Designer functions.
Sources and scope
Section titled “Sources and scope”Older IFS Applications examples are historical context, not evidence of Cloud compatibility. No third-party code, screenshots, or downloadable workflows are reproduced.