Skip to content
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

Merged
merged 5 commits into from
Jul 14, 2017
Merged

translate #1278 #1425

merged 5 commits into from
Jul 14, 2017

Conversation

12345
Copy link
Contributor

@12345 12345 commented Jul 3, 2017

2.3.xの流用+一部修正+未訳箇所の翻訳です。

@garbagetown
Copy link
Member

garbagetown commented Jul 6, 2017 via email

@12345
Copy link
Contributor Author

12345 commented Jul 6, 2017

了解です!
こちらはいつでも大丈夫ですので、気長にお待ちしております!:smile:

Copy link
Member

@garbagetown garbagetown left a 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 ポートを再利用できるという利点があります。
Copy link
Member

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 クライアントライブラリがたくさんあります。」などはいかがでしょうか。

Copy link
Member

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) で提供されるビルダーを使用してアクセスできます。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Iteratee をイテレートと訳すのは...うーん、どうなんでしょう? 😅
間違いではないですが、あまり見掛けないような。
とは言え大文字で始まっていないので訳したくなりますね。。。いったん「イテレート」にしてみましょうか。

Copy link
Contributor Author

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` メソッドを実装することで、この状況を処理することができます。例を示します。
Copy link
Member

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: ` を先頭に付けて送るだけです。
Copy link
Member

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 を処理するアクターを返すことができます。
Copy link
Member

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 作成メソッドに渡すことができます。たとえば、次のようにします。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

handlers forArray[Byte]JsValue に係っていると思います。
「Play には Array [Byte] フレームと、String フレームから解析された JsValue メッセージ用のハンドラが組み込まれています。」かなーと思いました。

-->
- `in` チャンネルは各メッセージについて通知される `Iteratee[A,Unit]` (`A`
はメッセージタイプです - ここでは `String` を使用しています)であり、クライアント側でソケットが閉じられたときに `EOF` を受け取ります。
- `out` チャンネルは、Web クライアントに送信されるメッセージを生成する `Enumerator[A]` チャネルです。`EOF` を送信することで、サーバー側の接続を閉じることができます。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Enumerator[A] チャネルです。」はシンプルに「Enumerator[A] です。」でいいかなと思いました。

@12345
Copy link
Contributor Author

12345 commented Jul 13, 2017

ご指摘いただいた内容で修正しました!ご確認をお願いします。

なお、次は「テンプレートエンジン」の章をやろうと思ったのですが、2.4.xには該当ディレクトリ(scalaGuide/templates)が見当たりません。実際に表示されている2.4.xのテンプレートエンジンの章はどこにあるファイルが使われているのでしょうか?

@garbagetown
Copy link
Member

テンプレートのドキュメントはTwirlのものを読み込んでいるようです。
#1322 (comment)

翻訳プロジェクトとしてどのようにリポジトリ、ブランチを管理すべきなのか把握できていません。この三連休を目処に確認しますので、取り急ぎ翻訳だけ進めていただければと思います。

@garbagetown garbagetown merged commit 8408297 into playframework-ja:2.4.x Jul 14, 2017
@12345
Copy link
Contributor Author

12345 commented Jul 14, 2017

了解いたしました。ご確認よろしくお願いいたします。お手数をおかけします。m(_ _)m

雰囲気的には、
2.4.x(ja):無いっ!→2.4.x(en):無いっ!→2.3.x(en):あった!これ表示!
みたいな感じなんですかね・・・

とりあえずテンプレートエンジンの章は置いておいて、他の章の翻訳に着手したいと思います!

@12345 12345 deleted the #1278 branch July 14, 2017 12:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants