MSC3554: Extensible Events - Translatable Text#3554
Conversation
| unaware clients would use, which in the example above would be French. Clients which are aware of language | ||
| support might end up picking the English version instead. | ||
|
|
||
| By default, messages are assumed to be sent in English (`en`). |
There was a problem hiding this comment.
I don't think it makes a lot of sense to assume a language in this case. There is no fault prove way to guess a language, so many clients will probably default to just sending whatever the user typed without a language. What is the benefit of assuming English, if that is probably wrong in a lot of cases? Shouldn't it rather just be unspecified?
There was a problem hiding this comment.
The vast majority of software in the ecosystem makes assumptions about text being English. This is just to help implementations which might be searching for a language code, not to define the language itself.
Unspecified leads to all kinds of issues with software, whereas French-as-default-English is generally fine.
|
What is the state of this spec proposal? The PR linked under blocker in the description is merged by now. Would be awesome to see this land soon |
This comment was marked as duplicate.
This comment was marked as duplicate.
| ```json5 | ||
| { | ||
| "type": "m.message", | ||
| "content": { | ||
| "m.text": [ | ||
| { | ||
| "body": "Je suis un poisson", | ||
| "lang": "fr" | ||
| }, | ||
| { | ||
| "body": "I am a fish", | ||
| "lang": "en" | ||
| } | ||
| ] | ||
| } | ||
| } | ||
| ``` |
There was a problem hiding this comment.
Moved to a comment thread, a question from @noaho:
If it’s possible for clients to send in multiple languages, this might lead to a situation where the client auto translates to a bunch of languages and it’s not clear which is the source text, which would then also make it hard for the receiver to translate on their own (possibly to a new language or just with a better language model) because they won’t know which is the source text and which is machine translated.
There was a problem hiding this comment.
Perhaps we could add a new boolean field to an m.text object which indicates that a given translation was the one that the user originally typed/entered? Such as lang_source: true|false?
| *Note*: `m.text`'s support for `mimetype` has been excluded from the example for brevity. It is still | ||
| supported in events. | ||
|
|
||
| By default, messages are assumed to be sent in English (`en`). |
Rendered
Blocked by #1767
Preview: https://pr3554--matrix-org-previews.netlify.app