Trusted Translations
Trusted Translations
draft optional
This NIP allows anyone to post a translation for any source event by using kind:76.
{
"kind": 76,
"tags": [
// source event and kind
["e", "<event_id>", "<relay>"]
["k", "<event_kind>"]
// language codes
["l", "<lang_code>"], // e.g. "en"
["l", "<lang_code>"], // e.g. "en-us"
// tag translations
["s", "title", "translated title tag"]
["s", "summary", "translated summary tag"]
],
"content": "this is a translated version of the original content",
// ...other fields
}
e tag points to the event being translated, k tag points to the kind of that event.
l tags define the language this was translated to in lowercase codes as defined by ISO 639-1.
s tags are the translations for tags in the source event.
.content contains the translation of the original .content
Clients SHOULD request translations by e and l tags spoken by their user. For every tag being rendered, Clients SHOULD look for their translated versions.
Providers SHOULD use the event id in the filter to know which events need translations.
Providers MAY store their translations behind a paid relay with NIP-42 auth.
Declaring Translation Providers
Kind 10041 lists the user’s authorized translation providers. Each p tag is followed by the pubkey of the service publishing kind 76s, and the relay translations can be found. Users can specify these publicly or privately by JSON-stringifying and encrypting the tag list in the .content using NIP-44.
{
"kind": 10041,
"tags": [
["p", "<service_pubkey>", "<relay_hint>"],
// languages spoken by this user
["l", "<lang_code>"], // e.g. "en"
["l", "<lang_code>"], // e.g. "en-us"
]
//...
}
l tags in this event are the languages the user understands and wants translations to.
Providers SHOULD create the 10041 event and post to the user’s outbox relay.
Looking for comments…
Searching Nostr relays. This may take a moment the first time this article is opened.
Looking for comments…
Searching Nostr relays. This may take a moment the first time this article is opened.