소스 검색

[RU] Updates (#859)

* russian docs translation started

* docs/ru/actions.md translated

* docs/ru/api.md translated

* docs/ru/forms.md translated

* api translation fix

* docs/ru/getters.md translated

* docs/ru/getting-started.md translated

* docs/ru/hot-reload.md translated

* docs/ru/installation.md translated

* docs/ru/intro.md translated

* docs/ru/modules.md translated

* docs/ru/README.md translated

* docs/ru/strict.md translated

* docs/ru/structure.md translated

* docs/ru/SUMMARY.md translated (O_O for some reason it happens to be exactly the same as README.md)

* docs/ru/mutations.md translated

* docs/ru/plugins.md translated

* docs/ru/state.md translated

* docs/ru/testing.md translated

* docs/ru/actions.md styling/proof-reading

* docs/ru/api.md styling/proof-reading

* docs/ru/forms.md styling/proof-reading

* docs/ru/getters.md styling/proof-reading

* docs/ru/getting-started.md styling/proof-reading

* docs/ru/hot-reload.md styling/proof-reading

* docs/ru/installation.md styling/proof-reading

* docs/ru/intro.md styling/proof-reading

* docs/ru/modules.md styling/proof-reading

* docs/ru/mutations.md styling/proof-reading

* docs/ru/plugins.md styling/proof-reading

* docs/ru/state.md styling/proof-reading

* docs/ru/strict.md styling/proof-reading

* docs/ru/structure.md styling/proof-reading

* docs/ru/testing.md styling/proof-reading

* docs/ru/intro.md typo fix

* Copyediting RU documentation

* Fix typo

* Change wording around alternative approaches to data handling

* Fix typo

* Fix typo

* Better wording for linters

* Fix header and change wording

* fix typo

* typos reported by @ipelekhan are fixed

* Russian docs translation update

* Fix typo

* Sentence rephrasing and fix punctuation

* Переключил на ветку translation-ru

* - Исправлен пример

* - getting-started.md исправлена ссылка на jsfiddle

* - getters.md добавлена секция про возможность передачи функции в геттерах

* - installation.md добавлен флаг --save

* - modules.md мелкая правка в примере

* Update modules.md

* modules.md ещё мелкая правка в примере

* modules.md добавлен пример регистрации модуля

https://github.com/vuejs/vuex/pull/634

* actions.md расширен пример

* getters.md исправление

* strict.md обновление и добавлено уточнение о затратности

* testing.md исправлен пример конфига webpack

* api.md изменены ссылки

* intro.md изменена ссылка

* state.md изменена ссылка

* api.md добавлены уточнения при определении в модуле

* mutations.md добавлено уточнение примера

* modules.md обновление 2.3.0

* api.md исправлена ошибка

* plugins.md добавлено уточнение в пример

* modules.md исправлена опечатка

* api.md добавлены описания options для dispatch/commit

* state.md исправлен комментарий про standalone

* Перефразировано

* getters.md добавлены бэктики в пример

* actions.md правки

* modules.md правки

* mutations.md

* plugins.md правки

* modules.md добавлена ссылка на SSR

* getters.md добавлено уточнение

* testing.md добавлены -loader

* actions.md инстанс -> экземпляр

* api.md инстанс -> экземпляр

* state.md инстанс -> экземпляр
Alexander Sokolov 7 년 전
부모
커밋
ba8feba51f
8개의 변경된 파일32개의 추가작업 그리고 30개의 파일을 삭제
  1. 7 7
      docs/ru/actions.md
  2. 3 3
      docs/ru/api.md
  3. 4 2
      docs/ru/getters.md
  4. 5 5
      docs/ru/modules.md
  5. 4 4
      docs/ru/mutations.md
  6. 5 5
      docs/ru/plugins.md
  7. 2 2
      docs/ru/state.md
  8. 2 2
      docs/ru/testing.md

+ 7 - 7
docs/ru/actions.md

@@ -25,7 +25,7 @@ const store = new Vuex.Store({
 })
 ```
 
-Обработчики действий получают объект контекста, содержащий те же методы и свойства, что и сам инстанс хранилища, так что вы можете вызвать `context.commit` для инициирования мутации или обратиться к состоянию и геттерам через `context.state` и `context.getters`. Позднее при рассмотрении [Модулей](modules.md) мы увидим, однако, что этот контекст — не то же самое, что инстанс хранилища.
+Обработчики действий получают объект контекста, содержащий те же методы и свойства, что и сам экземпляр хранилища, так что вы можете вызвать `context.commit` для инициирования мутации или обратиться к состоянию и геттерам через `context.state` и `context.getters`. Позднее при рассмотрении [Модулей](modules.md) мы увидим, однако, что этот контекст — не то же самое, что экземпляр хранилища.
 
 На практике для упрощения кода часто используется [деструктуризация аргументов](https://github.com/lukehoban/es6features#destructuring) из ES2015 (особенно при необходимости многократного вызова `commit`):
 
@@ -107,13 +107,13 @@ export default {
   // ...
   methods: {
     ...mapActions([
-      'increment' // проксирует this.increment() в this.$store.dispatch('increment')
+      'increment' // проксирует `this.increment()` в `this.$store.dispatch('increment')`
 
-      // mapActions также поддерживают нагрузку (payloads):
-      'incrementBy' // проксирует this.incrementBy(amount) в this.$store.dispatch('incrementBy', amount)
+      // `mapActions` также поддерживают нагрузку (payloads):
+      'incrementBy' // проксирует `this.incrementBy(amount)` в `this.$store.dispatch('incrementBy', amount)`
     ]),
     ...mapActions({
-      add: 'increment' // проксирует this.add() в this.$store.dispatch('increment')
+      add: 'increment' // проксирует `this.add()` в `this.$store.dispatch('increment')`
     })
   }
 }
@@ -162,14 +162,14 @@ actions: {
 И, в конце концов, используя [async / await](https://tc39.github.io/ecmascript-asyncawait/) — возможности, которые вот-вот станут общедоступны - можно компоновать действия таким образом:
 
 ``` js
-// предположим, что getData() и getOtherData() возвращают промисы
+// предположим, что `getData()` и `getOtherData()` возвращают промисы
 
 actions: {
   async actionA ({ commit }) {
     commit('gotData', await getData())
   },
   async actionB ({ dispatch, commit }) {
-    await dispatch('actionA') // дожидаемся завершения действия actionA
+    await dispatch('actionA') // дожидаемся завершения действия `actionA`
     commit('gotOtherData', await getOtherData())
   }
 }

+ 3 - 3
docs/ru/api.md

@@ -56,7 +56,7 @@ const store = new Vuex.Store({ ...options })
     ```
 
     При определении в модуле
-    
+
     ```
     state,       // при использовании модулей — локальный state модуля
     getters,     // локальные геттеры текущего модуля
@@ -109,7 +109,7 @@ const store = new Vuex.Store({ ...options })
 
     [Подробнее](strict.md)
 
-### Свойства инстанса Vuex.Store
+### Свойства экземпляра Vuex.Store
 
 - **state**
 
@@ -123,7 +123,7 @@ const store = new Vuex.Store({ ...options })
 
     Зарегистрированные геттеры. Только для чтения.
 
-### Методы инстанса Vuex.Store
+### Методы экземпляра Vuex.Store
 
 - **`commit(type: string, payload?: any, options?: Object) | commit(mutation: Object, options?: Object)`**
 

+ 4 - 2
docs/ru/getters.md

@@ -12,7 +12,9 @@ computed: {
 
 Если этот функционал требуется более чем одному компоненту, понадобится либо дублировать функцию, либо выносить её в совместно используемый хелпер и импортировать в нескольких местах. Оба эти подхода далеки от идеала.
 
-Vuex позволяет определять в хранилище "геттеры" (их можно считать вычисляемыми свойствами хранилища). Геттеры получают первым аргументом ссылку на состояние хранилища:
+Vuex позволяет определять в хранилище «геттеры». Вы можете считать их вычисляемыми свойствами для хранилища. Как и вычисляемые свойства, результаты геттера кэшируются, основываясь на своих зависимостях и будут пересчитаны только тогда, когда изменится одна из его зависимостей.
+
+Геттеры получают первым аргументом ссылку на состояние хранилища:
 
 ``` js
 const store = new Vuex.Store({
@@ -100,7 +102,7 @@ export default {
 
 ``` js
 ...mapGetters({
-  // проксируем this.doneCount в store.getters.doneTodosCount
+  // проксируем `this.doneCount` в `store.getters.doneTodosCount`
   doneCount: 'doneTodosCount'
 })
 ```

+ 5 - 5
docs/ru/modules.md

@@ -25,8 +25,8 @@ const store = new Vuex.Store({
   }
 })
 
-store.state.a // -> состояние модуля moduleA
-store.state.b // -> состояние модуля moduleB
+store.state.a // -> состояние модуля `moduleA`
+store.state.b // -> состояние модуля `moduleB`
 ```
 
 ### Локальное состояние модулей
@@ -38,7 +38,7 @@ const moduleA = {
   state: { count: 0 },
   mutations: {
     increment (state) {
-      // state указывает на локальное состояние модуля
+      // `state` указывает на локальное состояние модуля
       state.count++
     }
   },
@@ -248,7 +248,7 @@ store.registerModule(['nested', 'myModule'], {
 
 Иногда нам может потребоваться создать несколько экземпляров модуля, например:
 
-- Создание нескольких хранилищ, которые используются одним модулем;
+- Создание нескольких хранилищ, которые используются одним модулем (например, чтобы [избегать синглетонов в сохранением состояния в SSR](https://ssr.vuejs.org/ru/structure.html#избегайте-синглетонов-с-состоянием) при использовании опции `runInNewContext` в значении `false` или `'once'`);
 - Регистрация модуля несколько раз в одном хранилище.
 
 Если мы используем просто объект для определения состояния модуля, тогда этот объект состояния будет использоваться по ссылке и вызывать загрязнение состояния хранилища / модуля при его мутациях.
@@ -264,4 +264,4 @@ const MyReusableModule = {
   },
   // мутации, действия, геттеры...
 }
-```
+```

+ 4 - 4
docs/ru/mutations.md

@@ -16,7 +16,7 @@ const store = new Vuex.Store({
 })
 ```
 
-Вызывать функцию-обработчик напрямую — нельзя. Это больше похоже на обработку события: "Когда мутация типа `increment` инициирована, вызывается этот обработчик". Чтобы инициировать обработку мутации, необходимо вызвать **store.commit**, указав её тип:
+Вызывать функцию-обработчик напрямую — нельзя. Это больше похоже на обработку события: "Когда мутация типа `increment` инициирована, вызывается этот обработчик". Чтобы инициировать обработку мутации, необходимо вызвать `store.commit`, указав её тип:
 
 ``` js
 store.commit('increment')
@@ -146,13 +146,13 @@ export default {
   // ...
   methods: {
     ...mapMutations([
-      'increment', // this.increment() будет вызывать this.$store.commit('increment')
+      'increment', // `this.increment()` будет вызывать `this.$store.commit('increment')`
 
       // mapMutations также поддерживает нагрузку:
-      'incrementBy' // this.incrementBy(amount) будет вызывать this.$store.commit('incrementBy', amount)
+      'incrementBy' // `this.incrementBy(amount)` будет вызывать `this.$store.commit('incrementBy', amount)`
     ]),
     ...mapMutations({
-      add: 'increment' // this.add() будет вызывать this.$store.commit('increment')
+      add: 'increment' // `this.add()` будет вызывать `this.$store.commit('increment')`
     })
   }
 }

+ 5 - 5
docs/ru/plugins.md

@@ -7,7 +7,7 @@ const myPlugin = store => {
   // вызывается после инициализации хранилища
   store.subscribe((mutation, state) => {
     // вызывается после каждой мутации
-    // мутация передаётся в формате { type, payload }.
+    // мутация передаётся в формате `{ type, payload }`.
   })
 }
 ```
@@ -62,7 +62,7 @@ const myPluginWithSnapshot = store => {
   store.subscribe((mutation, state) => {
     let nextState = _.cloneDeep(state)
 
-    // сравнение prevState и nextState...
+    // сравнение `prevState` и `nextState`...
 
     // сохранение состояния для следующей мутации
     prevState = nextState
@@ -103,8 +103,8 @@ const store = new Vuex.Store({
 const logger = createLogger({
   collapsed: false, // автоматически раскрывать залогированные мутации
   filter (mutation, stateBefore, stateAfter) {
-    // возвращает true если мутация должна быть залогирована
-    // `mutation` это объект { type, payload }
+    // возвращает `true` если мутация должна быть залогирована
+    // `mutation` это объект `{ type, payload }`
     return mutation.type !== "aBlacklistedMutation"
   },
   transformer (state) {
@@ -113,7 +113,7 @@ const logger = createLogger({
     return state.subTree
   },
   mutationTransformer (mutation) {
-    // мутации логируются в формате { type, payload },
+    // мутации логируются в формате `{ type, payload }`,
     // но это можно изменить
     return mutation.type
   }

+ 2 - 2
docs/ru/state.md

@@ -43,7 +43,7 @@ const app = new Vue({
 })
 ```
 
-Указывая опцию `store` для корневого инстанса, мы обеспечиваем доступ к хранилищу всем дочерним компонентам в `this.$store`. Давайте обновим наш пример со счётчиком:
+Указывая опцию `store` для корневого экземпляра, мы обеспечиваем доступ к хранилищу всем дочерним компонентам в `this.$store`. Давайте обновим наш пример со счётчиком:
 
 ``` js
 const Counter = {
@@ -61,7 +61,7 @@ const Counter = {
 Если компонент использует множество свойств или геттеров хранилища, объявление доступа к ним всем вручную может заставить изрядно заскучать, да и код получится многословный. Чтобы обойти эту проблему, можно использовать хелпер `mapState`, автоматически генерирующий вычисляемые свойства, проксирующие доступ к состоянию и геттерам хранилища:
 
 ``` js
-// при использовании модульных систем, необходимо импортировать Vuex.mapState
+// с полной сборкой можно использовать как Vuex.mapState
 import { mapState } from 'vuex'
 
 export default {

+ 2 - 2
docs/ru/testing.md

@@ -72,7 +72,7 @@ export const getAllProducts = ({ commit }) => {
 // и inject-loader, возвращающий фабрику модулей, помогающую
 // подменять зависимости
 import { expect } from 'chai'
-const actionsInjector = require('inject!./actions')
+const actionsInjector = require('inject-loader!./actions')
 
 // создаём поддельную зависимость
 const actions = actionsInjector({
@@ -213,7 +213,7 @@ mocha test-bundle.js
 #### Запуск в браузерах
 
 1. Установите `mocha-loader`
-2. Измените `entry` в приведённой выше конфигурации webpack на `'mocha!babel!./test.js'`.
+2. Измените `entry` в приведённой выше конфигурации Webpack на `'mocha-loader!babel-loader!./test.js'`.
 3. Запустите `webpack-dev-server`, используя эту конфигурацию
 4. Откройте в браузере `localhost:8080/webpack-dev-server/test-bundle`.