I just had coincidentally set my interface language to German, and after a long time, I also used the “translate to English” option of the helper in the composer again. Unfortunately, in this combination, it “translates” my German text into German. That was not very helpful
This raises two questions for me:
Is this intentional? While a translation into the language chosen by the user is certainly very helpful when reading other people’s posts, it seems to me to be a hindrance when replying.
Is it an error in the translation that I am shown “Übersetze ins Englische”? Because, after all, it is translated to German.
As I said it is helpful when I can translate text on the forum into my interface language easily. But I still don’t get the use case in the context of composing a post.
When I select German as my interface language, I assume I speak German quite well. Why do I need to use AI to translate the text I have written myself in a foreign language to German? I could just write it in German myself. It would be more helpful if I was able to translate the text I have written in a language I prefer (e.g. German) into the default language of the forum.
At the moment, when I set my interface language to German, even proofreading translates my whole post to German. I appreciate the opportunity to have my text proofread by the AI. But I need support writing English, even when my interface is in German. I don’t think you would like if I would post in German. That’s why I changed the language back to English immediately. This is definitely easier for me than having to formulate a custom prompt every time. Custom promts often add additional comments by the bot into the post, which I have to delete afterwards. That’s why I like the default ones, usually the bot does not add comments there.
You could add a comment in the locale file which shows up as context for translators.
I agree with Moin. I think the problem is that we have two different use cases, but try to use the same functionality.
Reading: I’m reading a post that’s not written in my first language. In that case, it makes sense to use AI to translate into my interface language (German).
Writing: I’m writing a post in my first language (German) and want AI to translate it into the default locale (English) of the forum, or the language of the post[1] I’m replying to.
Proofreading definitely shouldn’t change the language of the post I’ve written. That’s simply wrong.
That post might have a language that’s different from my first language and the default locale. ↩︎
@Moin any chance you can make a pr to add the comment, will look more carefully at proofreading but I think we tried to prompt engineer it to keep the language
I beg to differ
While I understand the point, there are multiple use cases.
In our German forum, we want to use AI translations from English to German for our commercial/sponsor accounts. Some of them don’t have native German speakers and would like to be able to create posts.
What happens when there is no translation available for the user’s interface language? I think the default “Translate to English” would be shown in that case. What does AI do in this situation? Will it translate to English or will it translate to the user’s locale.
Then maybe something like “Translate to %{language}” would be more helpful
You intend to translate the text which was written in the composer into your forum’s default language, don’t you? That’s what I would like to do as well. But at the moment, the text is translated into the locale the user chose. So if your sponsors use your forum in English, the AI Helper will offer “Translate to English”.
This is certainly a good idea. @keegan how complicated is it to change this? I think we already have all languages translated properly so we can pass in Deutsch for “language” in German.
It should be fairly easy to pass the translated language and replace the string with “Translate to %{language}”. However, we use the same CompletionPrompt called translate which is used in both the post AI helper and the composer AI helper.
If we want the functionality to be:
Post Helper: Translates to Interface Locale
Composer Helper: Translates to Site locale
it would be a little bit more work (though still doable) as we should probably create a separate CompletionPrompt for each post/composer. Easier would be to have the same (i.e. both translate to interface locale).
Multi lingual forums need special behavior. I think keeping consistently to interface locale is probably the safest thing to do by default.
Long term maybe we can add an option to categories to specify primary locale, or my dream of… I know Italian … I only see Italian absolutely everywhere, I write in Italian, I read in Italian, I search in Italian.
Why do multilingual forums need special behavior? I think in general they work the same:
We assume that the user chooses an interface language they speak well. So while reading, it is helpful to offer translating into the interface language.
But I think it is less likely the user needs help translating the text they wrote in the composer into their preferred language. It is more likely that they have written a text in their preferred language and need help translating it into a foreign language. They can use a custom prompt to choose any language they need.
I think offering the forum’s default language will be the best default option. Usually not everything is offered in multiple languages. I have the impression that even in multilingual forums, often most of the activity takes place in the default language. When I look at the category stats at https://forum.arduino.cc/, ~80 topics were posted in the international category in the last week but ~400 topics in the other categories. In addition, general topics, for example in the Meta category, which are relevant for everyone, are often discussed in the default language.
That’s why I think the default forum language could be a good default for writing in multilingual forums too. @gerhard’s suggestion to offer translation to the language of the post I’m replying to would be even better, but I expect that to be much more complex.
The text will update when translations are merged. Currently, it still shows “translate to English” because the translation was not replaced by “Translate to %{language}”. Although it displays “English,” it translates to your interface language as it did before. The old text is misleading.