Skip to content

Translate React top page #55

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

Merged
merged 24 commits into from
Feb 15, 2019
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
066455d
翻訳
udemy-react-super-yusuke Feb 3, 2019
0d6cbf2
原文の削除
udemy-react-super-yusuke Feb 3, 2019
ee13dc6
改行位置の復元
udemy-react-super-yusuke Feb 7, 2019
f85e2c8
Update content/home/examples/a-component-using-external-plugins.md
smikitky Feb 7, 2019
8aaf94d
Update content/home/examples/a-simple-component.md
smikitky Feb 7, 2019
57a873d
改行位置の修正
udemy-react-super-yusuke Feb 7, 2019
436af93
Merge remote-tracking branch 'origin/feature/home-translate' into fea…
udemy-react-super-yusuke Feb 7, 2019
512f32b
Update content/home/marketing/declarative.md
smikitky Feb 7, 2019
4715c93
Update content/home/marketing/learn-once-write-anywhere.md
smikitky Feb 7, 2019
f12171d
- トル > 場合を取
udemy-react-super-yusuke Feb 7, 2019
c39c6d3
and => と
udemy-react-super-yusuke Feb 7, 2019
72f2148
Update content/home/marketing/component-based.md
smikitky Feb 7, 2019
f686a72
Merge remote-tracking branch 'origin/feature/home-translate' into fea…
udemy-react-super-yusuke Feb 7, 2019
a7e8afc
日本語のみに修正
udemy-react-super-yusuke Feb 7, 2019
f175cf9
修正
udemy-react-super-yusuke Feb 7, 2019
b568ec4
レビュアーの要求で修正
udemy-react-super-yusuke Feb 13, 2019
6ee5aac
レビュアーの要求で修正
udemy-react-super-yusuke Feb 13, 2019
207a3ce
Merge branch 'master' into feature/home-translate
superyusuke Feb 13, 2019
837fff1
title: の追加
udemy-react-super-yusuke Feb 13, 2019
1b10e12
Merge remote-tracking branch 'origin/feature/home-translate' into fea…
udemy-react-super-yusuke Feb 13, 2019
3592167
修正
udemy-react-super-yusuke Feb 13, 2019
5377b37
訳語の統一
udemy-react-super-yusuke Feb 13, 2019
63a4379
Merge branch 'master' into feature/home-translate
superyusuke Feb 13, 2019
00a4540
Merge branch 'master' into feature/home-translate
koba04 Feb 15, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions content/home/examples/a-component-using-external-plugins.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
---
title: A Component Using External Plugins
title: 外部プラグインを使用する Component
order: 3
domid: markdown-example
---

React is flexible and provides hooks that allow you to interface with other libraries and frameworks. This example uses **remarkable**, an external Markdown library, to convert the `<textarea>`'s value in real time.
React は柔軟性が高いので、
React 以外のライブラリやフレームワークとやり取りをするためのフックを提供しています。
次の例では Markdown の外部ライブラリである **remarkable** を使用しています。
`<textarea>` に入力された値をリアルタイムに HTML へと変換しています。
6 changes: 3 additions & 3 deletions content/home/examples/a-simple-component.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: A Simple Component
title: シンプルな Component
order: 0
domid: hello-example
---

React components implement a `render()` method that takes input data and returns what to display. This example uses an XML-like syntax called JSX. Input data that is passed into the component can be accessed by `render()` via `this.props`.
React コンポーネントを作成する場合には `render()` メソッドを実装します。このメソッドは、受け取った input データを元に、表示する内容を返す役割を担当します。次の例では JSX と呼ばれる XML に似た構文を使っています。コンポーネントに渡された input データを `this.props` で参照し、`render()` の中で使用しています。

**JSX is optional and not required to use React.** Try the [Babel REPL](babel://es5-syntax-example) to see the raw JavaScript code produced by the JSX compilation step.
**React を使う際に JSX を必ず使わなくてはいけないわけではありません。** JSX のコンパイルによって生成される生の JavaScript コードを見るには、[Babel REPL](babel://es5-syntax-example) を参照してください。
4 changes: 2 additions & 2 deletions content/home/examples/a-stateful-component.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: A Stateful Component
title: 状態を持つことのできる Component
order: 1
domid: timer-example
---

In addition to taking input data (accessed via `this.props`), a component can maintain internal state data (accessed via `this.state`). When a component's state data changes, the rendered markup will be updated by re-invoking `render()`.
コンポーネントは、入力されたデータを受け取るだけではなく(受け取ったデータは `this.props` で参照することができます)コンポーネント独自の内部状態を持つこともできます。(これは `this.state` で参照することができます)状態が変化した場合には、`render()` が再度実行され、描画されるマークアップの内容が更新されます。
4 changes: 2 additions & 2 deletions content/home/examples/an-application.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: An Application
title: アプリケーションの実例
order: 2
domid: todos-example
---

Using `props` and `state`, we can put together a small Todo application. This example uses `state` to track the current list of items as well as the text that the user has entered. Although event handlers appear to be rendered inline, they will be collected and implemented using event delegation.
`props` and `state` を組み合わせることで、ちょっとした Todo アプリケーション を作ることができます。次の例では `state` を用いて、現在の Todo リストのアイテムの状態を追跡しています。それからユーザーが入力したテキストに関しても `state` で管理しています。イベントハンドラは、それが書かれた要素内部にレンダーされるように一見思われますが、実際にはこれらのハンドラは集められて、イベントデリゲーションを用いて実装されます。
6 changes: 3 additions & 3 deletions content/home/marketing/component-based.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: Component-Based
title: Component-Based / コンポーネントベース
order: 1
---

Build encapsulated components that manage their own state, then compose them to make complex UIs.
自分自身の状態を管理するカプセル化されたコンポーネントをまず作成し、これらを組み合わせることで複雑なユーザーインターフェイスを構築します。

Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep state out of the DOM.
コンポーネントのロジックは、Template ではなく JavaScript そのもので書くことができるので、様々な形式のデータをアプリケーションに対して簡単に渡すことができ、それでいて DOM に状態を持たせないようにすることができます。
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
コンポーネントのロジックは、Template ではなく JavaScript そのもので書くことができるので、様々な形式のデータをアプリケーションに対して簡単に渡すことができ、それでいて DOM に状態を持たせないようにすることができます
コンポーネントのロジックはテンプレートではなく JavaScript そのもので書けるので、リッチなデータをアプリ内で簡単に受け渡しでき、DOM から状態を取り除くことができます

"to your app" ではなく "through your app" です

Copy link
Contributor Author

Choose a reason for hiding this comment

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

  • path throw が自動詞であれば確かに 「通り過ぎる」ですが、ここでの pass は他動詞です。また、受け渡しができるというのは「通り過ぎる」とも意味が違いすぎます。受け渡しの、受けは、React にはないのではないのではないでしょうか?
  • rich をリッチでは意味がわからなすぎます。ここでのリッチは、形式の多様性をさしています。
  • keep out は、能動的に物を取り除くのではなく、取り締まってその中に入らせないようにする様です。ですので取り除くという能動的な表現に変えることで、質が落ちます。

Copy link
Contributor

Choose a reason for hiding this comment

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

@superyusuke の訳を支持します。

Copy link
Member

Choose a reason for hiding this comment

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

  • pass が他動詞なのは知っています。「アプリに対してデータを渡す」だと1回渡して終わりみたいに聞こえますが、そうではなく「アプリの中で (through) でデータをパスしていく」という、データの「流れ」がくみ取れる表現が必要と感じます。「受け渡し」はそういう意図です。
  • リッチについては字数削減が第一の意図です。これはまあどちらでもよいです。
  • keep out についての本来の解釈自体は貴方が全面的に正しいのですが、そのうえでこのように提案しているのは字数削減が意図です。

Copy link
Member

@smikitky smikitky Feb 7, 2019

Choose a reason for hiding this comment

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

この pass の用法ですが、weblio にこれと似た例が載っていました。

2〔+目的語+前置詞+(代)名詞〕
c〈手・くし・ワイヤなどを〉〔…に〕通す 〔down,through〕.

  • He passed a comb through his hair. 彼は髪にくしを通した.
  • The electrician passed a wire down [through] the pipe. 電機工はパイプにワイヤを通した.

すなわち "pass rich data through your app" とは app の外から app にデータを渡すことではなく、app 内にデータを通過させること、データを行きわたらせることです。React においてこれは主に、コンポーネント間で prop を「受け渡す」フローによって実現することです。

これがあくまでトップページの宣伝文句であることを考慮しつつ、もし自分でゼロから書く場合、「リッチなデータをアプリ内に行きわたらせて DOM から状態を取り除けます」くらいで済ませると思います。(「rich data」はドキュメント全体を検索してもここだけで出現する、トップページだからこそ使われる語感優先のフレーズなので、具体的用語で置き換えるのが本当に良いのか疑問に感じたため、残してみました)

Copy link
Contributor

Choose a reason for hiding this comment

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

解釈の違いはありますがどちらが正しいということはないので、あとは決めの問題かなと思います。

Copy link
Contributor

@sasurau4 sasurau4 Feb 13, 2019

Choose a reason for hiding this comment

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

IMO: ここまでの意見も読ませていただいた上で、pass through はsmikitkyさんの言うとおりデータの流れを扱う文脈として訳すほうがよいと思います。とはいえ、受け渡すもあまりしっくりきませんでした。
また、「リッチなデータ」をそのままにするのも日本語訳として厳しいのではないかと思います
そのため、以下のような訳を提案します
「様々なデータをアプリケーション内で簡単に取り回すことができ、かつ DOM が状態を持たないようにできます」
だいぶ意訳してるので、バッサリ切ってくれても構いません。 🙏

Copy link
Member

Choose a reason for hiding this comment

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

@takanorip ありがとうございます。Context側と翻訳を合わせようとは全くしてないですね、Contextの方は「ツリーを通して」「ツリーの各階層で」などとなっており、それらはそれらで正しいと思います。ただ訳し方がどうあれ through に「貫く」のニュアンスがあるのは確かなので、それを無視して訳すのは如何か、という話です。リッチについては「豊富な形式の」は少しポジティブさが出るので折衷案として良いと思います。

Copy link
Contributor Author

Choose a reason for hiding this comment

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

なるほど。ご提案いただいた訳文賛成です。
React の機能との齟齬がなく、また though の意味も含まれていますね。

様々なデータをアプリケーション内で簡単に取り回すことができ、

Copy link
Member

Choose a reason for hiding this comment

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

「豊富な」「取り回す」はどちらも思いつかなかったですが、私も良いと思います。以下の感じで如何でしょう。

「豊富な形式のデータをアプリケーション内で簡単に取り回して、DOM が状態を持たないようにできます」

(コンマもない and であり「~ができ、かつ~ができます」のような独立した2項目にしなくても自然に繋がるので、いわゆる te-form で直に繋げました)

6 changes: 3 additions & 3 deletions content/home/marketing/declarative.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: Declarative
title: Declarative / 宣言的な View
order: 0
---

React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes.
React は、インタラクティブなユーザーインターフェイスの作成にともなう苦痛を取り除きます。アプリケーションの各状態に対応するシンプルな View を設計するだけで、React は状態用のデータの変更を検知し、関連するコンポーネントだけを効率的に更新、描画します。

Declarative views make your code more predictable and easier to debug.
宣言的な View を用いてアプリケーションを構築することで、コードはより見通しが立ちやすく、デバッグのしやすいものになります。
6 changes: 3 additions & 3 deletions content/home/marketing/learn-once-write-anywhere.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: Learn Once, Write Anywhere
title: Learn Once, Write Anywhere / 一度学習すれば、どこでも使える
order: 2
---

We don't make assumptions about the rest of your technology stack, so you can develop new features in React without rewriting existing code.
React と組み合わせて使用する技術に関してはどんなものも選択できるので、React を使って新しい機能を追加する際にも、既存のソースコードを書き換える必要はありません。

React can also render on the server using Node and power mobile apps using [React Native](https://facebook.github.io/react-native/).
React Node を使ったサーバー上でも Render できますし、[React Native](https://facebook.github.io/react-native/) を使うことでモバイルアプリケーションの中でも動きます。