Units
Translation components API.
See the Weblate's Web API documentation for detailed description of the API.
GET /api/translations/documentation/developer-federation-index/en_GB/units/?format=api
https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/units/?format=api&page=2", "previous": null, "results": [ { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Funkwhale federation" ], "previous_source": "", "target": [ "" ], "id_hash": -2836441507396279979, "content_hash": -2836441507396279979, "location": "../../developer_documentation/federation/index.md:1", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate.funkwhale.audio/api/units/373264/?format=api", "priority": 100, "id": 373877, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=58a2ef7a2578a155", "url": "https://translate.funkwhale.audio/api/units/373877/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.631087Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "We aim to keep this document up-to-date to reflect the current state of federation. If you notice an issue, please open a thread on [our forum](https://forum.funkwhale.audio/t/documentation)." ], "previous_source": "", "target": [ "" ], "id_hash": 6244922337806619376, "content_hash": 6244922337806619376, "location": "../../developer_documentation/federation/index.md:4", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 26, "source_unit": "https://translate.funkwhale.audio/api/units/373266/?format=api", "priority": 100, "id": 373878, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=d6aa6bc77add92f0", "url": "https://translate.funkwhale.audio/api/units/373878/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.632091Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Funkwhale is a federated platform. Funkwhale pods can share information between one another, and can also communicate with other {term}`Fediverse` software. This article outlines which tools we use, our approach to federation, and how we implement standards." ], "previous_source": "", "target": [ "" ], "id_hash": -8179125081300571505, "content_hash": -8179125081300571505, "location": "../../developer_documentation/federation/index.md:7", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 3, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 37, "source_unit": "https://translate.funkwhale.audio/api/units/373268/?format=api", "priority": 100, "id": 373879, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=0e7de912cb976a8f", "url": "https://translate.funkwhale.audio/api/units/373879/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.632869Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Technologies and standards" ], "previous_source": "", "target": [ "" ], "id_hash": -3864807771993230402, "content_hash": -3864807771993230402, "location": "../../developer_documentation/federation/index.md:14", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 4, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate.funkwhale.audio/api/units/373270/?format=api", "priority": 100, "id": 373880, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=4a5d71ced92cb3be", "url": "https://translate.funkwhale.audio/api/units/373880/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.633731Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Funkwhale's federation is built on top of the following technologies:" ], "previous_source": "", "target": [ "" ], "id_hash": 5200140892626522849, "content_hash": 5200140892626522849, "location": "../../developer_documentation/federation/index.md:16", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 5, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 10, "source_unit": "https://translate.funkwhale.audio/api/units/373272/?format=api", "priority": 100, "id": 373881, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=c82a9c971efc92e1", "url": "https://translate.funkwhale.audio/api/units/373881/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.634503Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "[`ActivityPub`](https://www.w3.org/TR/activitypub/): Our federation protocol" ], "previous_source": "", "target": [ "" ], "id_hash": -3395954977161179909, "content_hash": -3395954977161179909, "location": "../../developer_documentation/federation/index.md:18", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 6, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 4, "source_unit": "https://translate.funkwhale.audio/api/units/373274/?format=api", "priority": 100, "id": 373882, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=50df24f0d9168cfb", "url": "https://translate.funkwhale.audio/api/units/373882/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.635232Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "[`HTTP Signatures`](https://www.ietf.org/archive/id/draft-ietf-httpbis-message-signatures-01.html): A library for authenticating messages sent over the federation" ], "previous_source": "", "target": [ "" ], "id_hash": 6504205950020456341, "content_hash": 6504205950020456341, "location": "../../developer_documentation/federation/index.md:19", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 7, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 11, "source_unit": "https://translate.funkwhale.audio/api/units/373276/?format=api", "priority": 100, "id": 373883, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=da4394d9ccf38f95", "url": "https://translate.funkwhale.audio/api/units/373883/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.635958Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "[`Webfinger`](https://tools.ietf.org/html/rfc7033): A protocol for discovering resources using readable names" ], "previous_source": "", "target": [ "" ], "id_hash": 7887677570839928598, "content_hash": 7887677570839928598, "location": "../../developer_documentation/federation/index.md:20", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 8, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 9, "source_unit": "https://translate.funkwhale.audio/api/units/373278/?format=api", "priority": 100, "id": 373884, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=ed76a8f5c0badf16", "url": "https://translate.funkwhale.audio/api/units/373884/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.636725Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "[`ActivityStreams`](https://www.w3.org/TR/activitystreams-core/) and [`ActivityStreams vocabulary`](https://www.w3.org/TR/activitystreams-vocabulary/): Our approach to structuring messages" ], "previous_source": "", "target": [ "" ], "id_hash": 4730986432213077984, "content_hash": 4730986432213077984, "location": "../../developer_documentation/federation/index.md:21", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 9, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 9, "source_unit": "https://translate.funkwhale.audio/api/units/373280/?format=api", "priority": 100, "id": 373885, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=c1a7d7182140cfe0", "url": "https://translate.funkwhale.audio/api/units/373885/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.637453Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "We plan for support [`JSON-LD signatures`](https://w3c-dvcg.github.io/ld-signatures/) in the future as an alternative to `HTTP Signatures`." ], "previous_source": "", "target": [ "" ], "id_hash": 866481342641877793, "content_hash": 866481342641877793, "location": "../../developer_documentation/federation/index.md:23", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 10, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 15, "source_unit": "https://translate.funkwhale.audio/api/units/373282/?format=api", "priority": 100, "id": 373886, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=8c065c30b8ac3321", "url": "https://translate.funkwhale.audio/api/units/373886/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.638187Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Our philosophy" ], "previous_source": "", "target": [ "" ], "id_hash": -5081096601284502652, "content_hash": -5081096601284502652, "location": "../../developer_documentation/federation/index.md:25", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 11, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate.funkwhale.audio/api/units/373284/?format=api", "priority": 100, "id": 373887, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=397c518fdafe1b84", "url": "https://translate.funkwhale.audio/api/units/373887/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.639043Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Funkwhale aims to align with the above specifications where possible to maintain compatibility with other ActivityPub-aware platforms. This documentation covers where we have departed from the specifications." ], "previous_source": "", "target": [ "" ], "id_hash": 7965594299335739011, "content_hash": 7965594299335739011, "location": "../../developer_documentation/federation/index.md:27", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 12, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 27, "source_unit": "https://translate.funkwhale.audio/api/units/373286/?format=api", "priority": 100, "id": 373888, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=ee8b79cfccc88683", "url": "https://translate.funkwhale.audio/api/units/373888/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.640052Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "While we will always aim for compatibility with other services where it makes sense, Funkwhale to Funkwhale interaction is our focus. We use these standards to support activities and objects that fit in with our use cases, such as **follows** and **likes**." ], "previous_source": "", "target": [ "" ], "id_hash": 1911769149767093902, "content_hash": 1911769149767093902, "location": "../../developer_documentation/federation/index.md:29", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 13, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 42, "source_unit": "https://translate.funkwhale.audio/api/units/373287/?format=api", "priority": 100, "id": 373889, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=9a87f7e9a86b0e8e", "url": "https://translate.funkwhale.audio/api/units/373889/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.651012Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Internal logic" ], "previous_source": "", "target": [ "" ], "id_hash": -3489774351968395156, "content_hash": -3489774351968395156, "location": "../../developer_documentation/federation/index.md:31, ../../developer_documentation/federation/index.md:84, ../../developer_documentation/federation/index.md:126, ../../developer_documentation/federation/index.md:166, ../../developer_documentation/federation/index.md:206, ../../developer_documentation/federation/index.md:247, ../../developer_documentation/federation/index.md:293", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 14, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate.funkwhale.audio/api/units/373288/?format=api", "priority": 100, "id": 373890, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=4f91d4b76ca7a06c", "url": "https://translate.funkwhale.audio/api/units/373890/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.651881Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "This section covers how we handle federation within the Funkwhale ecosystem." ], "previous_source": "", "target": [ "" ], "id_hash": -9002487572391807397, "content_hash": -9002487572391807397, "location": "../../developer_documentation/federation/index.md:33", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 15, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 11, "source_unit": "https://translate.funkwhale.audio/api/units/373289/?format=api", "priority": 100, "id": 373891, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=0310bd4008b7b65b", "url": "https://translate.funkwhale.audio/api/units/373891/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.652669Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Database schema" ], "previous_source": "", "target": [ "" ], "id_hash": 1608874906568290823, "content_hash": 1608874906568290823, "location": "../../developer_documentation/federation/index.md:35", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 16, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate.funkwhale.audio/api/units/373290/?format=api", "priority": 100, "id": 373892, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=9653df340e0af207", "url": "https://translate.funkwhale.audio/api/units/373892/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.653392Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "We use ActivityPub entities as a guide when creating [our models](https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/api/funkwhale_api/federation/models.py) and database schemas. This ensures compatibility with other ActivityPub projects." ], "previous_source": "", "target": [ "" ], "id_hash": 3379204627871380921, "content_hash": 3379204627871380921, "location": "../../developer_documentation/federation/index.md:37", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 17, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 21, "source_unit": "https://translate.funkwhale.audio/api/units/373291/?format=api", "priority": 100, "id": 373893, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=aee558b48ba135b9", "url": "https://translate.funkwhale.audio/api/units/373893/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.654138Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Funkwhale pods store received activities payloads in the database before attempting to process or deliver them. This enables us to debug federation issues, resend messages, or process historical activities that weren't previously supported." ], "previous_source": "", "target": [ "" ], "id_hash": 3455177862969022325, "content_hash": 3455177862969022325, "location": "../../developer_documentation/federation/index.md:39", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 18, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 33, "source_unit": "https://translate.funkwhale.audio/api/units/373292/?format=api", "priority": 100, "id": 373894, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=aff341f5c60fd775", "url": "https://translate.funkwhale.audio/api/units/373894/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.654944Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Funkwhale users are associated to an `Actor`. Remote and local actors are stord in the same database table. Any federated entities, such as uploads, are linked to the `Actor` rather than the user. We don't distinguish between local and remote users on the database level." ], "previous_source": "", "target": [ "" ], "id_hash": -1131169490611910108, "content_hash": -1131169490611910108, "location": "../../developer_documentation/federation/index.md:41", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 19, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 45, "source_unit": "https://translate.funkwhale.audio/api/units/373293/?format=api", "priority": 100, "id": 373895, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=704d47576b514a24", "url": "https://translate.funkwhale.audio/api/units/373895/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.655736Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Activity creation and delivery" ], "previous_source": "", "target": [ "" ], "id_hash": -5667873543761231786, "content_hash": -5667873543761231786, "location": "../../developer_documentation/federation/index.md:43", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 20, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 4, "source_unit": "https://translate.funkwhale.audio/api/units/373305/?format=api", "priority": 100, "id": 373896, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=3157ab0aa8470056", "url": "https://translate.funkwhale.audio/api/units/373896/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.656506Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Any action carried out by a local actor should trigger an `Activity`. This is the equivalent to posting an activity to an object. Funkwhale creates an object with the activity payload and stores it in the `Activity` table. Funkwhale triggers 2 types of deliveries:" ], "previous_source": "", "target": [ "" ], "id_hash": -2560338315118705683, "content_hash": -2560338315118705683, "location": "../../developer_documentation/federation/index.md:45", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 21, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 44, "source_unit": "https://translate.funkwhale.audio/api/units/373317/?format=api", "priority": 100, "id": 373897, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=5c77d9de1e8703ed", "url": "https://translate.funkwhale.audio/api/units/373897/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.657301Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Local recipients: Funkwhale creates an `InboxItem` linked to the activity for each local recipient. Funkwhale then creates a feed of available inbox items for each local actor. Items in this feed have both a `Read` and `Unread` status to allow users to mark items as handled." ], "previous_source": "", "target": [ "" ], "id_hash": -8263905833256212002, "content_hash": -8263905833256212002, "location": "../../developer_documentation/federation/index.md:47", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 22, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 46, "source_unit": "https://translate.funkwhale.audio/api/units/373329/?format=api", "priority": 100, "id": 373898, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=0d50b56dbf7c29de", "url": "https://translate.funkwhale.audio/api/units/373898/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.658085Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Remote recipients: Funkwhale collects the inboxes and shared inbox URLs of all remote recipients. Funkwhale then creates a `Delivery` object and linked to the initial activity and the inbox or shared inbox URL. The worker uses this `Delivery` object to post the activity to the correct inbox." ], "previous_source": "", "target": [ "" ], "id_hash": 4052044960476135927, "content_hash": 4052044960476135927, "location": "../../developer_documentation/federation/index.md:48", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 23, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 47, "source_unit": "https://translate.funkwhale.audio/api/units/373341/?format=api", "priority": 100, "id": 373899, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=b83bc16c431781f7", "url": "https://translate.funkwhale.audio/api/units/373899/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.658895Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "When a local inbox receives an activity from a remote actor, it ends up in their inbox for them to handle." ], "previous_source": "", "target": [ "" ], "id_hash": -7603882545894446393, "content_hash": -7603882545894446393, "location": "../../developer_documentation/federation/index.md:50", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 24, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 21, "source_unit": "https://translate.funkwhale.audio/api/units/373352/?format=api", "priority": 100, "id": 373900, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=1679951c922b2ac7", "url": "https://translate.funkwhale.audio/api/units/373900/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.659686Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Funkwhale doesn't support all activities. Our routing logic enables the software to handle supported activities and discard unsupported ones. When Funkwhale receives an activity it checks if there is a route to handle it. If there is, Funkwhale calls a dedicated handler." ], "previous_source": "", "target": [ "" ], "id_hash": -8704815371278358235, "content_hash": -8704815371278358235, "location": "../../developer_documentation/federation/index.md:52", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 25, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 42, "source_unit": "https://translate.funkwhale.audio/api/units/373362/?format=api", "priority": 100, "id": 373901, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=0732488a3797e925", "url": "https://translate.funkwhale.audio/api/units/373901/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.660475Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "For example: if Funkwhale receives an [`activity-create`](#create) activity for an `object-audio` object, Funkwhale calls a handler to:" ], "previous_source": "", "target": [ "" ], "id_hash": 7563995779074034911, "content_hash": 7563995779074034911, "location": "../../developer_documentation/federation/index.md:54", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 26, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 17, "source_unit": "https://translate.funkwhale.audio/api/units/373367/?format=api", "priority": 100, "id": 373902, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=e8f8b615d6430cdf", "url": "https://translate.funkwhale.audio/api/units/373902/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.661280Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Persist the data in the local `Upload` table" ], "previous_source": "", "target": [ "" ], "id_hash": -85231015798569559, "content_hash": -85231015798569559, "location": "../../developer_documentation/federation/index.md:56", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 27, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 8, "source_unit": "https://translate.funkwhale.audio/api/units/373368/?format=api", "priority": 100, "id": 373903, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=7ed132d7bb7b05a9", "url": "https://translate.funkwhale.audio/api/units/373903/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.662115Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Retrieve data associated with the audio" ], "previous_source": "", "target": [ "" ], "id_hash": -4088052449627516517, "content_hash": -4088052449627516517, "location": "../../developer_documentation/federation/index.md:57", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 28, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 6, "source_unit": "https://translate.funkwhale.audio/api/units/373369/?format=api", "priority": 100, "id": 373904, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=474451f4dcc9519b", "url": "https://translate.funkwhale.audio/api/units/373904/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.662870Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "You can find the code for our routing logic here:" ], "previous_source": "", "target": [ "" ], "id_hash": -5635522771348624387, "content_hash": -5635522771348624387, "location": "../../developer_documentation/federation/index.md:59", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 29, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 10, "source_unit": "https://translate.funkwhale.audio/api/units/373380/?format=api", "priority": 100, "id": 373905, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=31ca99e5d223ebfd", "url": "https://translate.funkwhale.audio/api/units/373905/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.663753Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "[Routing logic for activities](https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/api/funkwhale_api/federation/routes.py)" ], "previous_source": "", "target": [ "" ], "id_hash": -7432508360621438933, "content_hash": -7432508360621438933, "location": "../../developer_documentation/federation/index.md:61", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 30, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 4, "source_unit": "https://translate.funkwhale.audio/api/units/373385/?format=api", "priority": 100, "id": 373906, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=18da6d066f09c82b", "url": "https://translate.funkwhale.audio/api/units/373906/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.664610Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "[Delivery logic for activities](https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/api/funkwhale_api/federation/tasks.py)" ], "previous_source": "", "target": [ "" ], "id_hash": -6450008024589818995, "content_hash": -6450008024589818995, "location": "../../developer_documentation/federation/index.md:62", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 31, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 4, "source_unit": "https://translate.funkwhale.audio/api/units/373386/?format=api", "priority": 100, "id": 373907, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=267cf7e00fe7a38d", "url": "https://translate.funkwhale.audio/api/units/373907/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.665427Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Service actor" ], "previous_source": "", "target": [ "" ], "id_hash": -7932447361069594024, "content_hash": -7932447361069594024, "location": "../../developer_documentation/federation/index.md:64", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 32, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate.funkwhale.audio/api/units/373387/?format=api", "priority": 100, "id": 373908, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=11ea49272bf64a58", "url": "https://translate.funkwhale.audio/api/units/373908/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.666181Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Funkwhale uses a dedicated service actor to send messages or authenticate fetches. This actor isn't associated to a user." ], "previous_source": "", "target": [ "" ], "id_hash": 2481051176641859529, "content_hash": 2481051176641859529, "location": "../../developer_documentation/federation/index.md:66", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 33, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 19, "source_unit": "https://translate.funkwhale.audio/api/units/373388/?format=api", "priority": 100, "id": 373909, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=a26e76e6654d8fc9", "url": "https://translate.funkwhale.audio/api/units/373909/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.666962Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "You can query a pod's nodeinfo endpoint to return the ID of the service actor in the `metadata > actorId` field. See the [API explorer](https://docs.funkwhale.audio/swagger/) for more information about this endpoint." ], "previous_source": "", "target": [ "" ], "id_hash": -8347766590394350348, "content_hash": -8347766590394350348, "location": "../../developer_documentation/federation/index.md:68", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 34, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 31, "source_unit": "https://translate.funkwhale.audio/api/units/373389/?format=api", "priority": 100, "id": 373910, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=0c26c683afabc4f4", "url": "https://translate.funkwhale.audio/api/units/373910/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.667835Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Funkwhale considers a pod's service actor to be an authoritative source for activities associated with **all** objects on its pod's domain. If the service actor sends an activity linked to an object on its domain, remote pods will recognize its authority." ], "previous_source": "", "target": [ "" ], "id_hash": -1813941583404533348, "content_hash": -1813941583404533348, "location": "../../developer_documentation/federation/index.md:70", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 35, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 41, "source_unit": "https://translate.funkwhale.audio/api/units/373393/?format=api", "priority": 100, "id": 373911, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=66d395bd95dcf99c", "url": "https://translate.funkwhale.audio/api/units/373911/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.668671Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Supported activities" ], "previous_source": "", "target": [ "" ], "id_hash": -8123407113681798656, "content_hash": -8123407113681798656, "location": "../../developer_documentation/federation/index.md:72", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 36, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate.funkwhale.audio/api/units/373405/?format=api", "priority": 100, "id": 373912, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=0f43dc450f1d7a00", "url": "https://translate.funkwhale.audio/api/units/373912/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.669470Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Follow" ], "previous_source": "", "target": [ "" ], "id_hash": 6437227902056761639, "content_hash": 6437227902056761639, "location": "../../developer_documentation/federation/index.md:74", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 37, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate.funkwhale.audio/api/units/373424/?format=api", "priority": 100, "id": 373913, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=d955a0abc8538927", "url": "https://translate.funkwhale.audio/api/units/373913/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.670222Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "A **follow** enables actors to access and retrieve content from other actors as soon as it updates." ], "previous_source": "", "target": [ "" ], "id_hash": 7729505584831922123, "content_hash": 7729505584831922123, "location": "../../developer_documentation/federation/index.md:76", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 38, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 17, "source_unit": "https://translate.funkwhale.audio/api/units/373437/?format=api", "priority": 100, "id": 373914, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=eb44b860714dffcb", "url": "https://translate.funkwhale.audio/api/units/373914/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.671044Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Supported on" ], "previous_source": "", "target": [ "" ], "id_hash": 698598152284683839, "content_hash": 698598152284683839, "location": "../../developer_documentation/federation/index.md", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 39, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate.funkwhale.audio/api/units/373448/?format=api", "priority": 100, "id": 373915, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=89b1eb5173ac3e3f", "url": "https://translate.funkwhale.audio/api/units/373915/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.671835Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "[Library objects](#library)" ], "previous_source": "", "target": [ "" ], "id_hash": -2755929670767108426, "content_hash": -2755929670767108426, "location": "../../developer_documentation/federation/index.md:80", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 40, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate.funkwhale.audio/api/units/373459/?format=api", "priority": 100, "id": 373916, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=59c0f890e3f79eb6", "url": "https://translate.funkwhale.audio/api/units/373916/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.672598Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "When Funkwhale receives a follow on a [library object](#library), it performs one of the following actions depending on the library's visibility:" ], "previous_source": "", "target": [ "" ], "id_hash": 3609539211144913747, "content_hash": 3609539211144913747, "location": "../../developer_documentation/federation/index.md:86", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 41, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 21, "source_unit": "https://translate.funkwhale.audio/api/units/373471/?format=api", "priority": 100, "id": 373917, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=b217a8c9d322e353", "url": "https://translate.funkwhale.audio/api/units/373917/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.673359Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Automatically accept: If the library is public, Funkwhale automatically accepts the follow activity. Funkwhale sends a notification to the owner of the library and an [`Accept`](#accept) activity to the actor who sent the follow" ], "previous_source": "", "target": [ "" ], "id_hash": -7108651820701824021, "content_hash": -7108651820701824021, "location": "../../developer_documentation/federation/index.md:88", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 42, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 34, "source_unit": "https://translate.funkwhale.audio/api/units/373479/?format=api", "priority": 100, "id": 373918, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=1d58fed513224beb", "url": "https://translate.funkwhale.audio/api/units/373918/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.674158Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Accept request: If the library isn't public, Funkwhale sends a notification to the library owner. If the owner approves the request, Funkwhale sends an [`Accept`](#accept) activity to the actor who sent the follow" ], "previous_source": "", "target": [ "" ], "id_hash": -82151502257349975, "content_hash": -82151502257349975, "location": "../../developer_documentation/federation/index.md:89", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 43, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 33, "source_unit": "https://translate.funkwhale.audio/api/units/373481/?format=api", "priority": 100, "id": 373919, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=7edc23a4da2f9aa9", "url": "https://translate.funkwhale.audio/api/units/373919/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.674969Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Funkwhale uses the library follow status to grant access to the actor who sent the follow request. If the library isn't public and the owner doesn't send an approval, the requesting actor can't access the library's content." ], "previous_source": "", "target": [ "" ], "id_hash": 7184039347751968363, "content_hash": 7184039347751968363, "location": "../../developer_documentation/federation/index.md:91", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 44, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 37, "source_unit": "https://translate.funkwhale.audio/api/units/373482/?format=api", "priority": 100, "id": 373920, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=e3b2d5b95f2f5e6b", "url": "https://translate.funkwhale.audio/api/units/373920/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.677227Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Checks" ], "previous_source": "", "target": [ "" ], "id_hash": -4270281030307148638, "content_hash": -4270281030307148638, "location": "../../developer_documentation/federation/index.md:93, ../../developer_documentation/federation/index.md:130, ../../developer_documentation/federation/index.md:170, ../../developer_documentation/federation/index.md:214, ../../developer_documentation/federation/index.md:255, ../../developer_documentation/federation/index.md:297", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 45, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate.funkwhale.audio/api/units/373484/?format=api", "priority": 100, "id": 373921, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=44bcea0721740ca2", "url": "https://translate.funkwhale.audio/api/units/373921/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.678043Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Funkwhale ensures the activity is being sent to the library's owner before handling it." ], "previous_source": "", "target": [ "" ], "id_hash": 4571162219998972341, "content_hash": 4571162219998972341, "location": "../../developer_documentation/federation/index.md:95", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 46, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 14, "source_unit": "https://translate.funkwhale.audio/api/units/373488/?format=api", "priority": 100, "id": 373922, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=bf7007d1edb989b5", "url": "https://translate.funkwhale.audio/api/units/373922/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.678832Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Example" ], "previous_source": "", "target": [ "Example" ], "id_hash": 7721015986023097930, "content_hash": 7721015986023097930, "location": "../../developer_documentation/federation/index.md:97, ../../developer_documentation/federation/index.md:134, ../../developer_documentation/federation/index.md:174, ../../developer_documentation/federation/index.md:218, ../../developer_documentation/federation/index.md:264, ../../developer_documentation/federation/index.md:301, ../../developer_documentation/federation/index.md:392, ../../developer_documentation/federation/index.md:442, ../../developer_documentation/federation/index.md:501, ../../developer_documentation/federation/index.md:560, ../../developer_documentation/federation/index.md:627", "context": "", "note": "", "flags": "", "labels": [], "state": 30, "fuzzy": false, "translated": true, "approved": true, "position": 47, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate.funkwhale.audio/api/units/373490/?format=api", "priority": 100, "id": 373923, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=eb268f21b004e64a", "url": "https://translate.funkwhale.audio/api/units/373923/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.679610Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "In this example, **Alice** sends a follow activity for a [library object](#library) owned by **Bob**." ], "previous_source": "", "target": [ "" ], "id_hash": 223861028441819875, "content_hash": 223861028441819875, "location": "../../developer_documentation/federation/index.md:99", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 48, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 15, "source_unit": "https://translate.funkwhale.audio/api/units/373492/?format=api", "priority": 100, "id": 373924, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=831b506b57540ae3", "url": "https://translate.funkwhale.audio/api/units/373924/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.680418Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "Accept" ], "previous_source": "", "target": [ "" ], "id_hash": -4220994469195138564, "content_hash": -4220994469195138564, "location": "../../developer_documentation/federation/index.md:116", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 49, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate.funkwhale.audio/api/units/373494/?format=api", "priority": 100, "id": 373925, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=456c03e4e0bc39fc", "url": "https://translate.funkwhale.audio/api/units/373925/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.681209Z" }, { "translation": "https://translate.funkwhale.audio/api/translations/documentation/developer-federation-index/en_GB/?format=api", "source": [ "The `Accept` activity sends a positive response, such as confirming a [`Follow` activity](#follow)." ], "previous_source": "", "target": [ "" ], "id_hash": 1604136632424549957, "content_hash": 1604136632424549957, "location": "../../developer_documentation/federation/index.md:118", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 50, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 13, "source_unit": "https://translate.funkwhale.audio/api/units/373497/?format=api", "priority": 100, "id": 373926, "web_url": "https://translate.funkwhale.audio/translate/documentation/developer-federation-index/en_GB/?checksum=964309c4a2db4e45", "url": "https://translate.funkwhale.audio/api/units/373926/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2023-03-25T08:06:55.681977Z" } ] }{ "count": 179, "next": "