Skip to content

Modules, introduction - #490

Merged
gabifs merged 2 commits into
javascript-tutorial:masterfrom
diogoosz:translate-modules-intro
Nov 13, 2026
Merged

gabifs merged 2 commits into
javascript-tutorial:masterfrom
diogoosz:translate-modules-intro

Conversation

@diogoosz

@diogoosz diogoosz commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Tradução do artigo "Modules, introduction" para o português.

Conforme comentado na #1. Obs.: esse título já havia sido reivindicado por @adriavieira314 em fev/2020, sem PR desde então — estou assumindo a tradução.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

// 📁 1.js
import `./alert.js`; // Module is evaluated!
import `./alert.js`; // O módulo foi avaliado!

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O exemplo usa crases: import ./alert.js;. Isso é erro de sintaxe: import exige uma string literal, não aceita template literal. Quem copiar o exemplo recebe um SyntaxError. O erro já vem do original em inglês, mas a linha foi mexida aqui, então dá para corrigir as duas importações (143 e 146):

Suggested change
import `./alert.js`; // O módulo foi avaliado!
import './alert.js'; // O módulo foi avaliado!

```

### A module code is evaluated only the first time when imported
### Um código de módulo é avaliado só na primeira vez em que é importado

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O título ficou truncado, porque "Um código de módulo" soa estranho em português. Sugestão:

Suggested change
### Um código de módulo é avaliado só na primeira vez em que é importado
### O código de um módulo é avaliado só na primeira vez em que é importado

### Num módulo, o "this" é undefined

That's kind of a minor feature, but for completeness we should mention it.
Esse é meio que um recurso secundário, mas, pra ficar completo, devemos mencioná-lo.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O registro oscila entre formal e coloquial: "pra" aparece 6 vezes (L61, L244, L357, L384, L414, L416) e "para" 11 vezes, além de "pro" (L196) e "meio que" (aqui). Vale padronizar para a forma escrita ("para", "para o"), como no resto do tutorial.

Suggested change
Esse é meio que um recurso secundário, mas, pra ficar completo, devemos mencioná-lo.
Esse é um recurso secundário, mas, para ficar completo, devemos mencioná-lo.

### Sempre "use strict"

Modules always work in strict mode. E.g. assigning to an undeclared variable will give an error.
Módulos sempre funcionam em modo estrito. Ex.: atribuir a uma variável não declarada vai gerar um erro.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Ex.:" no começo de frase (aqui e na L189) não aparece em nenhum outro artigo traduzido do repositório. A abreviação "ex." costuma ser usada só dentro de parênteses. Sugestão:

Suggested change
Módulos sempre funcionam em modo estrito. Ex.: atribuir a uma variável não declarada vai gerar um erro.
Módulos sempre funcionam em modo estrito. Por exemplo, atribuir a uma variável não declarada vai gerar um erro.

```

## Build tools
## Ferramentas de build

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A terminologia ficou inconsistente: o título diz "Ferramentas de build", mas o texto usa "ferramentas de empacotamento" (L357, L392) e "empacotadores" para a mesma coisa. Vale unificar ("Ferramentas de empacotamento (build)", ou usar "build" no texto todo).


```smart
In the browser, we can make a variable window-level global by explicitly assigning it to a `window` property, e.g. `window.user = "John"`.
No navegador, podemos tornar uma variável global em nível de window atribuindo-a explicitamente a uma propriedade de `window`, ex.: `window.user = "John"`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Global em nível de window" é um decalque meio confuso de "window-level global". Sugestão: "podemos tornar uma variável global, no nível de window, atribuindo-a explicitamente a uma propriedade de window, por exemplo, window.user = \"John\"."

```js
// 📁 alert.js
alert("Module is evaluated!");
alert("O módulo foi avaliado!");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strings dentro do código ficaram inconsistentes: esta ("O módulo foi avaliado!") e "Roda em navegadores modernos" (L365) foram traduzidas, mas Ready to serve, ... (L203/L225) e Hello, ${user}! (L34/L45) continuaram em inglês. Melhor escolher um padrão: ou traduz todas as strings de saída, ou deixa todas em inglês.

- Fix invalid syntax: import `./alert.js`; used backticks instead of
  a string literal (SyntaxError)
- Fix truncated heading "Um código de módulo" -> "O código de um
  módulo é avaliado..."
- Standardize informal "pra"/"pro"/"meio que" to "para"/"para o"
- Replace sentence-initial "Ex.:" with "Por exemplo,"
- Reword the "global at window level" calque
- Translate the remaining "Hello"/"Ready to serve" alert strings to
  match the sibling 02-import-export chapter's convention (Olá /
  Pronto para atender)
- Unify "Ferramentas de build" with "ferramentas de
  empacotamento"/"empacotadores" used in the rest of the article

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@diogoosz

Copy link
Copy Markdown
Contributor Author

Obrigado, @gabifs! Apliquei tudo: corrigi o erro de sintaxe no import (crase→aspas), ajustei o título truncado, padronizei "pra"/"pro"/"meio que" pra "para", troquei "Ex.:" no início de frase por "Por exemplo,", reescrevi o calque de "global em nível de window", traduzi as strings "Hello"/"Ready to serve" (seguindo o padrão do capítulo 02-import-export: Olá/Pronto para atender), e unifiquei "Ferramentas de build" com "empacotamento/empacotadores" usado no resto do texto.

@gabifs
gabifs merged commit 187bfe4 into javascript-tutorial:master Nov 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants