-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
translate #1278 #1425
translate #1278 #1425
Conversation
対応が遅れており申し訳ありません。次週07/11火曜日に確認させて頂ければと思います😣
|
了解です! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
対応が遅くなり申し訳ありません!確認して数点コメントしました。ご確認ください 😊
Modern HTML5 compliant web browsers natively support WebSockets via a JavaScript WebSocket API. However WebSockets are not limited in just being used by WebBrowsers, there are many WebSocket client libraries available, allowing for example servers to talk to each other, and also native mobile apps to use WebSockets. Using WebSockets in these contexts has the advantage of being able to reuse the existing TCP port that a Play server uses. | ||
--> | ||
最新の HTML5 に準拠した Web ブラウザは、JavaScript WebSocket API を介して WebSocket をネイティブにサポートします。しかし、WebSocket は Web ブラウザだけで使用されているだけでなく、WebSocket クライアントライブラリが数多くあるため、サーバー同士でやりとりすることができ、WebSocket を使用するネイティブのモバイルアプリもあります。これらのコンテキストで WebSocket を使用すると、Play サーバーが使用する既存の TCP ポートを再利用できるという利点があります。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
「WebSocket クライアントライブラリが数多くあるため、サーバー同士でやりとりすることができ、WebSocket を使用するネイティブのモバイルアプリもあります。」
ですが、allowing for example ...
は 例えば〜することができる
かなと思いますので、
「例えばサーバ同士で会話したり、ネイティブのモバイルアプリで WebSocket を使ったりすることのできる WebSocket クライアントライブラリがたくさんあります。」などはいかがでしょうか。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
「これらのコンテキストで WebSocket を使用すると、」
ですが、Using WebSockets in these contexts
が主語だと思いますので、
「このような状況において WebSocket を使用することには」などいかがでしょうか。
Play provides two different built in mechanisms for handling WebSockets. The first is using actors, the second is using iteratees. Both of these mechanisms can be accessed using the builders provided on [WebSocket](api/scala/play/api/mvc/WebSocket$.html). | ||
--> | ||
Play には、WebSocket を処理するための2つの異なる組み込みのメカニズムが用意されています。一つ目のメカニズムはアクターを使用し、二つ目はイテレートを使用します。これらの両方のメカニズムには、[WebSocket](api/scala/play/api/mvc/WebSocket$.html) で提供されるビルダーを使用してアクセスできます。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Iteratee をイテレートと訳すのは...うーん、どうなんでしょう? 😅
間違いではないですが、あまり見掛けないような。
とは言え大文字で始まっていないので訳したくなりますね。。。いったん「イテレート」にしてみましょうか。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
了解です!
When the WebSocket has closed, Play will automatically stop the actor. This means you can handle this situation by implementing the actors `postStop` method, to clean up any resources the WebSocket might have consumed. For example: | ||
--> | ||
WebSocket が閉じると、Playは自動的にアクターを停止します。つまり、WebSocket が消費した可能性のあるリソースをすべて綺麗に片付ける処理を行うような、アクターの `postStop` メソッドを実装することで、この状況を処理することができます。例を示します。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
「綺麗に」はなくてもいいかなーと思いました。
Any messages received from the client will be sent to the actor, and any messages sent to the actor supplied by Play will be sent to the client. The actor above simply sends every message received from the client back with `I received your message: ` prepended to it. | ||
--> | ||
クライアントから受信したメッセージはすべてアクターに送信され、Play から提供されたアクターに送信されたメッセージはすべてクライアントに送信されます。アクターは、単にクライアントから受け取ったすべてのメッセージを `I received your message: ` を先頭に付けて送るだけです。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
「アクターは、単にクライアントから受け取った〜」
ですが、The actor above simply sends...
は上記例のアクターを指しているので、
「上記のアクターは、単にクライアントから受け取った〜」としてはいかがでしょう。
Sometimes you may wish to reject a WebSocket request, for example, if the user must be authenticated to connect to the WebSocket, or if the WebSocket is associated with some resource, whose id is passed in the path, but no resource with that id exists. Play provides `tryAcceptWithActor` to address this, allowing you to return either a result (such as forbidden, or not found), or the actor to handle the WebSocket with: | ||
--> | ||
場合によっては、WebSocket リクエストを拒否することもできます。たとえば、WebSocket に接続するためにユーザーを認証する必要がある場合、または WebSocket がパスの中で ID を通過させるようなリソースに関連付けられている場合で、その ID を持つリソースが存在しない場合などです。Play はこれに対処するための `tryAcceptWithActor` を提供し、結果(禁止されている、見つからないなど)、または WebSocket を処理するアクターを返すことができます。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
「場合によっては、WebSocket リクエストを拒否することもできます。」ですが、
you may wish...
なので、「拒否したい場合もあるでしょう」くらいのニュアンスかと思います。また、原文も一文なので、やや長くなりますが
「例えば WebSocket に接続するためにユーザーを認証する必要がある場合、または WebSocket がパスの中で ID を通過させるようなリソースに関連付けられている場合で、その ID を持つリソースが存在しない場合など、WebSocket リクエストを拒否したい場合もあるでしょう」などはいかがですか?
So far we have only seen handling `String` frames. Play also has built in handlers for `Array[Byte]` frames, and `JsValue` messages parsed from `String` frames. You can pass these as the type parameters to the WebSocket creation method, for example: | ||
--> | ||
これまでのところ、`String` フレームの処理しか見ていませんでした。Play には `Array [Byte]` フレーム用のハンドラと `String` フレームから解析された ` JsValue` メッセージが組み込まれています。これらを型パラメータとして WebSocket 作成メソッドに渡すことができます。たとえば、次のようにします。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
handlers for
は Array[Byte]
と JsValue
に係っていると思います。
「Play には Array [Byte]
フレームと、String
フレームから解析された JsValue
メッセージ用のハンドラが組み込まれています。」かなーと思いました。
--> | ||
- `in` チャンネルは各メッセージについて通知される `Iteratee[A,Unit]` (`A` | ||
はメッセージタイプです - ここでは `String` を使用しています)であり、クライアント側でソケットが閉じられたときに `EOF` を受け取ります。 | ||
- `out` チャンネルは、Web クライアントに送信されるメッセージを生成する `Enumerator[A]` チャネルです。`EOF` を送信することで、サーバー側の接続を閉じることができます。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
「Enumerator[A]
チャネルです。」はシンプルに「Enumerator[A]
です。」でいいかなと思いました。
ご指摘いただいた内容で修正しました!ご確認をお願いします。 なお、次は「テンプレートエンジン」の章をやろうと思ったのですが、2.4.xには該当ディレクトリ(scalaGuide/templates)が見当たりません。実際に表示されている2.4.xのテンプレートエンジンの章はどこにあるファイルが使われているのでしょうか? |
テンプレートのドキュメントはTwirlのものを読み込んでいるようです。 翻訳プロジェクトとしてどのようにリポジトリ、ブランチを管理すべきなのか把握できていません。この三連休を目処に確認しますので、取り急ぎ翻訳だけ進めていただければと思います。 |
了解いたしました。ご確認よろしくお願いいたします。お手数をおかけします。m(_ _)m 雰囲気的には、 とりあえずテンプレートエンジンの章は置いておいて、他の章の翻訳に着手したいと思います! |
2.3.xの流用+一部修正+未訳箇所の翻訳です。