Page MenuHomePhabricator

CX2: Automatic Translation card to adjust MT options
Closed, ResolvedPublic

Description

The Automatic translation card supports Machine Translation service selection for both the current paragraph and the default selection for the document. This helps translators to understand where the initial translation proposed comes from and which options they have to adjust it.

The Automatic translation card shows a selector with the different approaches to adapt the initial content: MT services available, copying the source content, or starting from scratch (empty content):

  • If “No automatic translation” is selected, the paragraph is empty, and the user can type
  • If “Source text” is selected, the source text must be pre-filled with adaptation of links, references, templates, math, and other formatting elements, but the same text.
  • If an MT engine was selected, in addition to adaptation of formatting, the text will be translated, too.

Changing the adaptation strategy affects also the options exposed:

  • Changes affect the current paragraph by default. When selecting a different translation service or strategy only the current paragraph is affected. A "Keep as default" action is shown when a non-default option is applied to allow making this the default from the next paragraphs.
    • "Keep as default" should not be shown initially when the translation service used is actually the default. This option should appear only when the user selected a different translation service that the one set as the default.
  • User modifications are preserved unless the user explicitly discards them. If I get a translation from Apertium, and I modify the content. After switching to Matxin and back to Apertium, I should get the version of the content I modified. There will be an option to reset the translation but that is not the default behaviour.

This is illustrated in more detail below:

mt-cad-simplified.png (811×1 px, 131 KB)


Related tickets:

Related Objects

Event Timeline

Pginer-WMF renamed this task from CX2: Card to adjust MT options to CX2: Automatic Translation card to adjust MT options.Feb 26 2018, 12:45 PM
Pginer-WMF triaged this task as Medium priority.
Pginer-WMF raised the priority of this task from Medium to High.Mar 21 2018, 12:09 PM

Change 425953 had a related patch set uploaded (by Santhosh; owner: Santhosh):
[mediawiki/extensions/ContentTranslation@master] WIP: Machine translation toolbar

https://gerrit.wikimedia.org/r/425953

Change 425953 merged by jenkins-bot:
[mediawiki/extensions/ContentTranslation@master] Machine translation toolbar

https://gerrit.wikimedia.org/r/425953

https://gerrit.wikimedia.org/r/425953 was first iteration of this ticket. Current status:

  1. On focus of an editable section, MT tool is presented in tools column.
  2. The dropdown is populated by MT engines provided by cxserver
  3. Selecting the options in the dropdowns works, but there is no progress indicator, while the api request is in progress
  4. The results of API request are not remembered. So if the same option is selected more than once, API requests happen more than once
  5. User modifications are not rememberd across selection of MT engines
  6. A small scroll happens between MT engine selection changes
  7. The current MT provider for a section is not remembered when focus returned to a section after navigating through other sections

We need a state object for every sections in its data model(ve.dm.CXSectionNode) and some convinient methods to query them. The state object should store the current MT provider. The caching of user modifications mapped to an MT provider can be either in TranslationController(mapped to sectionId). Or it can be in ve.dm.CXSectionNode itself. We need to know whether the content is unmodified MT or modified MT. The state object should also rememer whether the section was restored or a fresh section.

I added T193453: CX2: Translation options are not available for some languages as a related ticket in the description, which may be part of the pending work described in T188247#4149455.

Change 432954 had a related patch set uploaded (by Nikerabbit; owner: Nikerabbit):
[mediawiki/extensions/ContentTranslation@master] CX2: Fix multiple MT related issues

https://gerrit.wikimedia.org/r/432954

Change 432954 merged by jenkins-bot:
[mediawiki/extensions/ContentTranslation@master] CX2: Fix multiple MT related issues

https://gerrit.wikimedia.org/r/432954

Change 434001 had a related patch set uploaded (by Nikerabbit; owner: Nikerabbit):
[mediawiki/extensions/ContentTranslation@master] CX2: Update selected MT engine status on MT failure

https://gerrit.wikimedia.org/r/434001

Change 434001 merged by jenkins-bot:
[mediawiki/extensions/ContentTranslation@master] CX2: Update selected MT engine status on MT failure

https://gerrit.wikimedia.org/r/434001

Change 435795 had a related patch set uploaded (by Nikerabbit; owner: Nikerabbit):
[mediawiki/extensions/ContentTranslation@master] CX2: Implement "Set as default" for MT card

https://gerrit.wikimedia.org/r/435795

Change 435809 had a related patch set uploaded (by Nikerabbit; owner: Nikerabbit):
[mediawiki/extensions/ContentTranslation@master] CX2: Implement "Reset translation" in MT card

https://gerrit.wikimedia.org/r/435809

Change 435795 merged by jenkins-bot:
[mediawiki/extensions/ContentTranslation@master] CX2: Implement "Set as default" for MT card

https://gerrit.wikimedia.org/r/435795

Change 435809 merged by Santhosh:
[mediawiki/extensions/ContentTranslation@master] CX2: Implement "Reset translation" in MT card

https://gerrit.wikimedia.org/r/435809

@Pginer-WMF - technically, all specs have been implemented and there are no obvious bugs. My comments below are about some observations, so please, take a look to review them.

(1) When a new translation starts - there will be no options to select. Yes, it's true as per @santhosh comment that

On focus of an editable section, MT tool is presented in tools column.

A user will see options only after clicking on a paragraph which starts the translation with the default setting. For a user who wants to use a different translation option, it's an extra step.
Clicking anywhere on the side panel, brings the instructions back, and to bring the translation options back, a user needs to figure out somehow to click in the paragraph.

(2) If a user selects one option and later changes his/her mind and switches to a different option - the helpful grey box "+ Add translation" (along with the highlighting of a source paragraph) won't be present anymore.

Although switching between options works perfectly, it's not intuitive to figure out at this point that other translation options will work.

(3) When I click "Keep as default", there is no indication to a user that the specific option is, in fact, set as default. Only when I open the drop down list of options, then I'll see that the default option is highlighted.

(4) If I select 'Don't use machine translation", "+ Add paragraph" still be displayed and, as soon as I clicked on it, it changes to "+ Insert paragraph" - these both indications are not necessary since they do not do anything when clicked.

(5) Why there are two different failure messages?

Screen Shot 2018-05-29 at 3.53.49 PM.png (357×429 px, 24 KB)

Screen Shot 2018-05-28 at 1.33.17 PM.png (242×374 px, 16 KB)

Thanks for the input @Etonkovidova, I created some tickets as follow-up improvements based on your comments:

Related to when to show the card, I don't think it is needed to configure it in advance. Getting an initial example of what MT is after adding a paragraph helps to illustrate the purpose of the card. In addition, the default service is likely to be the best choice in many cases.

Thanks, @Pginer-WMF - the follow up tickets cover sufficiently some improvements in usability. I am closing this task since no direct outstanding issues/bugs are found.