kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
769 wiersze
22 KiB
Plaintext
769 wiersze
22 KiB
Plaintext
# SOME DESCRIPTIVE TITLE.
|
|
# Copyright (C) 2022, The Funkwhale Collective
|
|
# This file is distributed under the same license as the funkwhale package.
|
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
|
#
|
|
#, fuzzy
|
|
msgid ""
|
|
msgstr ""
|
|
"Project-Id-Version: funkwhale 1.2.5\n"
|
|
"Report-Msgid-Bugs-To: \n"
|
|
"POT-Creation-Date: 2022-07-01 10:35+0200\n"
|
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=utf-8\n"
|
|
"Content-Transfer-Encoding: 8bit\n"
|
|
"Generated-By: Babel 2.10.1\n"
|
|
|
|
#: ../../federation/index.rst:2
|
|
msgid "Funkwhale Federation"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:4
|
|
msgid ""
|
|
"This documentation section is more technical, and targets people who want"
|
|
" to understand how Funkwhale's federation works."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:9
|
|
msgid "Technologies and standards"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:11
|
|
msgid "Funkwhale's federation is built on top of the following technologies:"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:13
|
|
msgid "`ActivityPub`_ as the high-level federation protocol"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:14
|
|
msgid "`HTTP Signatures`_ as the primary mean to authenticate messages"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:15
|
|
msgid "`Webfinger`_ to easily retrieve resources using human-friendly names"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:16
|
|
msgid ""
|
|
"`ActivityStreams`_ and `ActivityStreams vocabulary`_ as the mean to "
|
|
"structure messages"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:18
|
|
msgid "Support for the following is planned but not implemented-yet:"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:20
|
|
msgid "`JSON-LD signatures`_ as an alternate mean to authenticate messages"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:30
|
|
msgid "Philosophy"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:32
|
|
msgid ""
|
|
"Our goal is to stick to the specifications as much as possible, to ensure"
|
|
" compatibility with existing applications such as Mastodon, Peertube, "
|
|
"Plume, Pleroma or PixelFed."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:35
|
|
msgid ""
|
|
"However, this is not always possible for all our use cases. The "
|
|
"ActivityPub and ActivityStreams specifications are really high-level and "
|
|
"do not always fit our use cases. For such cases, we will use an ad-hoc "
|
|
"solution, and document it here."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:39
|
|
msgid ""
|
|
"There are plenty of projects built using ActivityPub, and our goal is not"
|
|
" to support all the existing activities. Instead, we want to support "
|
|
"activities and objects that make sense for Funkwhale use cases, such as "
|
|
"follows or likes."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:43
|
|
msgid ""
|
|
"If you think this document is not accurate or find evidence that "
|
|
"Funkwhale is not behaving according to the behaviour documented here, "
|
|
"please file a bug on our issue tracker, as we consider this a bug."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:48 ../../federation/index.rst:157
|
|
#: ../../federation/index.rst:211 ../../federation/index.rst:266
|
|
#: ../../federation/index.rst:310 ../../federation/index.rst:361
|
|
#: ../../federation/index.rst:445
|
|
msgid "Internal logic"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:50
|
|
msgid ""
|
|
"This section is relevant if you're interested in how we handle things "
|
|
"internally in our application code."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:54
|
|
msgid "Database schema"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:56
|
|
msgid ""
|
|
"As much as possible, we try to map our internal model and database schema"
|
|
" to ActivityPub entities, as this makes things easier to deal with."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:59
|
|
msgid ""
|
|
"We store received activities payload directly in the database before we "
|
|
"attempt to process or deliver them. Storing the activities unlock some "
|
|
"interesting use cases, such as debugging federation issues, replaying "
|
|
"deliveries, or reprocess historical activities that were not supported "
|
|
"before."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:64
|
|
msgid ""
|
|
"Each local user is bound to an ``Actor``. Remote and local actors share "
|
|
"the same database table and all federated entities (such as uploads) are "
|
|
"linked to an ``Actor`` and not to a user. This means that, internally, in"
|
|
" general, there is no distinction between local and remote users."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:69 ../../federation/index.rst:98
|
|
msgid "Links:"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:71
|
|
msgid ""
|
|
"`Federation models "
|
|
"<https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/api/funkwhale_api/federation/models.py>`_"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:75
|
|
msgid "Activity creation and delivery"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:77
|
|
msgid ""
|
|
"When a local actor is making an action that should trigger an "
|
|
"``Activity``, which roughly is equivalent to posting an activity to an "
|
|
"outbox, we create an object, with the proper payload and store it in our "
|
|
"``Activity`` table. We then trigger two kind of deliveries:"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:81
|
|
msgid ""
|
|
"A delivery to local recipients: for each local recipient, we create an "
|
|
"``InboxItem``, linked to the activity. A local actor's feed is then made "
|
|
"of all the available inbox items, which can also have a read/unread "
|
|
"status"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:84
|
|
msgid ""
|
|
"A delivery to remote recipients: we collect all inboxes and shared inbox "
|
|
"urls from remote recipients, and create a ``Delivery`` object in our "
|
|
"database, linked to the initial activity and the inbox or shared inbox "
|
|
"url. This ``Delivery`` object is then used by our worker to post the "
|
|
"activity content to the url."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:88
|
|
msgid ""
|
|
"Receiving an activity from a remote actor in a local inbox is basically "
|
|
"the same, but we skip step 2."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:90
|
|
msgid ""
|
|
"Funkwhale does not support all activities, and we have a basic routing "
|
|
"logic to handle specific activities, and discard unsupported ones."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:93
|
|
msgid ""
|
|
"If a delivered activity matches one of our routes, a dedicated handler is"
|
|
" called, which can trigger additional logic. For instance, if we receive "
|
|
"a :ref:`activity-create` activity for an :ref:`object-audio` object, our "
|
|
"handler will persist the proper data in our local ``Upload`` table, "
|
|
"retrieve the audio cover, etc."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:100
|
|
msgid ""
|
|
"`Routing logic for activities "
|
|
"<https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/api/funkwhale_api/federation/routes.py>`_"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:101
|
|
msgid ""
|
|
"`Delivery logic for activities "
|
|
"<https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/api/funkwhale_api/federation/tasks.py>`_"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:107
|
|
msgid "Service actor"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:109
|
|
msgid ""
|
|
"In some situations, we will send messages or authenticate our fetches "
|
|
"using what we call the service actor. A service actor is an ActivityPub "
|
|
"actor object that acts on behalf of a Funkwhale server."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:113
|
|
msgid ""
|
|
"The actor id usually looks like "
|
|
"``https://yourdomain.com/federation/actors/service``, but the reliable "
|
|
"way to determine it is to query the nodeinfo endpoint and use the value "
|
|
"available in the ``metadata > actorId`` field."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:117
|
|
msgid ""
|
|
"Funkwhale generally considers that the service actor has authority to "
|
|
"send activities associated with any object on the same domain. For "
|
|
"instance, the service actor could send a :ref:`activity-delete` activity "
|
|
"linked to another users' library on the same domain."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:123
|
|
msgid "Supported activities"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:128
|
|
msgid "Follow"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:131 ../../federation/index.rst:181
|
|
#: ../../federation/index.rst:236 ../../federation/index.rst:282
|
|
#: ../../federation/index.rst:332 ../../federation/index.rst:384
|
|
msgid "Supported on"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:133 ../../federation/index.rst:387
|
|
msgid ":ref:`object-Library` objects"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:136
|
|
msgid "Example of library follow"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:153
|
|
msgid ""
|
|
"In this example, Alice is following the :ref:`object-library` described "
|
|
"in ``object``, which is owned by Bob."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:159
|
|
msgid ""
|
|
"When a follow is received on a :ref:`object-Library`, Funkwhale will "
|
|
"behave differently depending on the visibility of the library:"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:162
|
|
msgid ""
|
|
"Automatic accept, when the library is public: a notification is sent to "
|
|
"the library owner, and an :ref:`activity-accept` is sent automatically to"
|
|
" the follow actor."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:163
|
|
msgid ""
|
|
"Manual accept, in all other cases: a notification is sent to the library "
|
|
"owner. After manual approval from the owner, an :ref:`activity-accept` is"
|
|
" sent to the follow actor."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:165
|
|
msgid ""
|
|
"Funkwhale uses library follow status to grant access to the follow actor."
|
|
" If a library is not public and an actor does not have an approved "
|
|
"follow, library content will be inaccessible to the actor."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:170 ../../federation/index.rst:225
|
|
#: ../../federation/index.rst:271 ../../federation/index.rst:318
|
|
#: ../../federation/index.rst:368 ../../federation/index.rst:451
|
|
msgid "Checks"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:172
|
|
msgid ""
|
|
"Before handling the activity, Funkwhale will ensure the library's owner "
|
|
"is the activity recipient."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:178
|
|
msgid "Accept"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:183 ../../federation/index.rst:238
|
|
msgid ":ref:`activity-follow` objects"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:186 ../../federation/index.rst:241
|
|
#: ../../federation/index.rst:287 ../../federation/index.rst:338
|
|
#: ../../federation/index.rst:469 ../../federation/index.rst:499
|
|
#: ../../federation/index.rst:541 ../../federation/index.rst:581
|
|
#: ../../federation/index.rst:626
|
|
msgid "Example"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:208
|
|
msgid "In this example, Bob accepts Alice's follow."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:213
|
|
msgid ""
|
|
"When an :ref:`activity-accept` is received with a :ref:`activity-follow` "
|
|
"object, the corresponding follow is marked as accepted in the database."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:216
|
|
msgid ""
|
|
"For library follows, this means that the actor will receive future "
|
|
"activities occurring within this library, such as :ref:`activity-create` "
|
|
":ref:`object-audio`, :ref:`activity-delete` :ref:`object-audio` or :ref"
|
|
":`activity-delete` :ref:`object-library`"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:220
|
|
msgid ""
|
|
"The follow actor will also be able to browse the library pages and "
|
|
"download the library's audio files. Have a look at :ref:`library-access` "
|
|
"for more details."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:227
|
|
msgid ""
|
|
"Before handling the activity, Funkwhale will ensure the accept comes from"
|
|
" the library's owner."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:233
|
|
msgid "Undo"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:263
|
|
msgid "In this example, Alice is notifying Bob she's undoing her follow."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:268
|
|
msgid ""
|
|
"When an undo is received, the corresponding follow is deleted from the "
|
|
"database."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:273
|
|
msgid ""
|
|
"Before handling the activity, Funkwhale will ensure the undo actor is the"
|
|
" follow actor."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:279
|
|
msgid "Create"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:284 ../../federation/index.rst:386
|
|
msgid ":ref:`object-audio` objects"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:307
|
|
msgid ""
|
|
"Refer to :ref:`object-audio` to see the structure of the ``object`` "
|
|
"attribute."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:312
|
|
msgid ""
|
|
"When a :ref:`activity-create` is received with an :ref:`object-audio` "
|
|
"object, Funkwhale will persist a local upload and bind it to the proper "
|
|
"library and track. If no local track match the audio metadata, a track is"
|
|
" created using the ``metadata`` attribute from the :ref:`object-audio` "
|
|
"object."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:320
|
|
msgid ""
|
|
"Before handling the activity, Funkwhale will ensure the activity actor "
|
|
"and the audio library's actor are the same."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:323
|
|
msgid ""
|
|
"If no local actor follows the audio's library, the activity will be "
|
|
"discarded."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:329
|
|
msgid "Update"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:334
|
|
msgid ":ref:`object-library` objects"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:335
|
|
msgid ":ref:`object-track` objects"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:358
|
|
msgid ""
|
|
"Refer to :ref:`object-library` or :ref:`object-track` to see the "
|
|
"structure of the ``object`` attribute."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:363
|
|
msgid ""
|
|
"When a :ref:`activity-update` is received with a :ref:`object-library` or"
|
|
" :ref:`object-track` object, Funkwhale will try to update the local copy "
|
|
"of the corresponding object in it's database."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:370
|
|
msgid "Checks vary depending of the type of object associated with the update."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:372
|
|
msgid ""
|
|
"For :ref:`object-library` objects, we ensure the actor sending the "
|
|
"message is the owner of the library."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:374
|
|
msgid ""
|
|
"For musical entities such as :ref:`object-track`, we ensure the actor "
|
|
"sending the message matches the :ref:`property-attributedTo` property "
|
|
"declared on the local copy on the object, or the :ref:`service-actor`."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:381
|
|
msgid "Delete"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:390
|
|
msgid "Example (on :ref:`object-Library`)"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:412
|
|
msgid "Example (on :ref:`object-audio`)"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:437
|
|
msgid ""
|
|
"In this example, Bob notifies the followers of their library that 3 "
|
|
"objects were deleted."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:441
|
|
msgid ""
|
|
"For performance reason, when deleting :ref:`object-audio` objects, "
|
|
"Funkwhale supports either a list of ids or a single id."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:447
|
|
msgid ""
|
|
"When a :ref:`activity-delete` is received, the corresponding objects are "
|
|
"immediately deleted from the database."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:453
|
|
msgid ""
|
|
"Before handling deletion, Funkwhale ensures the actor initiating the "
|
|
"activity is the owner of the deleted :ref:`object-audio` or :ref:`object-"
|
|
"Library`."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:457
|
|
msgid "Supported objects"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:462
|
|
msgid "Artist"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:466 ../../federation/index.rst:496
|
|
#: ../../federation/index.rst:538
|
|
msgid "This object is not standard."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:482 ../../federation/index.rst:521
|
|
#: ../../federation/index.rst:559 ../../federation/index.rst:599
|
|
#: ../../federation/index.rst:649
|
|
msgid "Structure"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:484
|
|
msgid "**id** (required): a uri identifying the artist over federation"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:485
|
|
msgid "**name** (required): a name for the artist"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:486
|
|
msgid ""
|
|
"**published** (required): the publication date of the artist (on the "
|
|
"federation)"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:487
|
|
msgid "**musicbrainzId** (optional): the musicbrainz artist id"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:492
|
|
msgid "Album"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:523
|
|
msgid "**id** (required): a uri identifying the album over federation"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:524
|
|
msgid "**name** (required): the title of the album"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:525
|
|
msgid ""
|
|
"**artists** (required): a list of :ref:`object-artist` objects involved "
|
|
"in the album"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:526 ../../federation/index.rst:564
|
|
#: ../../federation/index.rst:657
|
|
msgid ""
|
|
"**published** (required): the publication date of the entity (on the "
|
|
"federation)"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:527
|
|
msgid "**released** (optional): the release date of the album"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:528
|
|
msgid "**musicbrainzId** (optional): the musicbrainz release id"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:529
|
|
msgid "**cover** (optional): a `Link` object representing the album cover"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:534
|
|
msgid "Track"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:561
|
|
msgid "**id** (required): a uri identifying the track over federation"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:562
|
|
msgid "**name** (required): the title of the track"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:563
|
|
msgid ""
|
|
"**position** (required): the position of the :ref:`object-track` in the "
|
|
"album"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:565
|
|
msgid "**musicbrainzId** (optional): the musicbrainz recording id"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:566
|
|
msgid "**album** (required): the :ref:`object-album` that contains the track"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:567
|
|
msgid ""
|
|
"**artists** (required): a list of :ref:`object-artist` objects involved "
|
|
"in the track (they can differ from the album artists)"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:572
|
|
msgid "Library"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:576
|
|
msgid ""
|
|
"This object is not standard but inherits its behaviour and properties "
|
|
"from Actor and Collection."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:601
|
|
msgid "**id** (required): a uri identifying the library over federation"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:602
|
|
msgid "**actor** (required): the id of the actor managing the library"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:603
|
|
msgid "**name** (required): the name of the library"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:604
|
|
msgid "**followers** (required): the id of the library's followers collection"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:605
|
|
msgid ""
|
|
"**totalItems** (required): the number of audio objects available in the "
|
|
"library"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:606
|
|
msgid "**first** (required): the URL of the first page of the library"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:607
|
|
msgid "**last** (required): the URL of the last page of the library"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:608
|
|
msgid "**summary** (optional): a description for the library"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:612
|
|
msgid ""
|
|
"Crawling library pages requires authentication and an approved follow, "
|
|
"unless the library is public."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:618
|
|
msgid "Audio"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:622
|
|
msgid ""
|
|
"This object `is specified in ActivityStreams <https://www.w3.org/TR"
|
|
"/activitystreams-vocabulary/#dfn-audio>`_, but Funkwhale needs non-"
|
|
"standard attributes to handle it."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:651
|
|
msgid "**id** (required): a uri identifying the audio over federation"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:652
|
|
msgid ""
|
|
"**name** (required): a human-friendly title for the audio (We concatenate"
|
|
" track name, album title and artist name)"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:653
|
|
msgid "**size** (required, non-standard): the size of the audio, in bytes"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:654
|
|
msgid "**bitrate** (required, non-standard): the bitrate of the audio, in bytes/s"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:655
|
|
msgid "**duration** (required): the duration of the audio, in seconds"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:656
|
|
msgid ""
|
|
"**library** (required, non-standard): the id of the :ref:`object-Library`"
|
|
" object that contains the object"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:658
|
|
msgid ""
|
|
"**updated** (required): the last update date of the entity (on the "
|
|
"federation)"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:659
|
|
msgid ""
|
|
"**url** (required): a ``Link`` object with an ``audio/`` mediaType where "
|
|
"the audio file is downloadable"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:660
|
|
msgid ""
|
|
"**track** (required, non-standard): the :ref:`object-track` the :ref"
|
|
":`object-audio` is bound to"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:664
|
|
msgid ""
|
|
"Accessing the Audio file via its url requires authentication and an "
|
|
"approved follow on the containing library, unless the library is public."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:671
|
|
msgid "Audio fetching on restricted libraries"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:673
|
|
msgid ""
|
|
":ref:`object-library` and :ref:`object-audio` url objects may require "
|
|
"additional authentication to be accessed."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:676
|
|
msgid "For :ref:`object-library` objects:"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:678
|
|
msgid ""
|
|
"If the library is public, library pages can be accessed without "
|
|
"restriction"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:679
|
|
msgid ""
|
|
"Otherwise, the HTTP request must be signed by an actor with an approved "
|
|
"follow on the library"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:682
|
|
msgid "For :ref:`object-audio` url objects:"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:684
|
|
msgid ""
|
|
"If the audio's library is public, audio file can be accessed without "
|
|
"restriction"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:685
|
|
msgid ""
|
|
"Otherwise, the HTTP request must be signed by an actor with an approved "
|
|
"follow on the audio's library"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:689
|
|
msgid "Properties"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:694
|
|
msgid "attributedTo"
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:696
|
|
msgid ""
|
|
"Funkwhale will generally use the ``attributedTo`` property to communicate"
|
|
" who is responsible for a given object. When an object has the "
|
|
"``attributedTo`` attribute, the associated actor has the permission to "
|
|
":ref:`activity-update`, :ref:`activity-delete` or more generally apply "
|
|
"any kind of activity on the object."
|
|
msgstr ""
|
|
|
|
#: ../../federation/index.rst:701
|
|
msgid ""
|
|
"In addition, Funkwhale consider all the objects of a domain as attributed"
|
|
" to its corresponding :ref:`service-actor`."
|
|
msgstr ""
|
|
|