Skip to content
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

Functions #169

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open

Conversation

marina-t-itf
Copy link

No description provided.

@CLAassistant
Copy link

CLAassistant commented Jan 18, 2023

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
2 out of 3 committers have signed the CLA.

✅ marina-t-itf
✅ bogdanbacosca
❌ MarinaG


MarinaG seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

Copy link
Contributor

@bogdanbacosca bogdanbacosca left a comment

Choose a reason for hiding this comment

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

Mai sunt câteva schimbări minore care trebuiesc implementate.


Otherwise it asks for a confirmation and returns its result.
În caz contrar, solicită o confirmare și returnează rezultatul.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
În caz contrar, solicită o confirmare și returnează rezultatul.
În caz contrar aceasta cere o confirmare și îi returnează rezultatul.

@@ -14,7 +14,7 @@ let x = prompt("x?", '');
let n = prompt("n?", '');

if (n < 1) {
alert(`Power ${n} is not supported, use a positive integer`);
alert(`Puterea ${n} nu este acceptată, utilizați un număr întreg pozitiv`);
Copy link
Contributor

Choose a reason for hiding this comment

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

Am putea folosi susținut pentru a traduce supported peste tot -- pentru consisteță.

Suggested change
alert(`Puterea ${n} nu este acceptată, utilizați un număr întreg pozitiv`);
alert(`Puterea ${n} nu este susținută, utilizați un număr întreg pozitiv`);


Quite often we need to perform a similar action in many places of the script.
Destul de des avem nevoie să realizăm o acțiune similară în multe locuri ale secvenței de instrucțiuni.
Copy link
Contributor

Choose a reason for hiding this comment

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

În unele cazuri, putem să nu traducem termenii tehnici dacă nu există o conveție bine definită în limba română.

Suggested change
Destul de des avem nevoie să realizăm o acțiune similară în multe locuri ale secvenței de instrucțiuni.
Destul de des avem nevoie să realizăm o acțiune similară în multe locuri ale script-ului.


We've already seen examples of built-in functions, like `alert(message)`, `prompt(message, default)` and `confirm(question)`. But we can create functions of our own as well.
Am văzut deja exemple de funcții încorporate, precum `alert(message)`, `prompt(message, default)` și `confirm(question)`. Dar putem crea și funcții proprii.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Am văzut deja exemple de funcții încorporate, precum `alert(message)`, `prompt(message, default)` și `confirm(question)`. Dar putem crea și funcții proprii.
Am văzut deja exemple de funcții încorporate, precum `alert(message)`, `prompt(message, default)` și `confirm(question)`. Dar putem crea și funcții proprii de asemenea.

@@ -470,32 +470,32 @@ function isPrime(n) {
}
```

The second variant is easier to understand, isn't it? Instead of the code piece we see a name of the action (`isPrime`). Sometimes people refer to such code as *self-describing*.
A doua variantă este mai ușor de înțeles, nu-i aşa? În loc de piesa de cod, vedem un nume al acțiunii (`isPrime`). Uneori, oamenii se referă la un astfel de cod ca la *auto-descriere*.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
A doua variantă este mai ușor de înțeles, nu-i aşa? În loc de piesa de cod, vedem un nume al acțiunii (`isPrime`). Uneori, oamenii se referă la un astfel de cod ca la *auto-descriere*.
A doua variantă este mai ușor de înțeles, nu-i aşa? În loc de piesa de cod, vedem un nume al acțiunii (`isPrime`). Uneori, oamenii se referă la un astfel de cod ca *auto-descriptiv*.


A function declaration looks like this:
O declarație de funcție arată astfel:

```js
function name(parameters, delimited, by, comma) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
function name(parameters, delimited, by, comma) {
function name(parametri, delimitați, de, virgulă) {

1-js/02-first-steps/15-function-basics/article.md Outdated Show resolved Hide resolved
- A function may access outer variables. But it works only from inside out. The code outside of the function doesn't see its local variables.
- A function can return a value. If it doesn't, then its result is `undefined`.
- Valorile transmise unei funcții ca parametri sunt copiate în variabilele locale.
- funcția poate accesa variabile exterioare. Dar funcționează numai din interior spre exterior. Codul din afara funcției nu vede variabilele locale.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- funcția poate accesa variabile exterioare. Dar funcționează numai din interior spre exterior. Codul din afara funcției nu vede variabilele locale.
- Funcția poate accesa variabile exterioare. Dar funcționează numai din interior spre exterior. Codul din afara funcției nu vede variabilele locale.


It is always easier to understand a function which gets parameters, works with them and returns a result than a function which gets no parameters, but modifies outer variables as a side-effect.
Este întotdeauna mai ușor de înțeles o funcție care primește parametri, lucrează cu ele și returnează un rezultat, decât o funcție care nu primește niciun parametru, dar modifică variabilele exterioare ca efect secundar.
Copy link
Contributor

Choose a reason for hiding this comment

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

ei se referă la parametri

Suggested change
Este întotdeauna mai ușor de înțeles o funcție care primește parametri, lucrează cu ele și returnează un rezultat, decât o funcție care nu primește niciun parametru, dar modifică variabilele exterioare ca efect secundar.
Este întotdeauna mai ușor de înțeles o funcție care primește parametri, lucrează cu ei și returnează un rezultat, decât o funcție care nu primește niciun parametru, dar modifică variabilele exterioare ca efect secundar.

@javascript-translate-bot

Please make the requested changes. After it, add a comment "/done".
Then I'll ask for a new review 👻

Copy link
Author

@marina-t-itf marina-t-itf left a comment

Choose a reason for hiding this comment

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

Done

Copy link
Contributor

@bogdanbacosca bogdanbacosca left a comment

Choose a reason for hiding this comment

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

Încă puține modificări minore.


```js run
function showMessage() {
*!*
let message = "Hello, I'm JavaScript!"; // local variable
let message = "Bună, sunt JavaScript!"; // variabilă locală
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
let message = "Bună, sunt JavaScript!"; // variabilă locală
let message = "Bună, sunt JavaScript!"; // variabilă locală

Spațiu în plus


If a function is called, but an argument is not provided, then the corresponding value becomes `undefined`.
Dacă o funcție este apelată, dar nu este oferit un argument, atunci valoarea corespunzătoare devine `nedefinită`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Dacă o funcție este apelată, dar nu este oferit un argument, atunci valoarea corespunzătoare devine `nedefinită`.
Dacă o funcție este apelată, dar nu este oferit un argument, atunci valoarea corespunzătoare devine `undefined`.

Undefined este un cuvânt rezervat

text = text || 'empty';
...
}
```

Modern JavaScript engines support the [nullish coalescing operator](info:nullish-coalescing-operator) `??`, it's better when most falsy values, such as `0`, should be considered "normal":
Motoarele JavaScript moderne susțin [nullish coalescing operator](info:nullish-coalescing-operator) `??`, este mai bine atunci când majoritatea valorilor false, cum ar fi `0`, ar trebui considerate „normale”:
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Motoarele JavaScript moderne susțin [nullish coalescing operator](info:nullish-coalescing-operator) `??`, este mai bine atunci când majoritatea valorilor false, cum ar fi `0`, ar trebui considerate „normale”:
Motoarele JavaScript moderne susțin [nullish coalescing operator](info:nullish-coalescing-operator) `??`, este mai bine atunci când majoritatea valorilor falsy, cum ar fi `0`, ar trebui considerate „normale”:

Falsy este un termen tehnic


```js run
function showCount(count) {
// if count is undefined or null, show "unknown"
// dacă numărul este nedefinit sau nul, afișază „necunoscut”
Copy link
Contributor

@bogdanbacosca bogdanbacosca Jan 25, 2023

Choose a reason for hiding this comment

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

Suggested change
// dacă numărul este nedefinit sau nul, afișază „necunoscut”
// dacă count este undefined sau null, afișază „necunoscut”

count este un parametru definit


````smart header="A function with an empty `return` or without it returns `undefined`"
If a function does not return a value, it is the same as if it returns `undefined`:
````smart header=" O funcție cu un 'return' gol sau fara o returnare este 'undefined'"
Copy link
Contributor

@bogdanbacosca bogdanbacosca Jan 25, 2023

Choose a reason for hiding this comment

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

Suggested change
````smart header=" O funcție cu un 'return' gol sau fara o returnare este 'undefined'"
````smart header="O funcție cu un `return` gol sau fără o returnare este `undefined`"

Formatare

```
````

````warn header="Never add a newline between `return` and the value"
For a long expression in `return`, it might be tempting to put it on a separate line, like this:
````warn header="Nu adăugați niciodată o linie nouă între `return` și o valoare"
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
````warn header="Nu adăugați niciodată o linie nouă între `return` și o valoare"
````warn header="Nu adăugați niciodată o linie nouă între `return` și valoare"


```js
return*!*;*/!*
(some + long + expression + or + whatever * f(a) + f(b))
```

So, it effectively becomes an empty return.
Deci, devine efectiv un `return` gol.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Deci, devine efectiv un `return` gol.
Deci, devine efectiv un return gol.

Textul original nu are formatare, dar poate fi adăugată printr-un PR separat în repozitoriul din limba engleză.

````

## Naming a function [#function-naming]
## Denumirea unei funcții [#function-naming]
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
## Denumirea unei funcții [#function-naming]
## Denumind o funcție [#function-naming]

sau

Suggested change
## Denumirea unei funcții [#function-naming]
## Numind o funcție [#function-naming]

```

With prefixes in place, a glance at a function name gives an understanding what kind of work it does and what kind of value it returns.
Copy link
Contributor

Choose a reason for hiding this comment

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

With prefixes in place, a glance at a function name gives an understanding of what kind of work it does and what kind of value it returns.

@javascript-translate-bot

Please make the requested changes. After it, add a comment "/done".
Then I'll ask for a new review 👻

@bogdanbacosca
Copy link
Contributor

@marina-t-itf Am rezolvat câteva merge conflicts, sunt câteva bucăți netraduse adăugate.

Copy link
Author

@marina-t-itf marina-t-itf left a comment

Choose a reason for hiding this comment

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

Done

@marina-t-itf
Copy link
Author

marina-t-itf commented Jan 25, 2023 via email

Copy link
Contributor

@bogdanbacosca bogdanbacosca left a comment

Choose a reason for hiding this comment

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

Sunt câteva comentarii care nu au fost adresate și bucăți netraduse (care au fost introduse cand am rezolvat acel merge conflict)
Am găsit și câteva ghilimele formatate greșit.

In both cases, `return confirm('Did parents allow you?')` executes exactly when the `if` condition is falsy.
Copy link
Contributor

Choose a reason for hiding this comment

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

Netradus

```

Now if the `text` parameter is not passed, it will get the value `"no text given"`.
Acum dacă parametrul `text` nu este trecut, va primi valoarea `"nu este dat niciun text"

The default value also jumps in if the parameter exists, but strictly equals `undefined`, like this:
Copy link
Contributor

Choose a reason for hiding this comment

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

Netradus

```

Now if the `text` parameter is not passed, it will get the value `"no text given"`.
Acum dacă parametrul `text` nu este trecut, va primi valoarea `"nu este dat niciun text"

The default value also jumps in if the parameter exists, but strictly equals `undefined`, like this:

```js
showMessage("Ann", undefined); // Ann: no text given
Copy link
Contributor

Choose a reason for hiding this comment

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

Netradus


On the other hand, it's independently called every time when `text` is missing.
Pe de altă parte, este apelat independent de fiecare dată când lipsește `text`.
```

````smart header="Default parameters in old JavaScript code"
Copy link
Contributor

Choose a reason for hiding this comment

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

Netradus

@@ -267,52 +267,52 @@ function showMessage(from, text) {

Sometimes it makes sense to assign default values for parameters at a later stage after the function declaration.
Copy link
Contributor

Choose a reason for hiding this comment

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

Netradus


```js
function showMessage(text) {
// if text is undefined or otherwise falsy, set it to 'empty'
// dacă textul este nedefinit sau fals, setați-l ca „gol”
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
// dacă textul este nedefinit sau fals, setați-l ca „gol”
// dacă textul este nedefinit sau fals, setați-l ca 'empty'

text = text || 'empty';
...
}
```

Modern JavaScript engines support the [nullish coalescing operator](info:nullish-coalescing-operator) `??`, it's better when most falsy values, such as `0`, should be considered "normal":
Motoarele JavaScript moderne susțin [nullish coalescing operator](info:nullish-coalescing-operator) `??`, este mai bine atunci când majoritatea valorilor false, cum ar fi `0`, ar trebui considerate „normale”:
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Motoarele JavaScript moderne susțin [nullish coalescing operator](info:nullish-coalescing-operator) `??`, este mai bine atunci când majoritatea valorilor false, cum ar fi `0`, ar trebui considerate normale:
Motoarele JavaScript moderne susțin [nullish coalescing operator](info:nullish-coalescing-operator) `??`, este mai bine atunci când majoritatea valorilor false, cum ar fi `0`, ar trebui considerate "normale":


```js run
function showCount(count) {
// if count is undefined or null, show "unknown"
// dacă numărul este nedefinit sau nul, afișază „necunoscut”
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
// dacă numărul este nedefinit sau nul, afișază necunoscut
// dacă numărul este nedefinit sau nul, afișază "necunoscut"


```js
return
(some + long + expression + or + whatever * f(a) + f(b))
```
That doesn't work, because JavaScript assumes a semicolon after `return`. That'll work the same as:
Asta nu funcționează, deoarece JavaScript presupune un punct și virgulă după `return`. Asta va funcționa la fel ca:

```js
return*!*;*/!*
(some + long + expression + or + whatever * f(a) + f(b))
Copy link
Contributor

Choose a reason for hiding this comment

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

Netradus

@javascript-translate-bot

Please make the requested changes. After it, add a comment "/done".
Then I'll ask for a new review 👻

Copy link
Contributor

@bogdanbacosca bogdanbacosca left a comment

Choose a reason for hiding this comment

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

Avem câteva bucăți netraduse, o linie în plus, am modifical fals cu falsy pentru că este un termen tehnic, am modificat în unele părți transmis în loc de trecut (pentru consistență).
Vezi toate comentariile pentru mai multe detalii.
Mulțumesc pentru PR 👍 😄
Încă putine modificări și este gata.

În ambele cazuri, `return confirmă('Ți-au permis părinții?')` se execută exact când condiția `if` este falsă.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
În ambele cazuri, `return confirmă('Ți-au permis părinții?')` se execută exact când condiția `if` este falsă.
În ambele cazuri, `return confirm('Ți-au permis părinții?')` se execută exact când condiția `if` este falsy.

falsy este un termen tehnic

}
}
```

Rewrite it, to perform the same, but without `if`, in a single line.
Rescrie-l, pentru a efectua la fel, dar fără `if`, într-o singură linie.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Rescrie-l, pentru a efectua la fel, dar fără `if`, într-o singură linie.
Rescrie-l, pentru a efectua același lucru, dar fără `if`, într-o singură linie.

@@ -1,7 +1,7 @@

# Apelarea asincronă din non-asincronă
# Call async from non-async
Copy link
Contributor

Choose a reason for hiding this comment

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

Versiunea în Engleză s-a suprapus peste traducere.
Trebuie ajustată toată sarcina.

```

The function has full access to the outer variable. It can modify it as well.
Funcția are acces complet la variabila exterioară. Il poate modifica si ea.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Funcția are acces complet la variabila exterioară. Il poate modifica si ea.
Funcția are acces deplin la variabila exterioară. O poate modifica de asemenea.

- `checkPermission` -- would be bad if it displays the `access granted/denied` message (should only perform the check and return the result).
- `getAge` -- ar fi rău dacă arată o `alert` cu vârsta (ar trebui doar să obțină).
- `createForm` -- ar fi rău dacă ar modifica documentul, adăugându-i o formă (ar trebui doar să-l creeze și să-l returneze).
- `checkPermission` -- ar fi rău dacă afișează mesajul „acces acordat/refuzat”. (ar trebui să efectueze doar verificarea și să returneze rezultatul).
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- `checkPermission` -- ar fi rău dacă afișează mesajul acces acordat/refuzat. (ar trebui să efectueze doar verificarea și să returneze rezultatul).
- `checkPermission` -- ar fi rău dacă afișează mesajul "acces acordat/refuzat". (ar trebui să efectueze doar verificarea și să returneze rezultatul).


For example, the [jQuery](https://jquery.com/) framework defines a function with `$`. The [Lodash](https://lodash.com/) library has its core function named `_`.
Ca de exemplu, framework-ul [jQuery](http://jquery.com) definește o funcție cu `$`. Librăria [Lodash](http://lodash.com/) are funcția sa de bază numită `_`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Ca de exemplu, framework-ul [jQuery](http://jquery.com) definește o funcție cu `$`. Librăria [Lodash](http://lodash.com/) are funcția sa de bază numită `_`.
Ca de exemplu, framework-ul [jQuery](https://jquery.com) definește o funcție cu `$`. Librăria [Lodash](https://lodash.com/) are funcția sa de bază numită `_`.


The first variant uses a label:
Prima variantă folosește o etichetă:

```js
function showPrimes(n) {
Copy link
Contributor

Choose a reason for hiding this comment

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

comentariul poate fi tradus

@@ -488,7 +489,7 @@ function showPrimes(n) {
}
```

The second variant uses an additional function `isPrime(n)` to test for primality:
A doua variantă folosește o funcție adițională `isPrime(n)` pentru a testa primalitatea:

```js
function showPrimes(n) {
Copy link
Contributor

Choose a reason for hiding this comment

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

și aici comentariul poate fi tradus

@@ -508,32 +509,32 @@ function isPrime(n) {
}
```

The second variant is easier to understand, isn't it? Instead of the code piece we see a name of the action (`isPrime`). Sometimes people refer to such code as *self-describing*.
A doua variantă este mai ușor de înțeles, nu-i aşa? În loc de piesa de cod, vedem un nume al acțiunii (`isPrime`). Uneori, oamenii se referă la un astfel de cod ca *auto-descriptiv*.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
A doua variantă este mai ușor de înțeles, nu-i aşa? În loc de piesa de cod, vedem un nume al acțiunii (`isPrime`). Uneori, oamenii se referă la un astfel de cod ca *auto-descriptiv*.
A doua variantă este mai ușor de înțeles, nu-i aşa? În loc de bucata de cod, vedem un nume al acțiunii (`isPrime`). Uneori, oamenii se referă la un astfel de cod ca *auto-descriptiv*.

@javascript-translate-bot

Please make the requested changes. After it, add a comment "/done".
Then I'll ask for a new review 👻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants