Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Machine translations for Integreat Chat messages #3040

Open
svenseeberg opened this issue Sep 11, 2024 · 0 comments · May be fixed by #3051
Open

Machine translations for Integreat Chat messages #3040

svenseeberg opened this issue Sep 11, 2024 · 0 comments · May be fixed by #3051
Assignees
Labels
💡 feature New feature or request 😱 effort: high Big change, which requires >12h
Milestone

Comments

@svenseeberg
Copy link
Member

svenseeberg commented Sep 11, 2024

Motivation

We want to enable a bi-directional communication without (or with low) language barriers between Integreat App users and councilors using the Zammad back end for the Integreat Chat.

Proposed Solution

  • This feature can/should make use of the existing machine translation functionality, including the budget limitations (for the time being).
  • Incoming messages from Integreat App users should be translated into the main language of the region.
  • Outgoing messages from Zammad to the Integreat App users should be translated into the selected language of the Integreat App. The CMS has to provide a Webhook endpoint that allows Zammad to inform the Integreat CMS about updated tickets (by Zammad users / counselors). The webhook message from Zammad contains a ticket_id attribute, which can be used by the Integreat CMS to fetch all necessary messages / data from Zammad.
  • Translated messages have to be stored along the original messages in Zammad as new articles within the ticket.
  • This should not require a change of any Integreat CMS model.

Sequence diagram:

image

To implement the functionality, we need to add the green marked flows and change the yellow ones. Black is already implemented and blue is out of scope / next milestone.

There is one big issue / caveat: Zammad webhooks are triggered on each ticket update. By default, this does not differentiate between ticket updates by a counselor or "automated" updates by the Integreat CMS (when storing translations). To prevent and endless loop of "update webhook > translation request > ticket update", we need to set the article subject to automatically generated message or some other string we agree upon. This can then be used to set up a filter for webhooks within Zammad.

Alternatives

Zammad users translate the messages manually with DeepL or Google Translate.

User Story

  • As a migrant I want to communicate with a counselor in my native language so that I can get necessary information before having learned any German.
  • As a counselor I want to answer questions of migrants without speaking their native language to provide answers to important questions.

Additional Context

Design Requirements

None / no GUI impact.

@svenseeberg svenseeberg added the 💡 feature New feature or request label Sep 11, 2024
@svenseeberg svenseeberg added this to the 24Q4 milestone Sep 11, 2024
@svenseeberg svenseeberg added the 😱 effort: high Big change, which requires >12h label Sep 11, 2024
@svenseeberg svenseeberg self-assigned this Sep 14, 2024
@svenseeberg svenseeberg linked a pull request Sep 14, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💡 feature New feature or request 😱 effort: high Big change, which requires >12h
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant