Spell-Check: Enable user to add dictionary entries

XMLWordPrintable

      Added following remark at 6th of Feb. 2025 by Marc

      Languagetool user dictionaries do not support stemming for added terms. Only the string matches. For this we do not need languageTool integration for user dics. We simply can change the concept to use TermCollections, that we dedicate for this purpose. Then, if TermTagging is active, those terms should NOT be tagged in the segment visually, but potential spelling errors coming from languagetool containing those should be removed. This can then even respect stemming, so work for stemmed terms.

      Issue general description

      LanguageTool integration: Enable user to add words to a customer specific dictionary or to a task specific dictionary.

      Used dictionaries for a task

      • For each customer and for each task a dictionary is automatically created in the languageTool instance, if none exists on first usage (languageTool does that automatically, when first adding a word to a non-existing dict).
      • When a task is edited, automatically the customer and the task specific dicts are used.
      • When a termCollection is created, for each target-language in the termCollection a dictionary is created and automatically all terms are added as dictionary for that language to languageTool.
      • When a termCollection gets assigned to a task, its dictionary is used for the task, too.
      • When a term is added or updated, that change is also reflected in the relevant dictionary, that corresponds to the termCollection. (Do not synch Term-Proposals, only "finalized" and "provisionally processed" terms.)

      Add words to a dictionary in the editor GUI

      Enable user to add words to

      • a customer specific dictionary
      • a task specific dictionary

      This should be possible from the editor:

      • by right-click on a spelling error: new options in the list (extra look): „Add to task dict.“, „Add to customer dict.“
      • by click on a new button „Administrate dictionary“ (s.u.)

      Administrate dictionary (add and delete words)

      • new button „Administrate dictionary“ (= in opened task next to button ‚Leave task‘; open new pop-up when clicked)
      • in the pop-up: list all words from the dictionaries of this task and its customer in a grid (= without termCollection-dictionaries)
      • show infos about the specific dictionary in extra column: Type ‚task‘ or customer-name
      • be able to filter the grid
      • be able to add words into the dictionaries: add button “Add word”, open new window, create form (new word, option-list for task-/cust-dict, "Save changes"-button)
      • be able to delete words from the list (one by one is ok, but NOT with reload from the grid and the user needs to scroll again etc!!!...)
      • click on button "Save changes" to really delete the words in LT-dictionaries (otherwise changes are lost, eg by just closing the popup)

      Define, who is allowed to edit a dictionary

      Task-specific dictionaries can be edited by everyone, who is assigned to a task with edit rights.

      Who can edit customer-specific dictionaries is defined in the user management as a role. (Administration of customer-specific dictionaries also only via tasks.)

      Ensure, terms are not marked as errors

      Architecture questions

      The rest API documented here can be used: https://languagetoolplus.com/http-api

      LanguageTool itself uses a database. The languageTool developers will provide us with the database structure so we can set up translate5's own local languageTool REST API based on the database and with a REST API analogous to  https://languagetoolplus.com/http-api.

            Assignee:
            Leon Kiz
            Reporter:
            Marc Mittag [Administrator]
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: