Skip to content

Translate docs #2

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 2 commits into from
Dec 26, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
48 changes: 48 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Então você quer contribuir!

Obrigado por ajudar a comunidade! Nós estamos constantemente buscando por contribuidores e mantenedores então você é mais do que bem-vindo.

Eu pensei em estipular alguns princípios básicos que nós iremos seguir para evitar que este repositório se torne muito confuso e perca seu valor.

1. **Nós somos uma CHEATSHEET antes de tudo**: Todos os exemplos devem ser o mais simples possível, fáceis de encontrar, e apresentáveis para copiar-e-colar.
2. **Explicações claras**: Nada além de 1 ou 2 sentenças de explicação, mais do que isso incluímos a tag `detalhes`.
3. **SOMENTE React + TypeScript**: React possui um imenso ecossistema e é impossível cobri-lo completamente. Isto inclui Redux. Sugiro ás pessoas a manter listas separadas para coisas como React + Apollo Graphql, por exemplo. Nós também não tentamos convencer ninguém a usar TypeScript, estamos aqui para ajudar as pessoas que já decidiram experimentá-lo.
4. **Inclua links para o sandbox do Typescript**: Sempre que adicionar um exemplo de código com mais de quatro linhas, adicione um link para o sandbox com o código em Typescript. Use as opções padrão do compilador.

E é isso! Outra vez, estamos muito felizes que você esteja pensando em ajudar e, quem sabe, a pessoa que você está ajudando pode ser você mesma no futuro!

## Estrutura do projeto

- O conteúdo completo está em `/docs`
- O `/docs/basic` é compilado no `README.md` para preservar a legibilidade do GitHub por meio de GitHub actions, obrigado
- `/website` consome o conteúdo de `/docs`, que é um site [Docusaurus 2](https://docusaurus.io/), que possui o sistema de [busca Algolia](https://www.algolia.com/) (obrigado a ambas as equipes pelo apoio!)

O site está hospedado no Netlify, na conta pessoal do swyx.

Para rodar o docsite localmente:

```bash
yarn # instala as dependências
## garanta que as dependências também sejam instaladas em /website
cd website && yarn start
```

exemplo de instalação bem-sucedida

```
yarn run v1.22.4
warning package.json: No license field
$ docusaurus start
Starting the development server...

✔ Client
Compiled successfully in 9.61s

ℹ 「wds」: Project is running at http://localhost:3000/
ℹ 「wds」: webpack output is served from /
ℹ 「wds」: Content not from webpack is served from /Users/wanshawn/Work/react-typescript-cheatsheet/website
ℹ 「wds」: 404s will fallback to /index.html

✔ Client
Compiled successfully in 116.41ms
```
144 changes: 144 additions & 0 deletions GLOSSARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# Guia de Estilo Universal

## Texto em Blocos de Código

Mantenha o texto em blocos de código sem tradução, exceto para os comentários. Você pode optar por traduzir o texto em strings, mas tenha cuidado para não traduzir strings que se refiram ao código!

Exemplo:

```js
// Example
const element = <h1>Hello, world</h1>;
ReactDOM.render(element, document.getElementById('root'));
```

✅ FAÇA:

```js
// Exemplo
const element = <h1>Hello, world</h1>;
ReactDOM.render(element, document.getElementById('root'));
```

✅ PERMITIDO:

```js
// Exemplo
const element = <h1>Olá mundo</h1>;
ReactDOM.render(element, document.getElementById('root'));
```

❌ NÃO FAÇA:

```js
// Exemplo
const element = <h1>Olá mundo</h1>;
// "root" se refere a um ID de elemento.
// NÃO TRADUZA
ReactDOM.render(element, document.getElementById('raiz'));
```

❌ DEFINITIVAMENTE NÃO FAÇA:

```js
// Exemplo
const elemento = <h1>Olá mundo</h1>;
ReactDOM.renderizar(elemento, documento.obterElementoPorId('raiz'));
```

## Links Externos

Se um link externo se referir a um artigo no [MDN] or [Wikipedia] e se houver uma versão traduzida em seu idioma em uma qualidade decente, opte por usar a versão traduzida.

[mdn]: https://developer.mozilla.org/pt-BR/
[wikipedia]: https://pt.wikipedia.org/wiki/Wikipédia:Página_principal

Exemplo:

```md
React elements are [immutable](https://en.wikipedia.org/wiki/Immutable_object).
```

✅ OK:

```md
Elementos React são [imutáveis](https://pt.wikipedia.org/wiki/Objeto_imutável).
```

Para links que não possuem tradução (Stack Overflow, vídeos do YouTube, etc.), simplesmente use o link original.

## Traduções Comuns

Sugestões de palavras e termos:

| Palavra/Termo original | Sugestão |
| ---------------------- | -------------------------------------- |
| assertion | asserção |
| browser | navegador |
| bubbling | propagar |
| bug | erro |
| class component | componente de classe |
| class | classe |
| client | cliente |
| client-side | lado do cliente |
| container | contêiner |
| context | contexto |
| controlled component | componente controlado |
| debugging | depuração |
| DOM node | nó do DOM |
| event handler | manipulador de eventos (event handler) |
| function component | componente de função |
| handler | manipulador |
| helper function | função auxiliar |
| high-order components | componente de alta-ordem |
| key | chave |
| library | biblioteca |
| lowercase | minúscula(s) / caixa baixa |
| package | pacote |
| React element | Elemento React |
| React fragment | Fragmento React |
| render | renderizar (verb), renderizado (noun) |
| server | servidor |
| server-side | lado do servidor |
| siblings | irmãos |
| stateful component | componente com estado |
| stateful logic | lógica com estado |
| to assert | afirmar |
| to wrap | encapsular |
| uncontrolled component | componente não controlado |
| uppercase | maiúscula(s) / caixa alta |

## Conteúdo que não deve ser traduzido

- array
- arrow function
- bind
- bundle
- bundler
- callback
- camelCase
- DOM
- event listener
- framework
- hook
- log
- mock
- portal
- props
- ref
- release
- script
- single-page-apps
- state
- string
- string literal
- subscribe
- subscription
- template literal
- timestamps
- UI
- watcher
- widgets
- wrapper

Se deseja agregar algo que falta, abra um [issue](https://github.com/typescript-cheatsheets/react-pt/issues/new).