Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page is for application designers who

...

want to

...

translate an application interface

...

into different languages

...

.

Overview

To translate text strings that appear in your application, create a translation table. The translation table contains:

  • The exact text string that appears in the application interface: the entry code
  • The translated text: the translation string
  • The language of the translated text: the language name.

This page explains how to configure translation of text in PhixFlow.

Note

You cannot translate the PhixFlow interface itself. Any notification, warning or error messages reported by PhixFlow will continue to be in English.



Panel
borderColor#7da054
titleColorwhite
titleBGColor#7da054
borderStylesolid
titleSections on this page

Table of Contents
indent12px
stylenone


...

What You Can Translate

For large organisations, you may need deploy a PhixFlow application across sites in different countries

...

. You can configure

...

Translatable strings are set up using the translate() function?. You can use this function on:

  • Labels and Static Text in forms, buttons, tab headers and other areas
  • Grid Column Headings including groupings
  • Menu Items in grid headers

You cannot configure translation on:

  • Display Name of a grid
  • Menu Items in the application menu. These will appear as translated when a user first logs into the application. However, when the page is reloaded, the menu options will revert to the source language.
  • Action Display Names which are displayed in the tooltips for an attribute action on a grid.
  • Data in grids or forms, including any dynamic text that displays values from data
  • Number formats. 
  • Error messages generated by PhixFlow.

Translation works as follows:

  1. You have defined strings in the application as translatable, using the translate() function. 
  2. The user accesses a data view, dashboard or layout that contains a translatable string.
  3. PhixFlow checks the user locale to identify the language the user requires.
  4. PhixFlow looks in the translation table and displays a translation of the label if it finds:
    • a string that exactly matches the translatable string
    • in the language the user requires.
Tip

Remember, everything (except users) needs to be created within the application's repository.

Set up Languages and Locales

If the language you need is not already listed in the Translation table, add the language to the Full Repository. You cannot set up specific languages for the application. 

Can you use the Locales set for the system or copy them into your repository?

...

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 → NameThe menu item name appears as a sub-menu option.
Action → Basic Settings → Display Name


Exception - see below.

Layout component (any) → Description → TooltipFor 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:

  • in titles, for example on a form
  • or labels on components, such as buttons.
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:

  • in the column header of a table
  • in the axis label or legend of a chart
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.
  • The data in the stream.
  • 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. 
Tip

Messages reported by the PhixFlow platform can be translated, but this must be configured by the system administrator.

What PhixFlow Does to Translate Text

When a user opens an application, PhixFlow goes through the following steps to determine which language to display:

  1. PhixFlow checks the user's locale.
  2. For source text in a translatable field in the application interface, PhixFlow looks in the translation table.
  3. PhixFlow finds an entry code string that exactly matches the text in the interface.
  4. PhixFlow matches the user's locale language to a language name in the translation table.
  5. 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).

Tip

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.


  1. In the application repository, right-click Locale and 
    Insert excerpt
    _add
    _add
    nopaneltrue
     Locale.
  2. 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.

Configuring Translation

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.

Tip

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'

...

Create and populate the translation table

...

.

...

  1. Basic Settings → Entry Code: the string that is to be translated - exactly matching how it appears in the interface.
  2. Translation Cell: add an entry for each language the string will be translated into (how?) and set:
    • Translation String to the translated version
    • Language Name to the language

Date Time Formats

Depending on a user's locale, PhixFlow can change the way it displays dates and times. The mappings are expressed using dd/MM/yyyy strings. If you want to translate month names or abbreviations, such as "January" is not translated to  "Janvier", "Jan" is not translated to "Janv", use text string translation. 

Step 1.  Create a date-time format

...

  • Name, add a name. Consider relating the name to the locale.
  • Date Time Format String: use d, M, y, H, m and s to specify the format - link to relevant page on dddmmm etc
    If you do not configure any mappings, PhixFlow uses this format to display date-times for all locales.

Step 2.  Map the format to alternative formats for each locale

...

  • Date Format: use d, M, y, H, m and s to specify the format you want to use for the locale, for example dd/MM/yyyy or dd-MM-yy HH:mm:ss.
  • Date Style Name: the Date Style you created for the Locale 
    I cannot add the name and I cannot save the mapping

...

Step 3.  Add the Date Time Format to your Locale

  1. In the application repository, open the locale for your application.
  2. In Basic Settings → Date Style Name, select the format you just created from the drop-down list.

...

Ensure all Date Time Formats are removed from a locale before deleting them from the repository.

...