Skip to content

Commit 7eeeca0

Browse files
periscueloktsn
authored andcommitted
Portuguese Translation (vuejs#1302)
* First Commit * Translated the inital files * Translated the api docs * Translate some files * Translate some more files * One more file * made some fixes in translation * made some fixes in translation * make some fixes and translates * Add more translations and fixes * Add more translations and fixes * Add the last file translated
1 parent 951b2a7 commit 7eeeca0

17 files changed

+1932
-0
lines changed

docs/.vuepress/config.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ module.exports = {
2424
lang: 'kr',
2525
title: 'Vuex',
2626
description: 'Vue.js의 중앙 상태 관리'
27+
},
28+
'/ptbr/': {
29+
lang: 'pt-BR',
30+
title: 'Vuex',
31+
description: 'Gerenciamento de Estado Centralizado para Vue.js'
2732
}
2833
},
2934
serviceWorker: true,
@@ -234,6 +239,47 @@ module.exports = {
234239
'/kr/guide/testing',
235240
'/kr/guide/hot-reload'
236241
]
242+
},
243+
'/ptbr/': {
244+
label: 'Português',
245+
selectText: 'Idiomas',
246+
editLinkText: 'Edite esta página no GitHub',
247+
nav: [
248+
{
249+
text: 'Guia',
250+
link: '/ptbr/guide/'
251+
},
252+
{
253+
text: 'Referência da API',
254+
link: '/ptbr/api/'
255+
},
256+
{
257+
text: 'Notas da Versão',
258+
link: 'https://github.com/vuejs/vuex/releases'
259+
}
260+
],
261+
sidebar: [
262+
'/ptbr/installation',
263+
'/ptbr/',
264+
'/ptbr/guide/',
265+
{
266+
title: 'Conceitos Básicos',
267+
collapsable: false,
268+
children: [
269+
'/ptbr/guide/state',
270+
'/ptbr/guide/getters',
271+
'/ptbr/guide/mutations',
272+
'/ptbr/guide/actions',
273+
'/ptbr/guide/modules'
274+
]
275+
},
276+
'/ptbr/guide/structure',
277+
'/ptbr/guide/plugins',
278+
'/ptbr/guide/strict',
279+
'/ptbr/guide/forms',
280+
'/ptbr/guide/testing',
281+
'/ptbr/guide/hot-reload'
282+
]
237283
}
238284
}
239285
}

docs/ptbr/README.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# O que é Vuex?
2+
3+
O Vuex é um **padrão de gerenciamento de estado + biblioteca** para aplicativos Vue.js. Ele serve como um _store_ centralizado para todos os componentes em uma aplicação, com regras garantindo que o estado só possa ser mutado de forma previsível. Ele também se integra com a extensão oficial [Vue devtools](https://github.com/vuejs/vue-devtools) para fornecer recursos avançados sem configurações adicionais, como depuração viajando pelo histórico de estado (_time travel_) e exportação/importação de registros de estado em determinado momento.
4+
5+
### O que é um "Padrão de Gerenciamento do Estado"?
6+
7+
Vamos começar com um aplicativo simples de contador Vue:
8+
9+
``` js
10+
new Vue({
11+
// state
12+
data () {
13+
return {
14+
count: 0
15+
}
16+
},
17+
// view
18+
template: `
19+
<div>{{ count }}</div>
20+
`,
21+
// actions
22+
methods: {
23+
increment () {
24+
this.count++
25+
}
26+
}
27+
})
28+
```
29+
30+
É um aplicativo independente com as seguintes partes:
31+
32+
- O **estado** (_state_), que é a fonte da verdade que direciona nosso aplicativo;
33+
- A **_view_**, que é apenas um mapeamento declarativo do **estado**;
34+
- As **ações** (_actions_), que são as possíveis maneiras pelas quais o estado pode mudar em reação às interações dos usuários da **_view_**.
35+
36+
Esta é uma representação extremamente simples do conceito de "fluxo de dados unidirecional" (_one-way_):
37+
38+
<p style="text-align: center; margin: 2em">
39+
<img style="width:100%;max-width:450px;" src="/flow.png">
40+
</p>
41+
42+
No entanto, a simplicidade é quebrada rapidamente quando temos **vários componentes que compartilham um estado comum**:
43+
44+
- Múltiplas _views_ podem depender do mesmo pedaço de estado.
45+
- Ações de diferentes _views_ podem precisar mudar o mesmo pedaço de estado.
46+
47+
Para o problema um, passar propriedades pode ser entediante para componentes profundamente aninhados e simplesmente não funcionam para componentes irmãos. Para o problema dois, frequentemente nos encontramos recorrendo a soluções como alcançar referências diretas da instância pai/filho ou tentar alterar e sincronizar várias cópias do estado por meio de eventos. Ambos os padrões são frágeis e levam rapidamente a um código não-sustentável.
48+
49+
Então, por que não extraímos o estado compartilhado dos componentes, e o gerenciamos em um _singleton_ global? Com isso, nossa árvore de componentes se torna uma grande "_view_", e qualquer componente pode acessar o estado ou acionar ações, não importando onde elas estejam na árvore!
50+
51+
Além disso, definindo e separando os conceitos envolvidos no gerenciamento do estado e aplicando certas regras, também damos ao nosso código mais estrutura e sustentabilidade.
52+
53+
Esta é a ideia básica por trás do Vuex, inspirada por [Flux](https://facebook.github.io/flux/docs/overview.html), [Redux](http://redux.js.org/) e [The Elm Architecture](https://guide.elm-lang.org/architecture/). Ao contrário dos outros padrões, o Vuex também é uma implementação de biblioteca adaptada especificamente para o Vue.js tirar proveito de seu sistema de reatividade granular para atualizações eficientes.
54+
55+
![vuex](/vuex.png)
56+
57+
### Quando usar o Vuex?
58+
59+
Embora o Vuex nos ajude a lidar com o gerenciamento de estado compartilhado, ele também vem com o custo de mais conceitos e códigos repetitivos. É uma escolha de prós e contras entre produtividade de curto e longo prazo
60+
61+
Se você nunca construiu um SPA em grande escala e for direto para o Vuex, ele pode parecer detalhado e desanimador. Isso é perfeitamente normal - se o seu aplicativo é simples, você provavelmente ficará bem sem o Vuex. Um simples [global event bus](https://br.vuejs.org/v2/guide/components.html#Comunicacao-Nao-Pai-Filho) pode ser tudo que você precisa. Mas, se você está criando um SPA de médio a grande porte, é provável que tenha encontrado situações que fazem você pensar em como lidar melhor com o estado fora de seus componentes do Vue, e o Vuex será o próximo passo natural para você. Há uma boa citação de Dan Abramov, o autor do Redux:
62+
63+
> As bibliotecas _Flux_ são como óculos: você saberá quando precisar delas.

docs/ptbr/api/README.md

Lines changed: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
---
2+
sidebar: auto
3+
---
4+
5+
# Referência da API
6+
7+
## Vuex.Store
8+
9+
``` js
10+
import Vuex from 'vuex'
11+
12+
const store = new Vuex.Store({ ...options })
13+
```
14+
15+
## Vuex.Store Opções do Construtor
16+
17+
### estado
18+
19+
- type: `Object | Function`
20+
21+
O objeto raiz de estado para o _store_ Vuex. [Detalhes](../guide/state.md)
22+
23+
Se você passar uma função que retorna um objeto, o objeto retornado é usado como o estado da raiz. Isso é útil quando você deseja reutilizar o objeto de estado, especialmente para reutilização de módulos. [Detalhes](../guide/modules.md#reutilizacao-do-modulo)
24+
25+
### mutações
26+
27+
- type: `{ [type: string]: Function }`
28+
29+
Registra mutações no _store_. A função do manipulador sempre recebe `estado` como o 1º argumento (será o estado local do módulo se definido em um módulo) e receberá um 2º argumento _payload_ se houver um.
30+
31+
[Detalhes](../guide/mutations.md)
32+
33+
### ações
34+
35+
- type: `{ [type: string]: Function }`
36+
37+
Registra ações no _store_. A função do manipulador recebe um objeto _context_ que expõe as seguintes propriedades:
38+
39+
``` js
40+
{
41+
state, // o mesmo que `store.state`, ou estado local se estiver em módulos
42+
rootState, // o mesmo que `store.state`, apenas em módulos
43+
commit, // o mesmo que `store.commit`
44+
dispatch, // o mesmo que `store.dispatch`
45+
getters, // o mesmo que `store.getters`, ou com getters locais se estiver em módulos
46+
rootGetters // o mesmo que `store.getters`, apenas em módulos
47+
}
48+
```
49+
50+
E também recebe um 2º argumento _payload_ se houver um.
51+
52+
[Detalhes](../guide/actions.md)
53+
54+
### getters
55+
56+
- type: `{ [key: string]: Function }`
57+
58+
Registra _getters_ no _store_. A função _getter_ recebe os seguintes argumentos:
59+
60+
```
61+
state, // será estado local do módulo se definido em um módulo.
62+
getters // o mesmo que store.getters
63+
```
64+
65+
Específico quando definido em um módulo
66+
67+
```
68+
state, // será estado local do módulo se definido em um módulo.
69+
getters, // módulo de getters locais do módulo atual
70+
rootState, // estado global
71+
rootGetters // todos os getters
72+
```
73+
74+
Os _getters_ registrados estão expostos em _store.getters_.
75+
76+
[Detalhes](../guide/getters.md)
77+
78+
### módulos
79+
80+
- type: `Object`
81+
82+
Um objeto contendo sub módulos a serem incorporados no _store_, de forma que:
83+
84+
``` js
85+
{
86+
key: {
87+
state,
88+
namespaced?,
89+
mutations?,
90+
actions?,
91+
getters?,
92+
modules?
93+
},
94+
...
95+
}
96+
```
97+
98+
Cada módulo pode conter `estado` e `mutações` semelhantes às opções raiz. O estado de um módulo será anexado ao estado da raiz do _store_ usando a chave do módulo. As mutações e _getters_ de um módulo receberão apenas o estado local do módulo como o 1º argumento em vez do estado da raiz e as ações do módulo _context.state_ também apontarão para o estado local.
99+
100+
[Detalhes](../guide/modules.md)
101+
102+
### plugins
103+
104+
- type: `Array<Function>`
105+
106+
Um _Array_ de funções de plug-in a serem aplicadas no _store_. O plug-in simplesmente recebe o _store_ como o único argumento e pode ouvir mutações (para persistência de dados de saída, registro ou depuração) ou mutações de despacho (para dados de entrada, por exemplo, websockets ou _observables_).
107+
108+
[Detalhes](../guide/plugins.md)
109+
110+
### strict
111+
112+
- type: `Boolean`
113+
- default: `false`
114+
115+
Força o _store_ Vuex em modo estrito. No modo estrito, qualquer mutação ao estado do Vuex fora dos manipuladores de mutação acusará um erro.
116+
117+
[Detalhes](../guide/strict.md)
118+
119+
## Vuex.Store Propriedades da Instância
120+
121+
### state
122+
123+
- type: `Object`
124+
125+
O estado raiz. Apenas leitura.
126+
127+
### getters
128+
129+
- type: `Object`
130+
131+
Expõe os _getters_ registrados. Apenas leitura.
132+
133+
## Vuex.Store Métodos da Instância
134+
135+
### commit
136+
137+
- `commit(type: string, payload?: any, options?: Object)`
138+
- `commit(mutation: Object, options?: Object)`
139+
140+
Confirma (ou faz um _Commit_ de) uma mutação. _options_ pode ter _root: true_ que permite confirmar mutações da raiz em [módulos namespaced](../guide/modules.md#namespacing). [Detalhes](../guide/mutations.md)
141+
142+
### dispatch
143+
144+
- `dispatch(type: string, payload?: any, options?: Object)`
145+
- `dispatch(action: Object, options?: Object)`
146+
147+
Despacha uma ação. _options_ pode ter _root: true_ que permite despachar ações para raiz em [módulos namespaced](../guide/modules.md#namespacing). Retorna um _Promise_ que resolve todos os manipuladores de ação acionados. [Detalhes](../guide/actions.md)
148+
149+
### ___replaceState
150+
151+
- `___replaceState(state: Object)`
152+
153+
Substitua o estado da raiz do _store_. Use isso apenas para fins de _hydration_ / _time-travel_.
154+
155+
### watch
156+
157+
- `watch(fn: Function, callback: Function, options?: Object): Function`
158+
159+
Visualiza de forma reativa um valor de retorno de `fn`, e chama o _callback_ para o retorno de chamada quando o valor for alterado. O `fn` recebe o estado do _store_ como o 1º argumento, e os _getters_ como o 2º argumento. Aceita um objeto de opções opcional que leva as mesmas opções que o método _vm.$watch_ do Vue.
160+
161+
Para parar um _watch_, chame a função _unwatch_ retornada.
162+
163+
### subscribe
164+
165+
- `subscribe(handler: Function): Function`
166+
167+
Assina as mutações do _store_. O `manipulador` é chamado após cada mutação e recebe o descritor de mutação e o estado pós-mutação como argumentos:
168+
169+
``` js
170+
store.subscribe((mutation, state) => {
171+
console.log(mutation.type)
172+
console.log(mutation.payload)
173+
})
174+
```
175+
176+
Para cancelar a assinatura, chame a função _unsubscribe_ retornada.
177+
178+
Mais comumente usado em plugins. [Detalhes](../guide/plugins.md)
179+
180+
### subscribeAction
181+
182+
- `subscribeAction(handler: Function): Function`
183+
184+
> Novo na 2.5.0
185+
186+
Assina as ações do _store_. O `manipulador` é chamado para cada ação despachada e recebe o descritor de ação e o estado atual do _store_ como argumentos:
187+
188+
``` js
189+
store.subscribeAction((action, state) => {
190+
console.log(action.type)
191+
console.log(action.payload)
192+
})
193+
```
194+
195+
Para cancelar a assinatura, chame a função _unsubscribe_ retornada.
196+
197+
Mais comumente usado em plugins. [Detalhes](../guide/plugins.md)
198+
199+
### registerModule
200+
201+
- `registerModule(path: string | Array<string>, module: Module, options?: Object)`
202+
203+
Registra um módulo dinâmico. [Detalhes](../guide/modules.md#registro-de-modulo-dinamico)
204+
205+
_options_ can have _preserveState: true_ que permite preservar o estado anterior. Útil com renderização do lado do servidor (_server-side-rendering_).
206+
207+
### unregisterModule
208+
209+
- `unregisterModule(path: string | Array<string>)`
210+
211+
Cancela o registro de um módulo dinâmico. [Detalhes](../guide/modules.md#registro-de-modulo-dinamico)
212+
213+
### hotUpdate
214+
215+
- `hotUpdate(newOptions: Object)`
216+
217+
Faz _Hot_ _swap_ de novas ações e mutações. [Detalhes](../guide/hot-reload.md)
218+
219+
## Métodos Auxiliares dos Componentes
220+
221+
### mapState
222+
223+
- `mapState(namespace?: string, map: Array<string> | Object<string | function>): Object`
224+
225+
Criar dados computados do componente que retornam a subárvore do _store_ Vuex. [Detalhes](../guide/state.md#o-auxiliar-mapstate)
226+
227+
O 1º argumento pode ser opcionalmente uma _String_ com _namespace_. [Detalhes](../guide/modules.md#usando-metodos-auxiliares-com-namespace)
228+
229+
O segundo objeto que compõem os argumentos pode ser uma função. `function(state: any)`
230+
231+
### mapGetters
232+
233+
- `mapGetters(namespace?: string, map: Array<string> | Object<string>): Object`
234+
235+
Criar dados computados do componente que retornam o valor calculado de um _getter_. [Detalhes](../guide/getters.md#o-auxiliar-mapgetters)
236+
237+
O 1º argumento pode ser opcionalmente uma _String_ com _namespace_. [Detalhes](../guide/modules.md#usando-metodos-auxiliares-com-namespace)
238+
239+
### mapActions
240+
241+
- `mapActions(namespace?: string, map: Array<string> | Object<string | function>): Object`
242+
243+
Criar opções de métodos nos componentes que despacham uma ação. [Detalhes](../guide/actions.md#acoes-de-despacho-em-componentes)
244+
245+
O 1º argumento pode ser opcionalmente uma _String_ com _namespace_. [Detalhes](../guide/modules.md#usando-metodos-auxiliares-com-namespace)
246+
247+
O segundo objeto que compõem os argumentos pode ser uma função. `function(dispatch: function, ...args: any[])`
248+
249+
### mapMutations
250+
251+
- `mapMutations(namespace?: string, map: Array<string> | Object<string | function>): Object`
252+
253+
Criar opções de métodos nos componentes que confirmam (ou fazem um _commit_ de) uma mutação. [Detalhes](../guide/mutations.md#confirmando-ou-fazendo-commits-de-mutacoes-em-componentes)
254+
255+
O 1º argumento pode ser opcionalmente uma _String_ com _namespace_. [Detalhes](../guide/modules.md#usando-metodos-auxiliares-com-namespace)
256+
257+
 O segundo objeto que compõem os argumentos pode ser uma função. `function(commit: function, ...args: any[])`
258+
259+
### createNamespacedHelpers
260+
261+
- `createNamespacedHelpers(namespace: string): Object`
262+
263+
Cria um componente _namespaced_ dos métodos auxiliares. O objeto retornado possui _mapState_, _mapGetters_, _mapActions_ e _mapMutations_, que estão conectados com o dado _namespace_. [Detalhes](../guide/modules.md#usando-metodos-auxiliares-com-namespace)

0 commit comments

Comments
 (0)