See also:
What You Can Translate
For large organisations, you may need deploy a PhixFlow application across sites in different countries. You can configure some of the text in the application to be displayed in a different language.
Translatable PhixFlow property containing the source text | Where the text appears in the application |
---|---|
Menu → Name | The menu name appears an option in a menu. |
Menu item → Name | The menu item name appears as a sub-menu option. |
Action → Basic Settings → Display Name | Exception - see below. |
Layout component (any) → Description → Tooltip | For any layout component, when the user hovers their mouse pointer over the component, PhixFlow displays the tooltip text. |
Layout component for static text → Display Text | Static text appears:
|
Stream view attribute → Grid Settings → Label or if there is no label → Basic settings → Name | This text appears in a layout or dashboard that displays data:
|
Stream attribute | Stream attributes appear in stream views, in the column headers for grids. |
Stream attribute <values> only when the Stream → Advanced → Translate Values property is selected. | Stream attributes values appear in stream views, such as grids and charts that display the stream's data records. |
An expression defined with the translate() function, for example: Action → Basic settings → In Progress Message | The expression appears as a message, which notifies the user of the progress or completion of an action. |
PhixFlow cannot translate:
- Stream attributes in analysis models are not translated by default.
- Layout component dynamic text, because this displays data from the stream.
- Grid view → Basic Settings → Name. This appears as the title of the grid when it appears in a layout or dashboard.
- In a grid view → attribute action → tooltip: if this includes the action display name, it is not translated.
- Number formats.
The list of locales available in PhixFlow is a standard list. The presence of a specific locale does not indicate that translations are available for the locale.
If a user selects a Locale that has no:clientengb
file).
What PhixFlow Does to Translate Text
When a user opens an application, PhixFlow goes through the following steps to determine which language to display:
- PhixFlow checks the user's locale.
- For source text in a translatable field in the application interface, PhixFlow looks in the translation table.
- PhixFlow finds an entry code string that exactly matches the text in the interface.
- PhixFlow matches the user's locale language to a language name in the translation table.
- PhixFlow displays the translation text for that language instead of the source text.
PhixFlow displays the untranslated source text if it cannot find any translation. This may be because:
- no translation text is defined
- the language is not present in the translation table
- there is no exactly matching entry code
- no translation table has been set up for the application.
How to Configure Translation
Step 1. Set Up Languages and Locales
PhixFlow is supplied with a set of languages at the system level. These populate the drop-down lists in locales and in the translation table. If you have administration privileges, you can add more languages in the repository; see Language. You cannot add languages at the application level.
You can set up locales at the system level or the application level; see Locale. If all your applications will need to use the same set of locales, it is more efficient to set them up at the system level (in the full repository) rather than at the application level (within the application's repository).
You may need to move an application to a different PhixFlow instance. For example it is common to design and configure applications in a development instance. When the application is ready to use, it is moved (exported/imported) to a production instance.
If your application is using the system level languages and locales, they must also be present in the destination PhixFlow instance.
When a user opens an application, PhixFlow checks the user's locale.
- In the application repository, right-click Locale and Add Locale.
- Enter a name for the Locale, and select a language from the Language Name drop-down list.
You can only delete a language from the repository when it is no longer used by any locale.
Step 2. Set Up the Translation Table
Every text string that you want to translate must be listed as an entry code in the translation table. For details about setting translation table properties, see Translation Table.
It is important to be consistent in capitalisation and to minimise the strings, as you need to create entries that pair the text to all the translations.
An application is able to translate text using the information in its translation table. The table contains a list of whole text strings which must exactly match those used in the application.
The translation table must include all variants of a string, for example, with different:
- spelling variants
- capitalisation
- spacing
- punctuation.
For each text string you must add the translation for each language you want to support.
It is not possible to break the strings into substrings or translation. For example, you must translate ‘First Name’ and ‘Family Name’ separately, rather than creating translation strings for 'first', 'family' and 'name'.