digitalfabrik / integreat-cms

Simplified content management back end for the Integreat App - a multilingual information platform for newcomers
https://digitalfabrik.github.io/integreat-cms/
Apache License 2.0
56 stars 35 forks source link

`currently_in_translation` status not working for new translations #2189

Open svenseeberg opened 1 year ago

svenseeberg commented 1 year ago

Describe the Bug

When exporting pages as XLIFF for translation, the "currently in translation" status is not shown in the page tree view for translations that do not yet exist.

I'm not sure how and if this problem can be solved in a good way. One approach is to create a first translation version with a date older than the last source translation version and the currently_in_translation attribute being set to True. However, creating and backdating a translation version does not sound like a clean approach. Maybe setting the date to the current source translation could also be possible. But then the status would be set to up 2 date when the translation process is being aborted.

Steps to Reproduce

  1. Create a new page with German content
  2. Export XLIFF to translate the page into any other language
  3. look into the page tree and see that the status of the page is "translation missing"

Expected Behavior

Users probably expect that also missing translations should be marked as being "in translation".

Actual Behavior

Because there is no version of the target page translation yet, the currently_in_translation status cannot be set.

timobrembeck commented 1 year ago

This is intended behavior, since often times region managers export the whole content into very many languages, send it to a translation office and decide later on (based on the offer they get) that they only want to translate some of these languages. In order to reduce effort when aborting these translation processes, we decided not to create new translations in this case.

svenseeberg commented 1 year ago

I think we need some kind of long term improvement of the translation system with a consistent redesign of the full life cycle. The status quo is a result of an initial design process with some additions that were applied on the fly. The current status results from the wish that it should be easy to abort translations in progress. However, this could be solved differently, fully transparent for users.

Currently the previous translation of a target language is marked as being in translation. That is basically wrong. We're not translating the old version but creating a new one. From a logical standpoint we would have to create a new translation that would be marked as being in translation. This translation could either be deleted when the translation is aborted or updated/superseded with the import of the XLIFF file.