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

Translation tables do not translate the PhixFlow interface itself. Property tabs and any notification, warning or error messages reported by PhixFlow will continue to be in English. 

It is possible to translate the PhixFlow interface and messages using a client language file. Contact support@phixflow.com for more details on how to do this.



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

...

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

PhixFlow cannot translate the following:

  • 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. 
  • Changing location settings on my computer did not change the thousands separator or the decimal separator

Translation works as follows:

  1. User has an account in PhixFlow (only visible in the full repository and to those with permission)
  2. User is assigned to a user group.
  3. Your application also has user groups - which determines which people can see the application
  4. Each user has a locale setting . When the User's locale setting matches one of the locales you set in the application, the application is translated into the language set for that application.
Tip

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

Set up Languages and Locales

Can you use any existing configuration in the repo?

Check the list of Locales in the Full repository? can you reuse them?

Check whether or not the language is already there - drop-down list.

If the language you need is not already available, add the language.

  1. How?

...

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
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. 

Insert excerpt
Locale
Locale
nopaneltrue

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.

...

.

...

  • 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.

...