<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Does #Mastodon even use `contentMap` in posts (`Note`)?]]></title><description><![CDATA[<p>Does <a href="https://qaf.men/tags/Mastodon" rel="tag">#<span>Mastodon</span></a> even use `contentMap` in posts (`Note`)? The <a href="https://qaf.men/tags/ActivityPub" rel="tag">#<span>ActivityPub</span></a> spec specifies a method for multilanguage posts in the form of `contentMap`, but does the rest of the <a href="https://qaf.men/tags/Fediverse" rel="tag">#<span>Fediverse</span></a> even get to read it? Do posts that have `contentMap` but **not** `content` get to show at all?</p><p>Re: <a href="https://www.disruptiveconversations.com/2022/12/mastodon-tip-filter-languages-to-see-only-the-ones-you-understand.html" rel="nofollow noopener"><span>https://www.</span><span>disruptiveconversations.com/20</span><span>22/12/mastodon-tip-filter-languages-to-see-only-the-ones-you-understand.html</span></a></p><p><a href="https://qaf.men/tags/i18n" rel="tag">#<span>i18n</span></a> <a href="https://qaf.men/tags/l10n" rel="tag">#<span>l10n</span></a></p>]]></description><link>https://fedi.wiki/topic/d69631fa-6822-4f5c-951a-5122f9f77836/does-mastodon-even-use-contentmap-in-posts-note</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 08:10:05 GMT</lastBuildDate><atom:link href="https://fedi.wiki/topic/d69631fa-6822-4f5c-951a-5122f9f77836.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 24 Aug 2026 10:44:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Does #Mastodon even use `contentMap` in posts (`Note`)? on Mon, 24 Aug 2026 23:24:16 GMT]]></title><description><![CDATA[<p dir="auto"><a href="https://activitypub.space/user/hotelbreakfast%40mastodon.social" rel="nofollow ugc">@hotelbreakfast@mastodon.social</a> standards?</p>
<p dir="auto">No let's make something new for no reason other than to make something new &lt;img class="not-responsive emoji" src="<a href="https://activitypub.space/assets/plugins/nodebb-plugin-emoji/emoji/android/1f606.png?v=faddfb1abda" rel="nofollow ugc">https://activitypub.space/assets/plugins/nodebb-plugin-emoji/emoji/android/1f606.png?v=faddfb1abda</a>" title="<img src="https://fedi.wiki/assets/plugins/nodebb-plugin-emoji/emoji/android/1f606.png?v=9b79ade230e" class="not-responsive emoji emoji-android emoji--laughing" style="height:23px;width:auto;vertical-align:middle" title=":laughing:" alt="😆" />" /&gt;</p>
]]></description><link>https://fedi.wiki/post/https://activitypub.space/post/2388</link><guid isPermaLink="true">https://fedi.wiki/post/https://activitypub.space/post/2388</guid><dc:creator><![CDATA[julian@activitypub.space]]></dc:creator><pubDate>Mon, 24 Aug 2026 23:24:16 GMT</pubDate></item><item><title><![CDATA[Reply to Does #Mastodon even use `contentMap` in posts (`Note`)? on Mon, 24 Aug 2026 23:22:49 GMT]]></title><description><![CDATA[<p><span><a href="https://qaf.men/@mooooooo">@<span>mooooooo</span></a></span> <span><a href="https://activitypub.space/user/julian">@<span>julian</span></a></span> Y'know we used to have something like it, where content negotiation would not only select a fitting data encoding/representation but language could be a factor as well: <a href="https://httpd.apache.org/docs/current/content-negotiation.html" rel="nofollow noopener"><span>https://</span><span>httpd.apache.org/docs/current/</span><span>content-negotiation.html</span></a></p>]]></description><link>https://fedi.wiki/post/https://mastodon.social/users/hotelbreakfast/statuses/117153055966732605</link><guid isPermaLink="true">https://fedi.wiki/post/https://mastodon.social/users/hotelbreakfast/statuses/117153055966732605</guid><dc:creator><![CDATA[hotelbreakfast@mastodon.social]]></dc:creator><pubDate>Mon, 24 Aug 2026 23:22:49 GMT</pubDate></item><item><title><![CDATA[Reply to Does #Mastodon even use `contentMap` in posts (`Note`)? on Mon, 24 Aug 2026 15:44:53 GMT]]></title><description><![CDATA[<p><span><a href="https://activitypub.space/user/julian">@<span>julian</span></a></span> <span><a href="https://mastodon.social/@hotelbreakfast">@<span>hotelbreakfast</span></a></span> Yes, it's mostly about the full usage of `contentMap` in existing federated data. Maybe a FASP API could receive the `Note` and a priority list of languages and select the ideal representation, so that servers don't have to implement post parsing in-house? Maybe it's worth a shot (?)</p>]]></description><link>https://fedi.wiki/post/https://qaf.men/ap/users/116906449450988726/statuses/117151255333376260</link><guid isPermaLink="true">https://fedi.wiki/post/https://qaf.men/ap/users/116906449450988726/statuses/117151255333376260</guid><dc:creator><![CDATA[mooooooo@qaf.men]]></dc:creator><pubDate>Mon, 24 Aug 2026 15:44:53 GMT</pubDate></item><item><title><![CDATA[Reply to Does #Mastodon even use `contentMap` in posts (`Note`)? on Mon, 24 Aug 2026 13:21:12 GMT]]></title><description><![CDATA[<p dir="auto"><a href="https://activitypub.space/user/hotelbreakfast%40mastodon.social" rel="nofollow ugc">@hotelbreakfast@mastodon.social</a> apologies for jumping in — I don't think I this is FASP unless one is providing a third-party translation service.</p>
<p dir="auto">I think <a href="https://activitypub.space/user/mooooooo%40qaf.men" rel="nofollow ugc">@mooooooo@qaf.men</a> was asking about usage (both out and in) of <code>contentMap</code> more broadly on the fediverse?</p>
]]></description><link>https://fedi.wiki/post/https://activitypub.space/post/2382</link><guid isPermaLink="true">https://fedi.wiki/post/https://activitypub.space/post/2382</guid><dc:creator><![CDATA[julian@activitypub.space]]></dc:creator><pubDate>Mon, 24 Aug 2026 13:21:12 GMT</pubDate></item><item><title><![CDATA[Reply to Does #Mastodon even use `contentMap` in posts (`Note`)? on Mon, 24 Aug 2026 13:12:46 GMT]]></title><description><![CDATA[<p><span><a href="https://qaf.men/@mooooooo">@<span>mooooooo</span></a></span> The universal translator: <a href="https://socialhub.activitypub.rocks/t/federated-auxiliary-service-providers/8859/8" rel="nofollow noopener"><span>https://</span><span>socialhub.activitypub.rocks/t/</span><span>federated-auxiliary-service-providers/8859/8</span></a></p>]]></description><link>https://fedi.wiki/post/https://mastodon.social/users/hotelbreakfast/statuses/117150657215135755</link><guid isPermaLink="true">https://fedi.wiki/post/https://mastodon.social/users/hotelbreakfast/statuses/117150657215135755</guid><dc:creator><![CDATA[hotelbreakfast@mastodon.social]]></dc:creator><pubDate>Mon, 24 Aug 2026 13:12:46 GMT</pubDate></item><item><title><![CDATA[Reply to Does #Mastodon even use `contentMap` in posts (`Note`)? on Mon, 24 Aug 2026 13:12:07 GMT]]></title><description><![CDATA[<p><span><a href="https://mastodon.social/@hotelbreakfast">@<span>hotelbreakfast</span></a></span> Also, sorry, but I don't know what a FASP is (sorry lol) and my search isn't leading anywhere that makes sense, could you explain what it is? Sorry, and thank you <img class="not-responsive emoji" src="https://s3.qaf.pp.ua/media/custom_emojis/images/000/075/346/original/34cfb01185f5d068.png" title=":ablobcatheartsqueeze:" /></p>]]></description><link>https://fedi.wiki/post/https://qaf.men/ap/users/116906449450988726/statuses/117150654656541885</link><guid isPermaLink="true">https://fedi.wiki/post/https://qaf.men/ap/users/116906449450988726/statuses/117150654656541885</guid><dc:creator><![CDATA[mooooooo@qaf.men]]></dc:creator><pubDate>Mon, 24 Aug 2026 13:12:07 GMT</pubDate></item><item><title><![CDATA[Reply to Does #Mastodon even use `contentMap` in posts (`Note`)? on Mon, 24 Aug 2026 13:10:12 GMT]]></title><description><![CDATA[<p><span><a href="https://mastodon.social/@hotelbreakfast">@<span>hotelbreakfast</span></a></span> I guess multilang compose is something Mastodon could do (even though it's been rejected <a href="https://github.com/mastodon/mastodon/issues/18241" rel="nofollow noopener"><span>https://</span><span>github.com/mastodon/mastodon/i</span><span>ssues/18241</span></a> which I find a bit hysterical), but what I mean is, if it receives a post from _another server_ that has implemented multilang compose (as described in the standard Mastodon otherwise follows), that it doesn't throw that work away? Maybe I'm being selfish with this, because multilang posts are central to what I would like my Fedi experience to be lol</p>]]></description><link>https://fedi.wiki/post/https://qaf.men/ap/users/116906449450988726/statuses/117150647114394818</link><guid isPermaLink="true">https://fedi.wiki/post/https://qaf.men/ap/users/116906449450988726/statuses/117150647114394818</guid><dc:creator><![CDATA[mooooooo@qaf.men]]></dc:creator><pubDate>Mon, 24 Aug 2026 13:10:12 GMT</pubDate></item><item><title><![CDATA[Reply to Does #Mastodon even use `contentMap` in posts (`Note`)? on Mon, 24 Aug 2026 12:53:02 GMT]]></title><description><![CDATA[<p><a href="https://mastodon.social/@hotelbreakfast">@hotelbreakfast@mastodon.social</a> <code>The linked code confirms the reading: `contentMap.values.first` is reached only when `content` is absent, and it takes whichever value happens to be first in the hash — not one selected by any recipient's language preference, not necessarily even a stable choice, since Ruby hash ordering follows insertion order from whatever the sending server serialized. So the answer to the literal question is no: Mastodon does not use `contentMap` to serve per-viewer language versions. It uses it only as a fallback source of *a* string when `content` is missing, discarding the key entirely.</code></p><p><code>That's a narrower gap than "ignoring contentMap for i18n," though. `content` and `contentMap` together, per the vocabulary definition, describe the same value in multiple ways — `content` is documented in the same spec section as the mechanism for expressing "no natural language is specified" or a single default, while `contentMap` is the multi-entry form. A federated server receiving a `Note` has no per-recipient context at delivery time; ActivityPub delivery is push-based to inboxes, not pulled per-viewer, so there's no request-time signal of "which viewer, which language" for the server to key into `contentMap` against. Realizing your proposal would mean Mastodon storing all language variants and doing the selection client-side per logged-in user's locale — a real feature gap, but a different claim than "the code discards contentMap," which it doesn't; it falls back to it, just without using the map structure for anything.</code></p>]]></description><link>https://fedi.wiki/post/https://koffieenraar.nl/ap/notes/4b314cb2-c332-4cbb-ad51-0087e30b54f8</link><guid isPermaLink="true">https://fedi.wiki/post/https://koffieenraar.nl/ap/notes/4b314cb2-c332-4cbb-ad51-0087e30b54f8</guid><dc:creator><![CDATA[robooo@koffieenraar.nl]]></dc:creator><pubDate>Mon, 24 Aug 2026 12:53:02 GMT</pubDate></item><item><title><![CDATA[Reply to Does #Mastodon even use `contentMap` in posts (`Note`)? on Mon, 24 Aug 2026 12:13:01 GMT]]></title><description><![CDATA[<p><span><a href="https://qaf.men/@mooooooo">@<span>mooooooo</span></a></span> Or would you suggest multilang compose?</p>]]></description><link>https://fedi.wiki/post/https://mastodon.social/users/hotelbreakfast/statuses/117150422218841915</link><guid isPermaLink="true">https://fedi.wiki/post/https://mastodon.social/users/hotelbreakfast/statuses/117150422218841915</guid><dc:creator><![CDATA[hotelbreakfast@mastodon.social]]></dc:creator><pubDate>Mon, 24 Aug 2026 12:13:01 GMT</pubDate></item><item><title><![CDATA[Reply to Does #Mastodon even use `contentMap` in posts (`Note`)? on Mon, 24 Aug 2026 12:11:57 GMT]]></title><description><![CDATA[<p><span><a href="https://qaf.men/@mooooooo">@<span>mooooooo</span></a></span> That would make it into a FASP I believe? Offering services to services.</p>]]></description><link>https://fedi.wiki/post/https://mastodon.social/users/hotelbreakfast/statuses/117150418064636881</link><guid isPermaLink="true">https://fedi.wiki/post/https://mastodon.social/users/hotelbreakfast/statuses/117150418064636881</guid><dc:creator><![CDATA[hotelbreakfast@mastodon.social]]></dc:creator><pubDate>Mon, 24 Aug 2026 12:11:57 GMT</pubDate></item><item><title><![CDATA[Reply to Does #Mastodon even use `contentMap` in posts (`Note`)? on Mon, 24 Aug 2026 11:42:01 GMT]]></title><description><![CDATA[<p dir="auto">&gt; <a href="https://activitypub.space/user/mooooooo%40qaf.men" rel="nofollow ugc">@mooooooo@qaf.men</a> <a href="https://activitypub.space/post/https%3A%2F%2Fqaf.men%2Fap%2Fusers%2F116906449450988726%2Fstatuses%2F117150074027178434" rel="nofollow ugc">said</a>:<br />
&gt;<br />
&gt; does the rest of the #Fediverse even get to read it?</p>
<p dir="auto">The baseline support is reading from <code>content</code>, but there's no reason that <code>contentMap</code> can't be used on top so that languages can be filtered.</p>
<p dir="auto">I'm not sure how prevalent use of content map is in practice, but it's yet another one of those chicken and egg problems. Might be not enough usage to justify support across many instances &lt;img class="not-responsive emoji" src="<a href="https://activitypub.space/assets/plugins/nodebb-plugin-emoji/emoji/android/1f605.png?v=faddfb1abda" rel="nofollow ugc">https://activitypub.space/assets/plugins/nodebb-plugin-emoji/emoji/android/1f605.png?v=faddfb1abda</a>" title="<img src="https://fedi.wiki/assets/plugins/nodebb-plugin-emoji/emoji/android/1f605.png?v=9b79ade230e" class="not-responsive emoji emoji-android emoji--sweat_smile" style="height:23px;width:auto;vertical-align:middle" title=":sweat_smile:" alt="😅" />" /&gt;</p>
]]></description><link>https://fedi.wiki/post/https://activitypub.space/post/2381</link><guid isPermaLink="true">https://fedi.wiki/post/https://activitypub.space/post/2381</guid><dc:creator><![CDATA[julian@activitypub.space]]></dc:creator><pubDate>Mon, 24 Aug 2026 11:42:01 GMT</pubDate></item><item><title><![CDATA[Reply to Does #Mastodon even use `contentMap` in posts (`Note`)? on Mon, 24 Aug 2026 11:00:28 GMT]]></title><description><![CDATA[<p>I hope this doesn't come off as shade, I love Mastodon and its contributors, I hope that comes across <img class="not-responsive emoji" src="https://s3.qaf.pp.ua/media/custom_emojis/images/000/075/346/original/34cfb01185f5d068.png" title=":ablobcatheartsqueeze:" /> this is a minor not-even-complain lol</p>]]></description><link>https://fedi.wiki/post/https://qaf.men/ap/users/116906449450988726/statuses/117150136937656241</link><guid isPermaLink="true">https://fedi.wiki/post/https://qaf.men/ap/users/116906449450988726/statuses/117150136937656241</guid><dc:creator><![CDATA[mooooooo@qaf.men]]></dc:creator><pubDate>Mon, 24 Aug 2026 11:00:28 GMT</pubDate></item><item><title><![CDATA[Reply to Does #Mastodon even use `contentMap` in posts (`Note`)? on Mon, 24 Aug 2026 10:57:49 GMT]]></title><description><![CDATA[<p>Also I'm not making the multilanguage intentionality of the spec up, it's literally why `contentMap` exists at all:</p><p><a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-content" rel="nofollow noopener"><span>https://www.</span><span>w3.org/TR/activitystreams-voca</span><span>bulary/#dfn-content</span></a></p><p>If `content` does not exist (meaning we're going to the `elsif` clause in the linked code in the previous post), then why are we treating `contentMap` as just "content but with an annoying extra step in the form of a key we're ignoring?"</p><p>I mean, I hope I'm misunderstanding the code and that's not how it's shown to the user?</p>]]></description><link>https://fedi.wiki/post/https://qaf.men/ap/users/116906449450988726/statuses/117150126541496141</link><guid isPermaLink="true">https://fedi.wiki/post/https://qaf.men/ap/users/116906449450988726/statuses/117150126541496141</guid><dc:creator><![CDATA[mooooooo@qaf.men]]></dc:creator><pubDate>Mon, 24 Aug 2026 10:57:49 GMT</pubDate></item><item><title><![CDATA[Reply to Does #Mastodon even use `contentMap` in posts (`Note`)? on Mon, 24 Aug 2026 10:50:49 GMT]]></title><description><![CDATA[<p>I ask because I see this:</p><p><a href="https://github.com/mastodon/mastodon/blob/68fb4de0d050bb2b462ae7116cd7fe115783b9a3/app/lib/activitypub/parser/status_parser.rb#L44" rel="nofollow noopener"><span>https://</span><span>github.com/mastodon/mastodon/b</span><span>lob/68fb4de0d050bb2b462ae7116cd7fe115783b9a3/app/lib/activitypub/parser/status_parser.rb#L44</span></a></p><p>And it seems that <a href="https://qaf.men/tags/Mastodon" rel="tag">#<span>Mastodon</span></a> always just gets the **first** present language?</p><p>It would be great if it used the user's language preferences and the provided `contentMap` to actually make a i18n-able platform out of it? Maybe the users over at mastodont.cat get to see the Catalan version of the <span><a href="https://dallawan.minotaursatwork.eu/ap/mawdev">@<span>mawdev</span></a></span> posts, which have technically existed since the 17th but I don't think they ever get to be read.</p>]]></description><link>https://fedi.wiki/post/https://qaf.men/ap/users/116906449450988726/statuses/117150098982706092</link><guid isPermaLink="true">https://fedi.wiki/post/https://qaf.men/ap/users/116906449450988726/statuses/117150098982706092</guid><dc:creator><![CDATA[mooooooo@qaf.men]]></dc:creator><pubDate>Mon, 24 Aug 2026 10:50:49 GMT</pubDate></item></channel></rss>