Open Changaco opened 6 years ago
Are you looking for natural language values?
https://www.w3.org/TR/activitystreams-core/#naturalLanguageValues
You can use, for example, a contentMap
to show translations of the same message in different languages.
No, maps are for including multiple languages in a single object, right? What I'm looking for is a way to link two distinct objects together, with a property indicating that the second object is a translation of the first object.
For example this toot is a French translation of that one, and we want to encode this fact into the toot's metadata so that we can avoid showing "duplicate" messages to people.
are there any social networks that currently implement this feature? it seems very speculative.
On Thu, Mar 29, 2018, 3:16 AM Charly C. notifications@github.com wrote:
No, maps are for including multiple languages in a single object, right? What I'm looking for is a way to link two distinct objects together, with a property indicating that the second object is a translation of the first object.
For example this toot https://mastodon.xyz/@Liberapay/99751255368634883 is a French translation of that one https://mastodon.xyz/@Liberapay/99751124600550302, and we want to encode this fact into the toot's metadata so that we can avoid showing "duplicate" messages to people.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/w3c/activitystreams/issues/463#issuecomment-377145273, or mute the thread https://github.com/notifications/unsubscribe-auth/AAORV5SaXGKOJHcFQ349cs7F9_n5UbMoks5tjIpngaJpZM4S9Xtf .
I don't know of any social network that fully supports multilingualism, and I've never seen one that allows adding a translation after a message has been published.
I think FB will let users improve a machine translation, but I'm not sure if they surface that translation to other users.
Maybe look at rdf or dc properties?
Facebook does have a multilingual post system, you can define the language of a post when writing and add translations to it. You author them at the same time though, and the result is a unique multilingual post rather than separate posts linked together.
(sorry for the white overlay on the screenshot)
Since there doesn't appear to be a standard way to express that a message is a translation of another one, should I open a pull request to discuss the possible future standardization of an isTranslationOf
property?
I can't speak for everyone, but I think that if you want to model this, the best way to do so would be an Edit to the exiting Note that adds a translation using the contentMap property. I don't think making them separate posts is appropriate. Then the creator of the Note can either endorse or reject the Edit as they wish, via whatever semantics the data interchange layer uses to authenticate these sort of things.
That's a good suggestion. However messages that are translations of other messages already exist and I think it would be good to have a property to describe that reality. Also, introducing isTranslationOf
wouldn't break anything, any software which doesn't know about it would simply continue to show all messages.
Adding translations to an already-published message would also be problematic in that the message's date would no longer be accurate.
I think this is an interesting relationship. If the translation and the original are "the same object", we use the language map mechanism. If they are "not the same object", for example, they have different authors, or some other major difference, having a looser relationship makes sense. This seems like a good topic for a FEP. I'm going to mark this is as needs-fep, and waiting for commenter.
I would also note that in the community extensions to the ActivityPub extensions to ActivityStreams, there is a fep called FEP-bad1 which includes previous versions of an edited object-- not sure this is the best way to model it, but if Object 2 is a translation of Object 1, there might be a way to point back to the original (with its distinct timestamp) from the translation as an entry in its object history, the way an object can point to its prior id
/home after an export/import-to-new-server? Possibly a red herring but thought I'd mention it to any future FEP authors who read this thread.
Please Indicate One:
Please Describe the Issue:
Is there a standard way to express that an object is a translation of another object? The Activity Vocabulary specification defines an
inReplyTo
property for replies, but noisTranslationOf
for translations.