How to translate a component

Good vs. bad translations

Translations of fields, functions, buttons, messages, labels etc are a critical part of any component as these small pieces of text are the only information that a user gets to figure out how a component should work.

  • Good translations make a component easy to understand and enable the user to successfully interact with a component without external help or additional instructions.
  • Bad translations can lead to a “trial and error” behaviour of users, cause confusion and can lead to unintended use.

Also read the guidelines for naming UI elements.

Generic

A translation should be generic and should not contain customer specific terms, especially when there already is a dedicated name within the Novulo reference architecture. For example, it is better to call a button “Send purchase” instead of “Send order”. In the context of an application with sales related data, “Send order” could be misunderstood as “Send sales order”.

Context

Translations need to fit into the context of the UI where they are displayed. It might be tempting to simply use Google Translate to generate translations, but this already lead to funny results.

EN “menu” → DE “Speisekarte” instead of “Menü”

Se be aware that translation tools might provide translation that are technically correct but completely miss the context of the component.

Consistency

Translations need to be consistent across all components, which also includes components that the user might not know about. As Novulo components can be combined, and it is normal that the fields in a form stem from different components. To avoid confusion, open the integrated model of the application where you want to deploy your component and make sure that you use the same terms for the same concepts/features. Also cross-check with different related components that are not part of the application.

Correctness over completeness

Translations need to be CORRECT. When you are unsure about a translation, it is better to leave a translation empty. When an application with missing translations is rolled out, users will still see the translation of the fallback language (English in most cases). A bad translation that misleads users is worse than a missing translation that forces the user to google/learn a new word.
Wrong translations lead to wrong assumptions by users, which leads to wrong decisions, which leads to unintended use. This can result in data loss, revenue loss and in general unhappy users.

How to translate a component

If your Architect problems manager is showing your component is fully translated anymore, use the following steps to find all places where translations are missing:

  1. Follow the steps in the screenshot and [4] pick the language you want to check the translations for.
  2. The view on the left will show a treeview of all missing translations. By clicking on it you can translate it at [6] or [7] in case a description needs to be translated as well. (for example in case of a checkbox)
  3. When translated, the treeview will update and the goal is that the treeview is empty.

How to translate a component (Bulk)

If translations have to be created inbulk, use the following process to do it via an Excel sheet:

  1. Exports the current translations from the component to a CSV file

(1) Source language
(2) Language that needs translation
(3) Export button

  1. Prepare all translations in the exported CSV file in Excel. When you save the file, do not change the file type, leave it as a CSV file. Otherwise, importing might not work.
  2. Detect and solve inconsistencies. Paste the following formula to cell F2 and apply it to the whole column:
=IF(COUNTIF(D:D,D2)>COUNTIF(E:E,E2),"Inconsistent",IF(COUNTIF(D:D,D2)<COUNTIF(E:E,E2),"Translation used to often?","Good"))

If the formula above does not work in your Excel, try the other version with semicolons

=IF(COUNTIF(D:D;D2)>COUNTIF(E:E;E2);"Inconsistent";IF(COUNTIF(D:D;D2)<COUNTIF(E:E;E2);"Translation used to often?";"Good"))
  1. Ask a colleague that is fluent in the language to review your translation within the Excel sheet.
  2. After reviewing the translations, they can be imported back into the component with the import button.
1 Like