![]() |
Validation |
Validation helps you find errors in the translations and in the original strings. You can use validation in real-time mode, in batch mode, or both.
Translation validation helps you find errors in the translations. Always run validation on your translations before you create the localized files or send the translated project back.
By default, Soluling uses real-time (live) validation, which validates all visible translations, and new translations as soon as you have edited them. If a translation has one or more validation errors, an error icon (a yellow triangle with an exclamation mark) is shown in the state column.
![]()
Hover the mouse over the icon to see the validation error. If the error can be fixed automatically, a Fix button is shown. Click it to fix the translation. If the error cannot be fixed automatically, edit the translation.
To select which validations the real-time validation uses, click Validation | Translation | Live Settings. To specify when the real-time validation is used, use the Grid Glossary and Validation sheet of the Options dialog.
To validate all the rows of your project, click Validation | Translation | Validate As. A dialog lists the validations that can be applied to translations. Soluling then checks all the rows of your project and shows the validation errors in the validation sheet. Validation | Translation | Validate runs the batch validation again with the previous settings.
To change the settings without running the validation, click Validation | Translation | Batch Settings.
In the validation sheet, select an error and click Fix to fix it, or click Fix All to fix all the errors that can be fixed automatically.
Note! The real-time and batch validations have separate settings. If you want to use the same settings in both, set them in both places.
You can exclude a validation from a specific translation. In real-time mode, right-click the cell in the state column where the validation error icon is shown and choose Exclude validation or Exclude validations. The former is shown if the translation has only one validation error, and the latter if it has several.
In batch mode, right-click the validation error in the validation sheet and choose Exclude validation.
To see and edit the excluded validations, click Validation | Translation | Excluded.
Original validation helps you find errors in your original strings. Always validate your original strings before you translate them, so that you find possible errors before you give anything to the translators. Click Validation | Original | Validate As to show a dialog that lists the validations that can be applied to original strings. They are Empty original, Only spaces in original, and Duplicate space characters.
Soluling divides the validations into three groups.
| Validation | Description |
|---|---|
| Missing translation | The translation has no value. |
| Empty translation | The translation is empty. |
| Only spaces in translation | The translation contains only space characters. |
| Same original, different translation | Several rows have the same original value but are translated differently. |
| Different original, the same translation | Several rows have different original values but the same translation. |
| Maximum characters | The translation is longer in characters than the specified maximum length. |
| Maximum pixels | The translation is longer in pixels than the specified maximum length. |
| Inconsistent terminology | The translation does not use the same terminology as the original string. |
| AI validation | Uses AI (e.g., Claude) to check that the translation matches the original string. To use it, set the API keys and models of the AI service. See AI. Note! This validation is slow, so we recommend using it only in batch validation. |
| Validation | Description |
|---|---|
| Newline character | The translation and the original string have a different number of newline characters. |
| Space character | The translation has a different number of leading or trailing space characters than the original string. |
| Colon character | The translation has a different number of leading or trailing colon characters than the original string. |
| Period character | The translation has a different number of leading or trailing period characters than the original string. |
| Exclamation mark | The translation has a different number of leading or trailing exclamation marks than the original string. |
| Question mark | The translation has a different number of leading or trailing question marks than the original string. |
| Horizontal tab character | The translation has a different number of leading or trailing tab characters than the original string. |
| Vertical bar character | The translation has a different number of leading or trailing vertical bar characters than the original string. |
| Lower case | The original string is in lower case, but the translation is not. |
| Upper case | The original string is in upper case, but the translation is not. |
| Capitalization | The original string is capitalized, but the translation is not. |
| Inconsistent hotkey | The original string has a hotkey, but the translation does not, or the translation has a hotkey, but the original string does not. |
| Invalid hotkey character | The hotkey character is invalid. |
| Invalid hotkey position | The hotkey character is in the wrong position. |
| Duplicate hotkey | The same hotkey is used by two or more items of the same form or menu. |
| Duplicate accelerator | The same accelerator is used by two or more items. |
| Duplicate shortcut | The same shortcut has been assigned to two or more controls. |
| Inconsistent format string | The string is a composite format string, and the translation does not have the right number or types of placeholders. |
| Possibly extra format string | The string is a composite format string, and the translation has more placeholders than the original string. |
| Inconsistent format string comment | The comment of a composite format string does not match the pattern, or the format string has no comment. |
| Inconsistent pattern count | The translation of a multi-pattern string, such as a plural or gender string, does not have the right number of patterns for the target language. |
| Required string | The translation is required to have a value. |
| Inconsistent dialog filter string | The translation is a file dialog filter string that does not have the same structure as the original string. |
| Wrong quotation character | The translation uses a quotation character that is not typical for the language. |
| Duplicate space characters | The translation contains two or more consecutive space characters. |
| Inconsistent XML string | The XML in the translation is invalid. |
| Inconsistent HTML string | The HTML in the translation is invalid. |
| Validation | Description |
|---|---|
| Clipped text | The text of a control is clipped because the control is too small to show the full text. |
| Overlapping controls | The control overlaps another control and may hide parts of it. For example, a label is under a text field. |
| Control out of client | The control is outside the client area of its parent control, so parts of the control may be cut away. |
Note! The controls and layout validations currently work only with Delphi sources.
Translate, the browser application of Soluling Cloud, also validates the translations as you type. It uses most of the translating and formatting validations, such as placeholders, hotkeys, punctuation, case, length, quotation characters, and duplicate spaces.