If a TBX is imported into an existing TermCollection, the newly imported data is merged into the existing collection.

A basic merging is always done, extended merging must be enabled via the parameter mergeTerms.

The merging is done on different levels:

basic term entry merge

By default term entries in the TBX with the same id (tbx term entry id attribute) are always merged if there is an already imported term entry with the same ID. This is called the basic term entry merge. This does not depend on the mergeTerms parameter and is performed always.

In this case all terms in TBX termEntry are saved to the same termEntry in the database (of course in the same language).

basic term entry merge > same language > affected terms

If the termEntry-ID matches,

Parameter mergeTerms = true

If the parameter mergeTerms is true, translate5 will search all existing terms to see if the same term already exists in the TermCollection in the same language.

If a term is found:


If no term of a termEntry can be matched with an existing term in the termCollection:

mergeTerms true summary

Summarized this means, that the checks should be done in the following order, in case the termEntry-ID does not exist in the termCollection and mergeTerms is true:

Parameter mergeTerms = false

If the parameter mergeTerms is false


On each term merge is checked

If a term already exists in the TermCollection and should be merged with the imported term, it is checked, if the term already exists in other termEntries of the same TermCollection as well

Memory usage

For memory usage the experience is, that for the import of a 2GB TBX file approximately 3GB of memory is used by PHP while the import. See also the installation informations.

Also keep in mind that the TBX import may also consume a zip file containing one or multiple TBX files - this reduces file size enormously for the upload.