Problem/Motivation
DeepL released the v3 endpoint for its glossary functionality and changed the handling of glossaries. The data structure was changed, so that a single glossary can include multiple dictionaries with a given language combination and its entries.
Further information can be found here: https://github.com/DeepLcom/deepl-php?tab=readme-ov-file#glossaries
By releasing the new endpoint, they also reduced the available glossaries for free users to only 1. This major change can be overcome by having multiple dictionaries within the glossary.
Proposed resolution
- follow the migration guide and rewrite the exisiting DeeplGlossaryApi methods
- introduce dictionaries as new entity, which are now part of a multilingual glossary
- handling for free/ pro accounts
- free users cannot add more than one glossary
- pro users can add up to 1000 glossaries
- update sync functionality to create glossary/ dictionaries
- free accounts: in case of having multiple glossaries for a given language combinations those should be merged into a single dictionary
- pro account: multiple glossaries will be synced as usual - but contain a single dictionary with its entries
- update general creation workflow for glossaries and dictionaries
User interface changes
- update listing of glossaries and show number of dictionaries within the glossary
- add listing of dictionaries for a given glossary
- add simple search functionality within a dictionary
Data model changes
- remove existing entity type deepl_glossary and related functionality
- introduce new entity type DeeplMultilingualGlossary
- introduce new entity type DeeplMultilingualGlossaryDictionary
- add related functionality (forms, views integration, etc..) as already done in 2.2x
Issue fork tmgmt_deepl-3528324
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
steffenrComment #3
steffenrComment #6
steffenrWith the latest changes, the version 2.3.x is now supporting multiple dicitionaries within one glossary.
This allows free accounts to work with a single glossary (which is the limit) but having several dictionaries for the languages within the drupal installation.