Browse Source

Merge pull request #61 from kazupon/translation

Translate for japanese
Evan You 9 years ago
parent
commit
441534501e
6 changed files with 71 additions and 27 deletions
  1. 1 0
      docs/ja/SUMMARY.md
  2. 1 1
      docs/ja/actions.md
  3. 13 0
      docs/ja/api.md
  4. 5 2
      docs/ja/concepts.md
  5. 46 0
      docs/ja/getters.md
  6. 5 24
      docs/ja/structure.md

+ 1 - 0
docs/ja/SUMMARY.md

@@ -5,6 +5,7 @@
   - [ステート](state.md)
   - [ミューテーション](mutations.md)
   - [アクション](actions.md)
+  - [ゲッター](getters.md)
 - [データフロー](data-flow.md)
 - [アプリケーションの構造](structure.md)
 - [ミドルウェア](middlewares.md)

+ 1 - 1
docs/ja/actions.md

@@ -49,7 +49,7 @@ store.dispatch('INCREMENT', 1)
 現在のステートに依存しているロジック、または非同期な操作を必要とするアクションについては、それらを関数として定義します。アクション関数は常に第1引数として呼び出す store を取得します:
 
 ``` js
-const vuex = new Vuex({
+const vuex = new Vuex.Store({
   state: {
     count: 1
   },

+ 13 - 0
docs/ja/api.md

@@ -43,6 +43,19 @@ const store = new Vuex.Store({ ...options })
 
     [詳細](actions.md)
 
+- **getters**
+ 
+   - 型: `Object | Array<Object>`
+ 
+     各エントリキーがゲッター名と第1引数としてステートを受信する関数の値であるオブジェクト
+ 
+     Vuex はそれらエントリを処理し、実際の呼び出し可能なゲッター関数と store の `getters` プロパティ上のそれらを公開する
+ 
+     オブジェクトの配列を渡す場合は、これらオブエジェクトは自動的に最後のオブジェクトにいっしょに自動的にマージされる
+ 
+     [詳細](getters.md)
+ 
+
 - **middlewares**
 
   - 型: `Array<Object>`

+ 5 - 2
docs/ja/concepts.md

@@ -8,6 +8,8 @@ Vuex Store を作成するために `Vuex.Store` コンストラクタを使用
 
 - **アクション**: ミューテーションをディスパッチする関数。アクションは非同期操作を含めることができ、複数のミューテーションをディスパッチすることができます
 
+- **ゲッター**: 算出された値を返すためにステートを受信する関数。Vue のコンポーネントから共有された算出関数抽出するのに便利です
+
 どうして、状態を操作する単純な機能よりもむしろ、*ミューテーション*と*アクション*を区別したいのでしょうか?その理由は、**ミューテーションを分離したいのと非同期**のためです。多くの複雑なアプリケーションは 2 つの組合せから成り立ちます。分離すると、それら両方を調査することが容易になり、そしてそれらのためのテストを書くこともできます。
 
 > Flux について精通している場合、ここでの用語/概念の違いがあることに注意してください。Vuex のアクションは Flux の**アクションクリエータ (action creators)** と同等でありますが、Vuex のミューテーションは Flux の **アクション (actions)** に相当します。
@@ -24,8 +26,9 @@ import Vuex from 'vuex'
 const store = new Vuex.Store({
   state: { ... },
   actions: { ... },
-  mutations: { ... }
+  mutations: { ... },
+  getters: { ... }
 })
 ```
 
-一度作成すると、ステートは `store.state` 経由、アクションは `store.actions` 経由でアクセスすることができます。ミューテーション関数は直接アクセスすることはできません。ミューテーション関数は、アクションによるトリガされた時だけ、もしくは `store.dispatch()` を呼び出すときにアクセスできます。次の詳細で各概念について説明します。
+一度作成すると、ステートは `store.state` 経由、アクションは `store.actions` 、そして `store.getters` ゲッター経由でアクセスすることができます。ミューテーション関数は直接アクセスすることはできません。ミューテーション関数は、アクションによるトリガされた時だけ、もしくは `store.dispatch()` を呼び出すときにアクセスできます。次の詳細で各概念について説明します。

+ 46 - 0
docs/ja/getters.md

@@ -0,0 +1,46 @@
+# ゲッター
+
+複数のコンポーネントは、Vuex state に基づいて、同じ算出プロパティを必要とすることが可能です。算出プロパティのゲッターは単に関数で、store 経由で任意のコンポーネントで共有されることができるよう、別ファイルにそれらを分割することができます:
+
+``` js
+import Vue from 'vue'
+import Vuex from '../../../src'
+import actions from './actions'
+import mutations from './mutations'
+import getters from './getters'
+
+Vue.use(Vuex)
+
+export default new Vuex.Store({
+  state: { /*...*/ },
+  actions,
+  mutations,
+  getters
+})
+```
+
+``` js
+// getters.js
+export function filteredTodos (state) {
+  return state.messages.filter(message => {
+    return message.threadID === state.currentThreadID
+  })
+}
+```
+
+``` js
+// コンポーネントで ...
+import { getters } from './store'
+const { filteredTodos } = getters
+
+export default {
+  computed: {
+    filteredTodos
+  }
+}
+```
+
+実際例として、[ショッピングカートの例](https://github.com/vuejs/vuex/tree/master/examples/shopping-cart) を確認してください。
+ホットリロード API による実際の例として、[ホットなカウンターの例](https://github.com/vuejs/vuex/tree/master/examples/counter-hot) を確認してください。
+
+これは [NuclearJS のゲッター](https://optimizely.github.io/nuclear-js/docs/04-getters.html)にとてもよく似ています。

+ 5 - 24
docs/ja/structure.md

@@ -104,30 +104,11 @@ export default new Vuex.Store({
 
 実際の例として、[Shopping Cart Example](https://github.com/vuejs/vuex/tree/master/examples/shopping-cart) を確認してください。
 
-### 共有された算出プロパティ Getter の抽出
+### 共有された算出プロパティのゲッター抽出
 
-大規模なプロジェクトでは、複数のコンポーネントが Vuex のステートに基づいて同じ算出プロパティ (computed property) を必要とする可能性があります。算出プロパティは単に関数であるため、それらが任意のコンポーネントで共有することができるように、ファイルにそれらを分割することができます:
+大規模なプロジェクトでは、複数のコンポーネントが Vuex のステートに基づいて同じ算出プロパティ (computed property) を必要とする可能性があります。算出プロパティは単に関数であるため、それらが store 経由で任意のコンポーネントで共有することができるように、ファイルにそれらを分割することができます:
 
-``` js
-// getters.js
-import store from './store'
-
-export function filteredTodos () {
-  return store.state.messages.filter(message => {
-    return message.threadID === store.state.currentThreadID
-  })
-}
-```
-
-``` js
-// コンポーネントで...
-import { filteredTodos } from './getters'
-
-export default {
-  computed: {
-    filteredTodos
-  }
-}
-```
+実際例として、[ショッピングカートの例](https://github.com/vuejs/vuex/tree/master/examples/shopping-cart) を確認してください。
+ホットリロード API による実際の例として、[ホットなカウンターの例](https://github.com/vuejs/vuex/tree/master/examples/counter-hot) を確認してください。
 
-これはとても [NuclearJS での Getter](https://optimizely.github.io/nuclear-js/docs/04-getters.html) と似ています
+より詳細情報として、[ゲッターのドキュメント](getters.md)を確認してください。