Skip to content

Commit 54c5459

Browse files
chore: added Brazilian Portuguese translations (#247)
* fix: more accurate ptBr translations for "config_defaults" page * fix: missing accent in "cópia" * chore: quotes on every property, added missing translations for the "sponsors" section * feat: added missing translations, fixed some minor typos * fix: improved ptBR translations, fixed some small typos * feat: added updated translations * fix: fixed some typos, added missing aliases * fix: fixed some typos, changed some translations to be more clear and concise * feat: added missing properties and updated existing ones * feat: added missing translation for statusText * fix: fixed some typos, code formatting and mistranslations * fix: updated translation for config defaults page title * fix: more fitting translation for the "handling_errors" page title * fix: using console.log instead of console.error, added some clarity for the comments' translations * fix: fixed "deprecated" translation to be more in line with other pages * feat: update translation for the whole page, adding missing translations and slightly altering existing ones * fix: fixed translation for "ulencoded" page title * feat: added missing translations * feat: added "new" emoji, in line with the english docs * feat: translation for the "multipart" page * fix: typo --------- Co-authored-by: Jay <[email protected]>
1 parent 305056b commit 54c5459

14 files changed

+487
-135
lines changed

posts/ptBR/api_intro.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@ Requisições podem ser feitas passando as configuraçãos relevantes para o `ax
1212
##### axios(config)
1313

1414
```js
15-
import axios from 'axios';
16-
17-
// Envia uma requisição post
15+
// Envia uma requisição POST
1816
axios({
1917
method: "post",
2018
url: "/user/12345",
@@ -31,9 +29,10 @@ axios({
3129
method: "get",
3230
url: "http://bit.ly/2mTM3nY",
3331
responseType: "stream",
34-
}).then(function (response) {
35-
response.data.pipe(fs.createWriteStream("ada_lovelace.jpg"));
36-
});
32+
})
33+
.then(function (response) {
34+
response.data.pipe(fs.createWriteStream("ada_lovelace.jpg"));
35+
});
3736
```
3837

3938
##### axios(url[, config])
@@ -43,7 +42,7 @@ axios({
4342
axios("/user/12345");
4443
```
4544

46-
### Apelidos para requisições
45+
### Pseudônimos para requisições
4746

4847
Por conveniência, foram fornecidos pseudônimos para todos os métodos de solicitação suportados.
4948

@@ -59,5 +58,4 @@ Por conveniência, foram fornecidos pseudônimos para todos os métodos de solic
5958
##### axios.putForm(url[, data[, config]])
6059
##### axios.patchForm(url[, data[, config]])
6160

62-
###### INFO
63-
Ao usar os pseudônimo dos métodos, as propriedades `url`,` method` e `data` não precisam ser especificadas na configuração.
61+
> NOTA: Ao usar os pseudônimos dos métodos, as propriedades `url`,` method` e `data` não precisam ser especificadas na configuração.

posts/ptBR/cancellation.md

Lines changed: 85 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,26 @@
11
---
22
title: 'Cancelamento'
3-
prev_title: 'Manipulando erros'
3+
prev_title: 'Lidando com Erros'
44
prev_link: '/ptBR/docs/handling_errors'
5-
next_title: 'Corpo de codificação de URL'
5+
next_title: 'Codificação de URL'
66
next_link: '/ptBR/docs/urlencoded'
77
---
88

9-
## AbortController
9+
## Cancelando requisições
1010

11-
A partir da `v0.22.0`, o Axios oferece suporte ao [`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) para cancelar requisições em forma de API fetch.
11+
Definindo a propriedade `timeout` numa chamada do axios, lidamos com timeouts na **resposta**.
12+
13+
Em alguns casos (caso a conexão com a rede torne-se indisponível, por exemplo) uma chamada do axios se beneficiaria de poder cancelar a **conexão** de forma prematura. Sem o cancelamento, a chamada ficará esperando até que a requisição exceda o tempo máximo definido no `timeout` (o que pode demorar alguns minutos em uma aplicação server-side).
14+
15+
Para finalizar uma chamada você pode utilizar os seguintes métodos:
16+
- `signal`
17+
- `cancelToken` (descontinuado)
18+
19+
Utilizando `timeout` em conjunto com um método de cancelamento (`signal`, por exemplo), podemos lidar com timeouts na **resposta** E TAMBÉM na **conexão**
20+
21+
### `signal`: AbortController
22+
23+
A partir da versão `v0.22.0`, Axios suporta o uso de [`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) para cancelar requisições realizadas via API fetch:
1224

1325
```js
1426
const controller = new AbortController();
@@ -22,13 +34,40 @@ axios.get('/foo/bar', {
2234
controller.abort()
2335
```
2436

25-
## CancelToken `descontinuado`
37+
Exemplo com timeout utilizando a API [`AbortSignal.timeout()`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/timeout) mais recente [nodejs 17.3+]:
38+
```js
39+
axios.get('/foo/bar', {
40+
signal: AbortSignal.timeout(5000) // aborta a requisição após 5 segundos
41+
}).then(function(response) {
42+
//...
43+
});
44+
```
45+
46+
Exemplo com uma função auxiliar:
47+
```js
48+
function newAbortSignal(timeoutMs) {
49+
const abortController = new AbortController();
50+
setTimeout(() => abortController.abort(), timeoutMs || 0);
51+
52+
return abortController.signal;
53+
}
54+
55+
axios.get('/foo/bar', {
56+
signal: newAbortSignal(5000) // aborta a requisição após 5 segundos
57+
}).then(function(response) {
58+
//...
59+
});
60+
```
61+
62+
### CancelToken `descontinuado`
63+
64+
Você também pode cancelat uma requisição utilizando um *CancelToken*.
2665

27-
Você pode cancelar uma requisição usando um *cancel token*.
66+
> A API que o axios utiliza é baseada na [proposta de promessas canceláveis](https://github.com/tc39/proposal-cancelable-promises).
2867
29-
> O token de cancelamento do axios é baseado em retirada [proposta de promessas canceláveis](https://github.com/tc39/proposal-cancelable-promises).
68+
> Essa API foi descontinuada a partir da versão `v0.22.0` e não deve ser utilizada em novos projetos.
3069
31-
Você pode criar um token de cancelamento usando o `CancelToken.source` conforme mostrado abaixo:
70+
Você pode criar um token de cancelamento por meio do método `CancelToken.source`, conforme mostrado abaixo:
3271

3372
```js
3473
const CancelToken = axios.CancelToken;
@@ -38,9 +77,9 @@ axios.get('/user/12345', {
3877
cancelToken: source.token
3978
}).catch(function (thrown) {
4079
if (axios.isCancel(thrown)) {
41-
console.log('Request canceled', thrown.message);
80+
console.log('Requisição cancelada', thrown.message);
4281
} else {
43-
// manipulando erro
82+
// lida com erro
4483
}
4584
});
4685

@@ -50,19 +89,19 @@ axios.post('/user/12345', {
5089
cancelToken: source.token
5190
})
5291

53-
// cancela a requisição (o parâmetro de mensagem é opcional)
54-
source.cancel('Operação cancelada pelo usuário');
92+
// cancela a requisição (a mensagem é opcional)
93+
source.cancel('Operação cancelada pelo usuário.');
5594
```
5695

57-
Você também poder criar um token de cancelamento passando uma função executora para o construtor de `CancelToken`
96+
Você também pode criar um token de cancelamento passando uma função executora para o construtor de `CancelToken`:
5897

5998
```js
6099
const CancelToken = axios.CancelToken;
61100
let cancel;
62101

63102
axios.get('/user/12345', {
64103
cancelToken: new CancelToken(function executor(c) {
65-
// Uma função executora recebe uma função de cancelamento como parametro
104+
// A função executora recebe como parâmetro uma função de cancelamento
66105
cancel = c;
67106
})
68107
});
@@ -71,4 +110,35 @@ axios.get('/user/12345', {
71110
cancel();
72111
```
73112

74-
> Nota: você pode cancelar multiplas requisições com o mesmo token de cancelamento.
113+
> Nota: você pode cancelar várias requisições com o mesmo token / signal.
114+
115+
Durante o período de transição, é possível utilizar ambas as APIs de cancelamento, até mesmo em uma única requisição:
116+
117+
```js
118+
const controller = new AbortController();
119+
120+
const CancelToken = axios.CancelToken;
121+
const source = CancelToken.source();
122+
123+
axios.get('/user/12345', {
124+
cancelToken: source.token,
125+
signal: controller.signal
126+
}).catch(function (thrown) {
127+
if (axios.isCancel(thrown)) {
128+
console.log('Requisição cancelada', thrown.message);
129+
} else {
130+
// lida com erro
131+
}
132+
});
133+
134+
axios.post('/user/12345', {
135+
name: 'new name'
136+
}, {
137+
cancelToken: source.token
138+
})
139+
140+
// cancela a requisição (a mensagem é opcional)
141+
source.cancel('Operação cancelada pelo usuário.');
142+
// OR
143+
controller.abort(); // não suporta mensagem
144+
```

posts/ptBR/config_defaults.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
2-
title: 'Configurações padrões'
2+
title: 'Configurações Padrão'
33
prev_title: 'Esquema de respostas'
44
prev_link: '/ptBR/docs/res_schema'
55
next_title: 'Interceptadores'
66
next_link: '/ptBR/docs/interceptors'
77
---
88

9-
## Configurações padrões
9+
## Configurações padrão
1010

11-
Você pode especificar configurações padrões que será aplicar em todas as requisições.
11+
Você pode especificar configurações padrão que serão aplicadas a todas as requisições.
1212

1313
### Configurações globais do axios
1414

@@ -18,32 +18,32 @@ axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
1818
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
1919
```
2020

21-
### Padrões de instância personalizados
21+
### Padrões para a instância
2222

2323
```js
24-
// Define as configurações padrões quando cria a instância
24+
// Define as configurações padrão quando cria a instância
2525
const instance = axios.create({
2626
baseURL: 'https://api.example.com'
2727
});
2828

29-
// Altera as configurações padrões após a instância ser criada
29+
// Altera as configurações padrão após a instância ser criada
3030
instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;
3131
```
3232

3333
### Ordem de precedência
3434

35-
As configurações serão mescladas pela ordem de precedente. A ordem é o padrão da biblioteca encontrados em [lib/defaults.js](https://github.com/axios/axios/blob/master/lib/defaults.js#L28), depos as propriedades `defaults` da instância, e finalmente `config` argumentos para a requisição. O último terá precedência sobre o primeiro. Aqui está um exemplo.
35+
As configurações serão mescladas seguindo a ordem de precedência. A ordem é os padrões da biblioteca encontrados em [lib/defaults.js](https://github.com/axios/axios/blob/master/lib/defaults.js#L28), depois a propriedade `defaults` da instância, e finalmente o argumento `config` da requisição. Os últimos terão precedência sobre os primeiros. Aqui está um exemplo.
3636

3737
```js
38-
// Cria uma instancia usando os padrões de configurações fornecidas pela biblioteca
38+
// Cria uma instância usando os padrões de configuração fornecidos pela biblioteca
3939
// Neste ponto o valor do timeout é de `0` pois é o padrão da biblioteca
4040
const instance = axios.create();
4141

42-
// Sobrescreve o valor do tempo de espera da biblioteca
43-
// Agora todas as requisições que usarem está instancia terá que esperar 2.5 secundos antes do tempo se esgotar
42+
// Sobrescreve o tempo de espera padrão da biblioteca
43+
// Agora todas as requisições que usarem está instância terão que esperar 2.5 segundos antes do tempo se esgotar
4444
instance.defaults.timeout = 2500;
4545

46-
// Sobrescreve o tempo de espera para apenas está requisição por levar um tempo maior
46+
// Sobrescreve o tempo de espera para apenas esta requisição pois sabemos que ela é demorada
4747
instance.get('/longRequest', {
4848
timeout: 5000
4949
});

posts/ptBR/example.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ next_link: '/ptBR/docs/post_example'
88
---
99

1010
## nota: Uso de CommonJS
11-
Em ordem de usar o TypeScript (para intellissen e/ou preenchimento automático) enquanto usando CommonJS, importe com o `require()` utilize a seguinte abordagem:
11+
Para usar o TypeScript (para intellisense e/ou preenchimento automático) enquanto utiliza importação via `require()` com CommonJS, utilize a seguinte abordagem:
1212

1313
```js
1414
const axios = require('axios').default;
1515

16-
// axios.<método> agora o axios fornecerá preenchimento automático e tipagens de parâmetros
16+
// axios.<método> agora contará com preenchimento automático e tipagem de parâmetros
1717
```
1818

1919
# Exemplo
@@ -23,21 +23,21 @@ Executando uma requisição `GET`
2323
```js
2424
const axios = require('axios');
2525

26-
// Faz uma requisição a um usuarío com um ID expecifico
26+
// Faz uma requisição a um usuário com um ID expecífico
2727
axios.get('/user?ID=12345')
2828
.then(function (response) {
29-
// manipula o sucesso da requisição
29+
// manipula a resposta da requisição
3030
console.log(response);
3131
})
3232
.catch(function (error) {
33-
// manipula erros da requisição
34-
console.error(error);
33+
// manipula os erros
34+
console.log(error);
3535
})
3636
.finally(function () {
3737
// sempre será executado
3838
});
3939

40-
// Opcionalmente a requisição acima poderia ser feita assim da seguinte forma
40+
// Opcionalmente a requisição acima poderia ser feita da seguinte maneira
4141
axios.get('/user', {
4242
params: {
4343
ID: 12345
@@ -47,13 +47,13 @@ axios.get('/user', {
4747
console.log(response);
4848
})
4949
.catch(function (error) {
50-
console.error(error);
50+
console.log(error);
5151
})
5252
.finally(function () {
5353
// sempre será executado
5454
});
5555

56-
// Quer usar async/await? Adicione o prefixo `async` na sua função/método
56+
// Quer usar async/await? Adicione o prefixo `async` à sua função/método
5757
async function getUser() {
5858
try {
5959
const response = await axios.get('/user?ID=12345');
@@ -63,5 +63,6 @@ async function getUser() {
6363
}
6464
}
6565
```
66+
6667
> **NOTA:** `async/await` faz parte do ECMAScript 2017 e não é suportado no Internet
67-
> Explorer e versões antigas de browsers, use com cuidado.
68+
> Explorer e navegadores antigos, use com cuidado.

posts/ptBR/handling_errors.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: 'Manipulando Erros'
2+
title: 'Lidando com Erros'
33
prev_title: 'Interceptadores'
44
prev_link: '/ptBR/docs/interceptors'
55
next_title: 'Cancelamento'
@@ -11,24 +11,24 @@ axios.get('/user/12345')
1111
.catch(function (error) {
1212
if (error.response) {
1313
// A requisição foi feita e o servidor respondeu com um código de status
14-
// que sai do alcance de 2xx
15-
console.error(error.response.data);
16-
console.error(error.response.status);
17-
console.error(error.response.headers);
14+
// que cai fora do intervalo 200 a 299
15+
console.log(error.response.data);
16+
console.log(error.response.status);
17+
console.log(error.response.headers);
1818
} else if (error.request) {
1919
// A requisição foi feita mas nenhuma resposta foi recebida
2020
// `error.request` é uma instância do XMLHttpRequest no navegador e uma instância de
2121
// http.ClientRequest no node.js
22-
console.error(error.request);
22+
console.log(error.request);
2323
} else {
24-
// Alguma coisa acontenceu ao configurar a requisição que acionou este erro.
25-
console.error('Error', error.message);
24+
// Alguma coisa acontenceu ao configurar a requisição, gerando um erro.
25+
console.log('Error', error.message);
2626
}
27-
console.error(error.config);
27+
console.log(error.config);
2828
});
2929
```
3030

31-
Usando a configuração opcional `validadeStatus`, você pode definir o(s) código(s) HTTP que devem lançar um erro
31+
Usando a configuração opcional `validateStatus`, você pode definir o(s) código(s) HTTP que devem lançar um erro.
3232

3333
```js
3434
axios.get('/user/12345', {
@@ -43,6 +43,6 @@ Usando o `toJSON` você pode receber um objeto com mais informações sobre o er
4343
```js
4444
axios.get('/user/12345')
4545
.catch(function (error) {
46-
console.error(error.toJSON());
46+
console.log(error.toJSON());
4747
});
4848
```

posts/ptBR/interceptors.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
title: 'Interceptadores'
3-
prev_title: 'Configurações padrões'
3+
prev_title: 'Configurações Padrão'
44
prev_link: '/ptBR/docs/config_defaults'
5-
next_title: 'Manipulando Erros'
5+
next_title: 'Lidando com Erros'
66
next_link: '/ptBR/docs/handling_errors'
77
---
88

0 commit comments

Comments
 (0)