If the API changes in an incompatible manner this is listed explicitly in the "important release notes" section of each releases changelog.
The database-side storage of terms is extended by the "TermCollection", which makes it possible, for example, to group terms that belong to a specifc client. This way an end client can be assigned to one or more TermCollections.
Provides access to the Term collections available in the application.
- Deleting term collection will remove all terms, terms attributes and term entry attributes assigned to this term collection
The name of the term collection (unique)
|DateTime||Date and time when the term collection is created|
Foreign key to the customers table
POST request parameters example :
- create new empty term collection
"name":"The name of the term collection",
"customerId":"the id of the customer to whom this collection is associated"
GET request parameters example :
- return the term collection name,timestamp and customerId for the termcollection with id = 1
Search term in term collection.
- Find term/terms in the given term collection by searched string
|Search term string. The search string can be combined with wildcards also.|
Term language/s ids from lek_languages table
Disable the result limit configured in searchTermsCount config variable.
Search term entry and term attributes in term collection.
- Find term entry and term attributes by groupId(termEntry id).
- The result array will return term attributes and term entry attribute values
Info: For search and searchatribute actions, will search in the collection assigned to the customers which customers are assigned to the currently logged user assigned customers.
|Lek_terms table groupId field.|
Import terms to the term collection
|Specialities:||Import the provided terms from the tbx file to the term collection|
POST request parameters example(json):
"deleteProposalsOlderThanCurrentImport" : true
Details for the resource parameters:
The id of the term collection where those terms from the tbx file are going to
Customer to that this term collection is associated
- A merging based on the TermEntry-ID is always done, independent if the mergeTerms paramenter is true or false.
- If the the termEntry-ID in the TBX matches a termEntry-ID in the database, all terms in this termEntry in the TBX are saved to the same termEntry in the database.
- If the termEntry-ID matches, but the term-ID does not match, yet the term is the same, the term is still merged, even if mergeTerms is false
- 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 so, the first term that is found is updated by the values in the TBX file. The term-ID and termEntry-ID remain the same as they already existed in translate5.
- All other terms of this termEntry in the TBX file will be imported/merged to the same termEntry of the TermCollection, that just has been found through the matching
- This means, if 2 (or more) terms that belong to the same termEntry-ID in the TBX file can be merged with a term in the database, but in the database those terms do NOT belong to the same termEntry-ID, only the first one will be merged with the one it matches and the second one (or more) will be put into the same termEntry as the first one.
- If no term of a termEntry can be matched with an existing term in the termCollection, a new termEntry is added with the termEntry ID of the TBX in the TermCollection and all terms of the termEntry of the TBX are added to this termEntry in the TermCollection
- 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
- For each term of a termEntry of the TBX file check, if the term exists in the termCollection within the same language.
- If yes, merge it
- Also put all other terms of the same termEntry of the TBX (independent of their language) file into this termEntry in the termCollection
- For all other terms in the same termEntry you therefore can stop checking, if they match with something (abort the loop)
- If the term does not match, check the next
- if no term of the termEntry of the TBX file can be matched, create a new termEntry with the termEntry-ID of the TBX and add all terms from the TBX to that termEntry in the termCollection with the term-IDs of the TBX.
- If the parameter mergeTerms is false, a new termEntry is added to the termCollection with the term ID of the TBX file and all terms of this termEntry of the TBX file are added to this new termEntry in the termCollection with the term IDs of the TBX file (same thing as if no term from this termEntry in the TBX can be matched in the termCollection).
tbx file/files uploaded as multipart/form-data
deleteTermsLastTouchedOlderThan (date format Y-m-d)
Deletes all terms in all listed termCollections, that have a updated date older than the date configured for "deleteTermsLastTouchedOlderThan". Every term in a termCollection has a creation date, a modification date and an updated dated. The creation date and the modification date are taken from the dates as they appear in the TBX file.
The updated date is not shown in the GUI and is changed every time a user changes the term through touching it in the GUI or through an import.
Deletes all terms in all listed termCollections, that have an "updated date" older than the start of the current import. To learn, what the "updated date" is, please read above possible values: true or false.
deleteProposalsLastTouchedOlderThan (date format Y-m-d)
Delete all proposals in a listed termCollections, that have a creation date older than this configs value.
Delete all proposals in a listed termCollections, that have a creation date older than the start of the current import.
Important: with the import call, one or multiple tbx files must be provided.
There can be additional possibility to import terms to the term collection.
- Import tbx files via language resources panel with term collection as resource
- Using the term import plugin ( see more at Plug-In TermImport: TermImport )