Redux – Romanian Translation part 8 (21%-25% 1083 words translated)

in #utopian-io7 years ago (edited)

This is a romanian translation of the Redux project. I am down to my eighth contribution.

The translation is working as good as it can. No problem with the text, as I have said in the previous translations it is exposed in a very plain way, making things easier. It is also worded in a very logical manner, with a very good formating. There were a few words that I thought would be best left in english like „patch”, „hack”, „root” and „lifecycle hooks”. These are all computer terms and the readers, probably programmers, would benefit from this translation.

I have translated 29% of the Redux project. (8811 words).

Project Details

Redux is a predictable state container for JavaScript apps.

It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. On top of that, it provides a great developer experience, such as live code editing combined with a time traveling debugger.

Redux evolves the ideas of Flux, but avoids its complexity by taking cues from Elm.
Whether you have used them or not, Redux only takes a few minutes to get started with.

As it’s own creator states:” My goal was to create a state management library with minimal API but completely predictable behavior, so it is possible to implement logging, hot reloading, time travel, universal apps, record and replay, without any buy-in from the developer.”

Links related to the translation

The link for the github page of the project can be found here, also the crowdin page of the Romanian language with my activity, can be found here.

Source Language

English

Translated Language

Romanian - 21073 words to be translated.

Number Of Words

8811

Number of words translated on this contribution: 1083

Proofread Words

0

Previous translation on the same project

Here is the link to the first part of the translation.
Here is the link to the second part of the translation.
Here is the link to the third part of the translation.
Here is the link to the fourth part of the translation.
Here is the link to the fifth part of the translation.
Here is the link to the sixth part of the translation.
Here is the link to the seventh part of the translation.

Number of words translated on the project before this report (if any): 7728

Bellow, I will provide a few screenshots that I took, while translating the Redux project:
2018-01-27 16_29_30-Redux translations_ collaborative internationalization and quality translation s.png
2018-01-27 17_32_20-Redux translations_ collaborative internationalization and quality translation s.png
2018-01-27 16_29_54-vellosid's Redux Translation Reports – Google Chrome.png
2018-01-27 17_32_12-vellosid's Redux Translation Reports – Google Chrome.png
2018-01-27 16_50_57-All Strings - Redux - Crowdin translation – Google Chrome.png
2018-01-27 17_31_43-All Strings - Redux - Crowdin translation – Google Chrome.png
2018-01-27 17_05_32-All Strings - Redux - Crowdin translation – Google Chrome.png

The total translation time for this part was about 1 hour :

You suggested 76 translations into Romanian
Translation File Language Time
În Redux, abonamentele sunt apelate după ce reductorul de root a returnat noua stare, astfel încât să poți expedia în ascultătorii abonați. Store.md Romanian 10:31 AM
Aceasta este un caz nefericit pentru că face imposibil să expediezi acțiuni din componenta lifecycle hooks sau alte locuri benigne. Store.md Romanian 10:29 AM
În Flux, un dispatch este interzis cât Stocurile se ocupă de acțiune și emit actualizări. Store.md Romanian 10:28 AM
Dacă încerci să apelezi dispatch din interiorul reductorului, va rezulta o eroare ce zice “Reductorii nu pot expedia acțiuni.“ Aceasta este similară cu “Nu poate expedia în mijlocului unui dispatch“ eroarea în flux, dar nu cauzează problemele asociate ei. Store.md Romanian 10:27 AM
Va fi returnată din getState() de acum încolo, și va ascultătorii schimbați vor fi notificați imediat. Store.md Romanian 10:24 AM
Valoarea returnată va fi considerată următoarea stare. Store.md Romanian 10:23 AM
Funcția reductoare a stocului va fi apelată cu rezultatul getState() curent și acțiunea dată sincron. Store.md Romanian 10:23 AM
Expediază o acțiune. Aceasta e singura cale de a declanșa o schimbare de stare. Store.md Romanian 10:22 AM
dispatch(action) Store.md Romanian 10:21 AM
(any): Copacul de stare curent al aplicației tale. Store.md Romanian 10:21 AM
Returnează Store.md Romanian 10:21 AM
Returnează copacul de stare curent al aplicației tale.
Este egal cu ultima valoare returnată de reductorul stocului. Store.md Romanian 10:20 AM
getState() Store.md Romanian 10:19 AM
replaceReducer(nextReducer) Store.md Romanian 10:19 AM
subscribe(listener) Store.md Romanian 10:19 AM
dispatch(Action) Store.md Romanian 10:19 AM
getState() Store.md Romanian 10:19 AM
Metode Stoc Store.md Romanian 10:19 AM
Aceasta este similar la cum există doar o singură componentă de root în aplicația React, dar este compusă din mai multe componente mai mici. Store.md Romanian 10:19 AM
Poți să folosești un ajutor ca combineReducers pentru a le combina. Store.md Romanian 10:17 AM
În loc, există un singur stoc cu un singur root de funcție reductoare. Pe măsură ce aplicația ta crește, în loc de a adăuga stocuri, împarți reductorul de root în reductori mai mici operând independent la părțile diferite ale copacului de stare. Store.md Romanian 10:17 AM
O notă pentru utilizatorii Flux Store.md Romanian 10:15 AM
Este doar un obiect cu câteva metode pe ea.
Pentru a o crea, pasează root-ul tău funcție reductoare la createStore Store.md Romanian 10:14 AM
Un stoc nu este o clasă. Store.md Romanian 10:13 AM
Un stoc reține întregul copac de stare al aplicației tale.
Singura cale de a schimba starea din interiorul său este să expediezi o acțiune la ea. Store.md Romanian 10:13 AM
var createStore = Redux.createStore; README.md Romanian 10:10 AM
Abordarea finală Middleware.md Romanian 10:10 AM
În loc de (store, middlewares) => store, semnătura sa este (...middlewares) => (createStore) => createStore Middleware.md Romanian 10:10 AM
Pentru a ne asigura că poți aplica middleware-ul o singură dată, aceasta operează la createStore() în loc de la store însuși. Middleware.md Romanian 10:09 AM
Aceasta este folositoare pentru middleware asincron, cum am văzut anterior Middleware.md Romanian 10:08 AM
Face un fel de truc pentru a se asigura ca dacă apelezi store.dispatch(action) din middleware-ul tău în loc de next(action), acțiunea va traversa tot lanțul middleware din nou, incluzând middleware-ul curent. Middleware.md Romanian 10:07 AM
Doar expune un subset a API-ului stocului la middleware: dispatch(action) și getState() Middleware.md Romanian 10:05 AM
Implementarea a applyMiddleware() ce este furnizat cu Redux este similat, dat diferă în trei aspecte importante: Middleware.md Romanian 10:04 AM
function applyMiddleware(store, middlewares) { middlewares = middlewares.slice() middlewares.reverse() let dispatch = store.dispatch middlewares.forEach(middleware => dispatch = middleware(store)(dispatch) ) return Object.assign({}, store, { dispatch }) } Middleware.md Romanian 10:03 AM
// Aceasta nu este API Redux. Middleware.md Romanian 10:03 AM
// Atenție: Implementare Naivă! Middleware.md Romanian 10:02 AM
În loc să applyMiddlewareByMonkeypatching(), am putea scrie applyMiddleware() ce obține primul finalul, total încercuind funcțiadispatch(), și returnează o copie a stocului folosind-o: Middleware.md Romanian 10:01 AM
Încercarea #6: Aplicând naiv Middleware-ul Middleware.md Romanian 10:00 AM
Este totuși folositor să ai acces la niște metode ale stocului ca getState(), deci store rămâne valabilă ca un argument de top. Middleware.md Romanian 10:00 AM
Acum middleware-ul ia funcția dispatch next(), și returnează o funcție dispatch, ce la rândul ei servește ca next() la următorul middleware din stânga, și așa mai departe. Middleware.md Romanian 09:58 AM
Acesta este exact cum un middleware Redux arată. Middleware.md Romanian 09:57 AM
const logger = store => next => action => { console.log('dispatching', action) let result = next(action) console.log('next state', store.getState()) return result } const crashReporter = store => next => action => { try { return next(action) } catch (err) { console.error('Caught an exception!', err) Raven.captureException(err, { extra: { action, state: store.getState() } }) throw err } } Middleware.md Romanian 09:56 AM
Funcțiile săgeată ES6 fac acest preparare mai ușoară pentru ochi: Middleware.md Romanian 09:56 AM
Cascada de funcții se simte intimidantă. Middleware.md Romanian 09:55 AM
Este un moment de tipul “trebuie să ne ducem mai adânc“, deci s-ar putea să ne ia o vreme ca asta să aibă sens. Middleware.md Romanian 09:54 AM
function logger(store) { return function wrapDispatchToAddLogging(next) { return function dispatchAndLog(action) { console.log('dispatching', action) let result = next(action) console.log('next state', store.getState()) return result } } } Middleware.md Romanian 09:53 AM
Dar există deasemenea o modalitate diferită să activezi înlănțuirea. Middleware-ul ar putea accepta next() funcție dispatch ca parametru în loc de citirea ei din instanța stocului. Middleware.md Romanian 09:52 AM
Apoi al doilea middleware va fi deasemenea legat de funcția dispatch originală. Middleware.md Romanian 09:50 AM
Dacă applyMiddlewareByMonkeypatching nu asignează store.dispatch imediat după procesarea primului middleware, store.dispatch va continua să indice către originala funcție dispatch. Middleware.md Romanian 09:49 AM
Este esențial să înlănțuiești middleware-urile! Middleware.md Romanian 09:47 AM
function logger(store) { // Trebuie să indice către funcția returnată de middlware-ul anterior: let next = store.dispatch return function dispatchAndLog(action) { console.log('dispatching', action) let result = next(action) console.log('next state', store.getState()) return result } } Middleware.md Romanian 09:47 AM
Desigur, pentru a putea să o apelăm ulterior, dar există și alt motiv: pentru ca fiecare middleware poate avea acces (și apela) funcția anterior încercuită store.dispatch: Middleware.md Romanian 09:45 AM
De ce suprascriem dispatch? Middleware.md Romanian 09:44 AM
Încercarea #5: Eliminarea Monkeypatching-ului Middleware.md Romanian 09:44 AM
Cu toate acestea, asta e tot monkeypatching.
Faptul că o ascundem în interiorul unei librării nu alterează acest fapt. Middleware.md Romanian 09:43 AM
applyMiddlewareByMonkeypatching(store, [ logger, crashReporter ]) Middleware.md Romanian 09:42 AM
Am putea să o folosim pentru a o aplica la middleware-uri multiple în felul acesta: Middleware.md Romanian 09:42 AM
middlewares.forEach(middleware => store.dispatch = middleware(store) ) } Middleware.md Romanian 09:41 AM
function applyMiddlewareByMonkeypatching(store, middlewares) { middlewares = middlewares.slice() middlewares.reverse() // Transformă funcția dispatch cu fiecare middleware. Middleware.md Romanian 09:41 AM
Am putea furniza un ajutor înăuntrul lui Redux ce ar aplica mokeypatching-ul actual ca un detaliu de implementare: Middleware.md Romanian 09:41 AM
function logger(store) { let next = store.dispatch // Anterior: // store.dispatch = function dispatchAndLog(action) { return function dispatchAndLog(action) { console.log('dispatching', action) let result = next(action) console.log('next state', store.getState()) return result } } Middleware.md Romanian 09:40 AM
Dacă ar fi returnat noua funcție dispatch în loc? Middleware.md Romanian 09:39 AM
Anterior, funcțiile noastre au înlocuit store.dispatch. Middleware.md Romanian 09:39 AM
Să ne dăm seama de esența sa în loc. Middleware.md Romanian 09:38 AM
“Înlocuiește orice metodă dorești“, ce fel de API este acesta? Middleware.md Romanian 09:38 AM
Monkeypatching e un hack. Middleware.md Romanian 09:37 AM
Încercarea #4: Ascunderea Monkeypatching-ului Middleware.md Romanian 09:37 AM
Totuși, asta nu e frumos. Middleware.md Romanian 09:36 AM
patchStoreToAddLogging(store) patchStoreToAddCrashReporting(store) Middleware.md Romanian 09:36 AM
Dacă aceste funcții sunt publicate ca module separate, le putem folosi mai târziu pentru a patch-ui stocul nostru: Middleware.md Romanian 09:36 AM
unction patchStoreToAddLogging(store) { let next = store.dispatch store.dispatch = function dispatchAndLog(action) { console.log('dispatching', action) let result = next(action) console.log('next state', store.getState()) return result } } function patchStoreToAddCrashReporting(store) { let next = store.dispatch store.dispatch = function dispatchAndReportErrors(action) { try { return next(action) } catch (err) { console.error('Caught an exception!', err) Raven.captureException(err, { extra: { action, state: store.getState() } }) throw err } } } Middleware.md Romanian 09:34 AM
Dacă logarea și raportarea crash-urilor sunt utilități separate, ele ar putea arăta în acest fel: Middleware.md Romanian 09:34 AM
(Sugestie: încet ajungem la ce este un middleware!) Middleware.md Romanian 09:33 AM
Altfel nu putem avea un ecosistem de astfel de utilități. Middleware.md Romanian 09:32 AM
Ideal, ne dorim să fie în module diferite, potențial în pachete diferite. Middleware.md Romanian 09:32 AM
Cu toate acestea, este important să continuăm să logăm și să reportăm crash-urile separat. Middleware.md Romanian 09:31 AM



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

Hey @vellosid I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • You are generating more rewards than average for this category. Super!;)
  • Seems like you contribute quite often. AMAZING!

Suggestions

  • Contribute more often to get higher and higher rewards. I wish to see you often!
  • Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!

Get Noticed!

  • Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x