Setting up the Reference Language
In version 1.4.0 of KMFasTrans PRO we introduced a new concept in the process of translating a website that we have called 'inconsistencies'. The purpose of this new feature is to detect potential mistakes that can occur when creating a multi-language site.
We say that an element is inconsistent when one of its parameters is not consistent in the context of the element. For example, an article in English language whose category is in Spanish.
As expected, the detection of inconsistencies is costly in terms of database access. Depending on the size and number of languages on the site you may want to disable the detection of inconsistencies while building a new language and enable it when it has been finished or is about to finish in order to find all the inconsistencies in one detection cycle. A configuration option is available to enable or disable the detection of inconsistencies.
You may also want to disable the detection of inconsistencies if greater freedom to make the translations is desired. The detection of inconsistencies is preventive, preventing certain actions that if taken would create an inconsistency. For example creating a set of translations that lacks an element in the reference language, or creating a translation from a source element that has inconsistencies.
If inconsistencies detection is enabled, inconsistencies will been calculated when editing any element and the result will be displayed in the editing screen. Inconsistencies may also be calculated for all elements in a process we call 'Consistency check'.
With the detection of inconsistencies enabled the Translations Management Dashboard screen will show the current reference language and will signal all items that contain inconsistencies. (See the screenshots of the Translations Dashboard below).
Our advice is to keep enabled the detection of inconsistencies because it helps to find mistakes in the multi-language structure. A website that does not contain inconsistencies provides the guarantee that all that has been translated is consistent and it is going to have the same behavior in any language.
There are two types of inconsistencies that we call 'self' inconsistencies and 'translation' inconsistencies that we will explain in detail below.
The Reference Language
Translation Inconsistencies are always detected in relation to the source of the translation. For example if the item Art1-GB in English language is assigned to the category Cat1-GB in English langauge and the translation of Art1-GB into Spanish language is Art1-ES, then the category Cat1-ES of Art1-ES must be the translation into Spanish language of the category Cat1-GB. If it is not or does not exist, Art1-ES has a translation inconsistency. To detect this inconsistency Art1-ES is analyzed with regard to Art1-GB which in this case is the source of the translation.
Thus it is necessary to have a reliable source with respect to which perform the detection of inconsistencies. This reliable source is one of the content languages defined in the site that we have called the 'Reference Language for detecting inconsistencies'. The reference language is selected on the screen that displays the content languages and it's usually the default site language.
For the reference language to be reliable it shall not contain inconsistent items (items with self-inconsistencies) because if an item has inconsistencies and is used as a translation source it will transfer its inconsistencies to the translated element. Since the reference language is the reference for translations into other languages, by definition the elements in the reference language can not have translation inconsistencies, only self-inconsistencies or no inconsistencies.
Although it is necessary to define a reference language is still possible to make translations from any language to any language because the detection of inconsistencies will check that the source item of the translation is not inconsistent, preventing the translation to occur if it is.
When you install KMFasTrans, the instalation process will choose the default site language as the reference language if it is also a content language. If it wasn't a content language, the first content language found will be used. If there weren't content languages configured the detection of inconsistencies will be disabled.
The reference language can also be manually selected in the Content Languages management screen:
To choose a reference language just click on the desired language in the 'Incons.Reference' column (this column is only visible if the detection of inconsistencies is enabled).
When changing the reference language it is necessary to make a Consistency check for self inconsistencies and translation inconsistencies for all the components.