Ongoing translation in threads

I am working towards a Discourse installation for an organization that works across the 55 member nations of the African Union. The platform must overcome a major communications barrier in Africa: most scholars and public servants in Africa receive their education in their former colonial language, so international organizations often end up with their members mixing in Anglophone, Francophone, and Lusophone (Portuguese) silos. Discourse stands poised to punch through this barrier, if chat threads can be automated for this functionality:

When I receive a message in a language that is not my own, I want to see that message in its original, in a shaded box, so that I can review the sender’s actual intent. Below that, I want to see the translation. Ideally, this would automatically break into paragraphs. [Paragraph 1 original]/ Paragraph 1 Translation. [Paragraph 2 original]/ Paragraph 2 Translation. [P3]/P3, etc. That is, if I receive a message in French, I must be able to see it in the original French, as well as the AI translation to English. When I then reply in English, a Francophone user must be able to see it in the original English as well as the proposed translation, a Lusophone user should see it in English and Portuguese, and a person in North Africa should be able to see it in English and Arabic. Then, they reply in their own language, and the process is reversed for the benefit of their correspondent.

The important things are:

  1. There should be minimal effort on the part of the user. Set it and forget it. Nobody should have to manually demand translation of each message - we need to minimize the learning curve.
  2. The original message must be present for view. This is best practice regarding machine translation. The recipient must know that they are viewing a computer approximation of the writer’s intent, and have recourse to double checking.
  3. One paragraph at a time. If the message is very long and requires a lot of scrolling, translating it as a single entity will cause difficulties with matching up the translated bits.
  4. Live chat as well as board threads. When a message is sent from chat in its original language, it should appear for the recipient in the original and in their language of choice in real time. This will be the killer app. You can’t do it on WhatsApp, which makes it very hard for someone in anglophone Nigeria (population 240 million) to have a successful conversation with someone in francophone Congo DRC (population 115 million).

If we can get this working for the initial organization, it can be replicated for other pan-African organizations. Please imagine the target user as an older scholar who does not have much digital savvy, and may have elegant French but only enough English to navigate an airport.

2 Likes

Our native content localization feature covers almost everything you asked here. Check our documentation at Content Localization - Manual and Automatic with Discourse AI.

Only thing lacking is support for translation in chat, which we may introduce later this year.

2 Likes

Awesome! Welcome Martin to Discourse meta! :sunflower: Glad you followed my suggestion to create an account here and throw your hat in the ring. I hope we can build this!

To clarify for those who follow, I think when you refer to “chat threads” you actually mean topics and replies. There are no threads in discussion, though you can create related topics that are linked to each other. All of this can be set up to be translated automatically, as I have shown you on my site.

Meanwhile Discourse also has chat functionality that works more like other chat apps you may be familiar with, that also includes the concept of threads so you can have a sub-conversation going within chat channels.

Rather than trying to specify what functionality you envisage, it would help to focus on the problem you are seeking to solve. I think you’ve articulated the problems well in your bullet points:

We already have this.

There are some cases when a given translation might not be great in which case someone will have to go in and improve it. This can be a leader in the community who has been trained and empowered to do it.

There are also some technical reasons why some posts do not get translated. These are fairly rare and when it happens we can usually find an explanation.

We already have this too - note the button on the topic slider navigation on the right, when a post has been translated. Maybe the button to toggle between translated and original is not prominent enough for your use case, but that could be addressed with a theme component.

This is a bit harder. We could dig deeper into the problem you are describing and see if it is a problem that is widely felt and so deserves some new functionality in core Discourse, or in an optional theme component or plugin.

One idea that comes to mind is a view that displays the original and translated post side by side. That might not be too difficult to implement.

Another would be to just set a low per-post character limit. Wordy academics might find that frustrating but they could just add multiple replies in a row if they want to write a novella.

Agreed this would be interesting! I am glad it’s being considered by the team.

That said, topics and replies can fulfill this function quite well too - posts can be short and chatty too. It all just depends on how you structure the site and set up your categories and the guidelines for using them.

This is a great persona! :star_struck: