From 8fde73bc5d69eca91f8245e86a1f3b33e0fa8e79 Mon Sep 17 00:00:00 2001 From: public_yusuke <30387586+private-yusuke@users.noreply.github.com> Date: Sat, 20 Nov 2021 10:21:12 +0900 Subject: [PATCH] Translate overview to Japanese (#1) --- index.html | 185 +++++++++++++++++++---------------------------------- 1 file changed, 66 insertions(+), 119 deletions(-) diff --git a/index.html b/index.html index b319168..6e00fd6 100644 --- a/index.html +++ b/index.html @@ -113,16 +113,11 @@ } -
- The ActivityPub protocol is a decentralized social networking protocol - based upon the [[!ActivityStreams]] 2.0 data format. - It provides a client to server API for creating, updating and deleting - content, as well as a federated server to server API for delivering - notifications and content. + ActivityPub プロトコルは、[[!ActivityStreams]] 2.0 データフォーマットに基いた非中央集権的なソーシャルネットワーキングプロトコルです。 + 内容の作成、更新、削除を行うためにクライアントから呼び出すサーバーの API と、通知や内容を伝達するために連合したサーバーが呼び出すサーバーの API を提供します。
ActivityPub provides two layers:
+ActivityPub は次の2つのレイヤーを提供します:
- ActivityPub implementations can implement just one of these things or - both of them. - However, once you've implemented one, it isn't too many steps to - implement the other, and there are a lot of benefits to both (making - your website part of the decentralized social web, and being able to - use clients and client libraries that work across a wide variety of - social websites). + ActivityPub を実装するにあたっては、これらのどちらか一方のみ、または両方を実装することが可能です。 + しかしながら、片方が実装できていれば、もう片方を実装するのに多くの手間はかからず、両者によるメリットを得ることができます(ウェブサイトを非中央集権的なソーシャルウェブの一部にしたり、幅広いソーシャルウェブサイトで動作するクライアントやそのライブラリを使えるようになる)。
- In ActivityPub, a user is represented by "actors" - via the user's accounts on servers. - User's accounts on different servers correspond to different actors. - Every Actor has: + ActivityPub では、ユーザーのことを、サーバー上のユーザーを介して「actor」で表現されます。異なるサーバー上のユーザーのアカウントは、異なる actor に対応します。 + それぞれの actor は次の要素を持ちます:
inbox
: How they get messages from the worldoutbox
: How they send messages to othersinbox
: 外界からメッセージを受け取る部分outbox
: 他人へとメッセージを送る部分
+ alt="inbox と outbox に並ぶ actor" />
- These are endpoints, or really, just URLs which are listed in the - ActivityPub actor's ActivityStreams description. - (More on ActivityStreams later). + これらは、エンドポイントだったり、実際には ActivityPub の actor の ActivityStreams での説明に列挙されているただの URL であったりします(ActivityStreams について後にもう少し説明あり)。
- Here's an example of the record of our friend Alyssa P. Hacker: + これは、我々の友達である Alyssa P. Hacker のレコードの一例です:
@@ -199,74 +183,54 @@
- ActivityPub uses [[!ActivityStreams]] for its vocabulary. - This is pretty great because ActivityStreams includes all the common - terms you need to represent all the activities and content flowing - around a social network. - It's likely that ActivityStreams already includes all the vocabulary - you need, but even if it doesn't, ActivityStreams can be extended - via [[!JSON-LD]]. - If you know what JSON-LD is, you can take advantage of the cool linked - data approaches provided by JSON-LD. - If you don't, don't worry, JSON-LD documents and ActivityStreams can be - understood as plain old simple JSON. - (If you're going to add extensions, that's the point at which JSON-LD - really helps you out). + ActivityPub は [[!ActivityStreams]] の語彙を用います。 + これはとても良いことで、なぜなら ActivityStreams はソーシャルネットワークで流れるすべての activity や内容を表現するのに必要な、共通したあらゆる表現を含んでいるからです。 + おそらく、ActivityStreams はあなたが必要とする語彙すべてをすでに含んでいると考えられますが、もしそうでなかったとしても、[[!JSON-LD]] を介して ActivityStreams を拡張できます。 + JSON-LD のことを知っているなら、JSON-LD によって提供されるすてきな linked data の手法によるメリットを得られます。 + もし知らなかったとしても、落ち込む必要はありません。JSON-LD ドキュメントと ActivityStreams は普通のシンプルな JSON として解釈できます + (拡張を追加しようとするときに、JSON-LD が非常に助けとなってくれるのです)。
- So, okay. - Alyssa wants to talk to her friends, and her friends want to talk to - her! - Luckily these "inbox" and "outbox" things can help us out. - They both behave differently for GET and POST. - Let's see how that works: -
- + さて、Alyssa は友達に話し掛けたいと思っていて、彼女の友達もまた彼女に話し掛けたいと思っています! + 幸運なことに、これらの "inbox" と "outbox" というものが私たちの助けとなります。両者は GET と POST に対して異なる働きをします。どのように動くのか見てみましょう:
+ alt="外界から inbox へ流れるメッセージと、outbox から外界へ流れるメッセージに並ぶ actor" />
- Hey nice, so just as a recap: + 要約すると:
- Of course, if that last one (GET'ing from someone's outbox) was the - only way to see what people have sent, this wouldn't be a very - efficient federation protocol! - Indeed, federation happens usually by servers posting messages sent by - actors to actors on other servers' inboxes. + もちろん、最後のもの(誰かの outbox に対して GET すること)だけが人々の投稿を見るための方法だったら、あまり効率的な連合のプロトコルにはならないでしょう! + 実際、連合そのものは、サーバー同士が actor から actor へのメッセージをほかのサーバー上の inbox に送ることで起きています。
- Let's see an example! - Let's say Alyssa wants to catch up with her friend, Ben Bitdiddle. - She lent him a book recently and she wants to make sure he returns it - to her. - Here's the message she composes, as an ActivityStreams object: + 例を見てみましょう! + Alyssa が彼女の友達である Ben Bitdiddle の近況を知りたいと思ったとします。彼女は彼に最近本を貸したので、彼がそれを返すことを確かめておきたいです。 + これは、彼女が綴ったメッセージを、ActivityStreams のオブジェクトとして表現したものです:
@@ -278,23 +242,19 @@
- This is a note addressed to Ben. - She POSTs it to her outbox. + これは Ben に向けた note です。 + 彼女は、これを自身の outbox に POST します。
+ alt="outbox にメッセージを POST する actor" />
- Since this is a non-activity object, the server recognizes that this is - an object being newly created, and does the courtesy of wrapping it in - a Create activity. - (Activities sent around in ActivityPub generally follow the pattern of - some activity by some actor being taken on some object. - In this case the activity is a Create of a Note object, posted by a - Person). + これは activity ではないオブジェクトなので、サーバーはこれが新たに作られたオブジェクトであると認識し、Create activity に包むという特別な扱い方をします + (ActivityPub において送信される activity は、一般的に、actor がもたらす何らかのオブジェクトによる何らかの activity、というパターンに従います。 + この場合での activity は、Person によって投稿された Note オブジェクトの Create になります)。
@@ -308,37 +268,32 @@ "id": "https://social.example/alyssa/posts/49e2d03d-b53a-4c4c-a95c-94a6abf45a19", "attributedTo": "https://social.example/alyssa/", "to": ["https://chatty.example/ben/"], - "content": "Say, did you finish reading that book I lent you?"}} + "content": "そうだ、私が貸したあの本は読み終わった?"}}- Alyssa's server looks up Ben's ActivityStreams actor object, finds his - inbox endpoint, and POSTs her object to his inbox. + Alyssa のサーバーが Ben の ActivityStreams の actor オブジェクトを探し、彼の inbox エンドポイントを見つけ、彼女のオブジェクトを彼の inbox に POST します。
+ alt="外部の actor の inbox に送信するサーバー" />
- Technically these are two separate steps... one is client to server - communication, and one is server to server communication (federation). - But, since we're using them both in this example, we can abstractly - think of this as being a streamlined submission from outbox to inbox: + 厳密には、これらは2つの別々のステップです…… 一つ目はクライアント-サーバー間の伝達であり、二つ目はサーバー間での伝達(連合)です。 + しかし、この例では両者を使っているので、このことを outbox から inbox への投稿の流れとして抽象的に捉えることができます。
+ alt="ある actor の outbox から他の actor の inbox へ流れる note" />
- Cool! - A while later, Alyssa checks what new messages she's gotten. - Her phone polls her inbox via GET, and amongst a bunch of cat videos - posted by friends and photos of her nephew posted by her sister, she - sees the following: + すばらしい! + 少し間を置いて、Alyssa は彼女への新しいメッセージを確認します。 + 彼女の携帯は GET で自身の inbox にポーリングし、友達が投稿した大量の猫動画や、姉妹が投稿した甥の写真などの中から、次のものを見つけました:
@@ -352,12 +307,12 @@ "attributedTo": "https://chatty.example/ben/", "to": ["https://social.example/alyssa/"], "inReplyTo": "https://social.example/alyssa/posts/49e2d03d-b53a-4c4c-a95c-94a6abf45a19", - "content": "<p>Argh, yeah, sorry, I'll get it back to you tomorrow.</p> - <p>I was reviewing the section on register machines, - since it's been a while since I wrote one.</p>"}} + "content": "<p>あー、うん、ごめん、明日返すよ。</p> + <p>レジスタマシンの章を見直していたんだ、 + 以前に書いてからだいぶ経ってしまったからね。</p>"}}-
Alyssa is relieved, and likes Ben's post:
+Alyssa は安心したので、Ben の投稿に like をつけます:
{"@context": "https://www.w3.org/ns/activitystreams", @@ -369,17 +324,13 @@
- She POSTs this message to her outbox. - (Since it's an activity, her server knows it doesn't need to wrap it in - a Create object). + 彼女はこのメッセージを自身の outbox に POST します + (これは activity なため、彼女のサーバーはこれを Create オブジェクトの中に包む必要がないことを知っています)。
- Feeling happy about things, she decides to post a public message to her - followers. - Soon the following message is blasted to all the members of her - followers collection, and since it has the special Public group - addressed, is generally readable by anyone. + 嬉しさを感じたので、彼女はフォロワーに対して public なメッセージを投稿することを決めました。 + やがて、次のメッセージが彼女のフォロワーの collection のすべてのメンバーに送信されました。また、特別な Public group が指定されていたので、誰からでも一般に読むことが可能になっています。
@@ -394,7 +345,7 @@ "attributedTo": "https://social.example/alyssa/", "to": ["https://social.example/alyssa/followers/", "https://www.w3.org/ns/activitystreams#Public"], - "content": "Lending books to friends is nice. Getting them back is even nicer! :)"}} + "content": "友達に本を貸すのは良い。返してもらうことはより良いですね!(^_^)"}}
- ActivityPub is one of several related - specifications being produced by the Social Web Working Group. - Implementers interested in alternative approaches and complementary - protocols should review [[Micropub]] and the overview document - [[Social-Web-Protocols]]. + ActivityPub は Social Web Working Group によって作られた、いくつかの関連する仕様のうちの1つです。別の手法や補完的なプロトコルに興味のある実装者は [[Micropub]] と概要に関する書類 [[Social-Web-Protocols]] を参照してください。