In this article, we will tell you more about LingoCheck and explain the best ways to use them for your project, text segments and resource files. 

So, what are LingoChecks?

LingoChecks are used for keeping translations for your project within predetermined criteria. Checks can be made on text length, number of line breaks, placeholder names, HTML code or terms. They can be set for individual segments or for the whole project.

The following checks can be made:

  • Mandatory terms – makes sure certain words are kept in the translation for context. For example, trademarks or names.
  • Placeholders – pieces of text that actually relate to other values. E.g. %{firstName} would get the name of a customer and insert it here. These may be necessary for the functionality of the product and so this criteria checks that they are not changed or removed.
  • Line breaks – checks that the segment is the correct number of lines.
  • Min/max characters – sets the allowed of number of characters for a translation. Can be set as a value in relation to the source segment or as a fixed amount. Checks for text length are particularly useful with mobile devices where space is limited.

Throughout LingoHub, you will see the LingoCheck alert symbol if any of your segments do not match the set LingoCheck criteria. You can click on the icon to take you to the offending segments.

1. Setting project-wide LingoChecks

You can find a detailed description of how to define project-wide LingoChecks in the project settings documentation.

2. Setting LingoChecks for individual Segments

Once you’ve accessed the editor by clicking the green “Editor” button you can enter a text segment by clicking the empty field or text in the right column. Follow these few steps to define or edit LingoChecks for a specific segment:

  • Click the Settings button at the top right of the side panel to enter the settings page of the selected text segment.
  • You can now define LingoChecks for character length by entering the minimum and/or maximum number of characters allowed to use for the translation. This can be an offset or fixed limit. (Offsets are only applied to target languages, fixed limits are applied to both the source and target language.)

For example:
Min: -7, Max: +28 : Allows the translated segment to be 28 characters more than the source language text but not exceeding 7 characters fewer than the source language text. (Note the ‘-‘ sign for minimum and the ‘+’ sign for maximum)
Min: 40, Max: 120 : Allows an absolute minimum of 40 characters and an absolute maximum of 120 characters for both the source and target languages

  • Hit “Save Changes” to update any changes you’ve made. If you want to close the side panel now, just use the “Panel” switcher at to the top right of the editor.

Checks for placeholders, line breaks and terms can be defined in your project settings.

3. Setting LingoChecks in Resource Files

In addition to setting LingoChecks in the Lingohub application, they can also be set in the comments of the translations in the resource file during development.

Once a resource file is imported or synced with the Lingohub project, the LingoChecks are extracted from the comments belonging to translations while all plain comments above and below the LingoCheck line, are kept and saved as the translation description.

LingoCheck comment lines start with an lh-check keyword, followed by a curly braces block, with the checks separated by a comma. For example:

#lh-check { max: 25 }

# lh-check { max: 35, min: -4 }

The following criteria can be added to the resource file (Note: these are case sensitive):

  • min: – value/-value. Using a minus sign (-) is an offset in relation to the number of words in the source language.  Entering a number without ‘-‘ makes it a specific value
  • max: +value/value. Using a plus sign (+) makes the value offset (compared to the source language), entering a number without ‘+’ is a specific value

You can view an example of the LingoChecks syntax in this .properties (Grails) file.

Did this answer your question?