activitystreams icon indicating copy to clipboard operation
activitystreams copied to clipboard

How to indicate that a message is a translation of another message

Open Changaco opened this issue 7 years ago • 13 comments

Please Indicate One:

  • [ ] Editorial
  • [x] Question
  • [ ] Feedback
  • [ ] Blocking Issue
  • [ ] Non-Blocking Issue

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 no isTranslationOf for translations.

Changaco avatar Mar 27 '18 17:03 Changaco

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.

evanp avatar Mar 28 '18 23:03 evanp

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.

Changaco avatar Mar 29 '18 07:03 Changaco

are there any social networks that currently implement this feature? it seems very speculative.

On Thu, Mar 29, 2018, 3:16 AM Charly C. [email protected] 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 .

nightpool avatar Mar 29 '18 14:03 nightpool

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.

Changaco avatar Mar 29 '18 15:03 Changaco

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?

evanp avatar Mar 29 '18 17:03 evanp

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.

screenshot

(sorry for the white overlay on the screenshot)

nclm avatar Mar 30 '18 13:03 nclm

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?

Changaco avatar Mar 31 '18 10:03 Changaco

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.

nightpool avatar Mar 31 '18 17:03 nightpool

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.

Changaco avatar Mar 31 '18 18:03 Changaco

Adding translations to an already-published message would also be problematic in that the message's date would no longer be accurate.

Changaco avatar Apr 01 '18 09:04 Changaco

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.

evanp avatar Feb 16 '24 17:02 evanp

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.

bumblefudge avatar Feb 16 '24 17:02 bumblefudge

I think you can use the hreflang property in FEP-fffd (Proxy Objects) instead of inventing a new property.

tesaguri avatar Mar 15 '24 13:03 tesaguri