Redux – Romanian Translation part 7 (21%-25% 1103 words translated)

in #utopian-io7 years ago (edited)

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

The translation is going smoother and smoother. It is writen in a very direct manner and it facilitates the job of the translator. The text is also worded very logically, you can see that it was written by a programmer. There were a few words that I decided it would be best left in english like „framework”, „CORS”, „third-party” and „routing”. These words, beside being programming related, sound really confusing translated into romanian, besides „CORS” which I believe doesn’t have a Romanian counterpart.

I have translated 25% of the Redux project. (7728 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 - 22156 words to be translated.

Number Of Words

7728

Number of words translated on this contribution: 1103

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.

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

Bellow, I will provide a few screenshots that I took, while translating the Redux project:
2018-01-26 15_31_51-Redux translations_ collaborative internationalization and quality translation s.png
2018-01-26 16_18_24-Redux translations_ collaborative internationalization and quality translation s.png
2018-01-26 15_32_17-vellosid's Redux Translation Reports – Google Chrome.png
2018-01-26 16_18_14-vellosid's Redux Translation Reports – Google Chrome.png
2018-01-26 16_17_52-All Strings - Redux - Crowdin translation – Google Chrome.png
2018-01-26 16_18_51-Redux Project Activity Stream – Google Chrome.png
2018-01-26 16_08_56-All Strings - Redux - Crowdin translation – Google Chrome.png
2018-01-26 15_34_52-All Strings - Redux - Crowdin translation – Google Chrome.png

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

You suggested 56 translations into Romanian
Translation File Language Time
let createStoreWithMiddleware = applyMiddleware(logger, crashReporter)(createStore) // Utilizeaz-o ca și cum ai utiliza createStore() let todoApp = combineReducers(reducers) let store = createStoreWithMiddleware(todoApp) Middleware.md Romanian 09:17 AM
import { createStore, combineReducers, applyMiddleware } from 'redux' // applyMiddleware ia createStore() și returneză // o funcție cu un API compatibil. Middleware.md Romanian 09:17 AM
Uite cum o aplici pentru un stoc Redux: Middleware.md Romanian 09:16 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:15 AM
Având în vedere middleware-ul pe care tocmai l-am scris: Middleware.md Romanian 09:15 AM
Poți să o utilizezi apoi peste tot în loc de store.dispatch(): Middleware.md Romanian 09:14 AM
function dispatchAndLog(store, action) { console.log('dispatching', action) store.dispatch(action) console.log('next state', store.getState()) } Middleware.md Romanian 09:14 AM
Poți să extragi logarea într-o funcție: Middleware.md Romanian 09:14 AM
Încercare #2: Încercuirea Dispatch-ului Middleware.md Romanian 09:13 AM
Asta produce efectul dorit, dar nu ai vrea să faci asta de fiecare dată. Middleware.md Romanian 09:08 AM
let action = addTodo('Use Redux') console.log('dispatching', action) store.dispatch(action) console.log('next state', store.getState()) Middleware.md Romanian 09:08 AM
Pentru a loga acțiunea și starea, poți să o schimbi în ceva de genul: Middleware.md Romanian 09:08 AM
store.dispatch(addTodo('Use Redux')) Middleware.md Romanian 09:07 AM
Să zicem, apelezi aceasta când creezi un todo: Middleware.md Romanian 09:07 AM
Pentru următoarele câteva paragrafe, doar presupune ca pasezi stocul în mod explicit. Middleware.md Romanian 09:07 AM
Dacă folosești react-redux sau legături similare, cel mai probabil nu vei avea acces direct la instanța stocului în componentele tale. Middleware.md Romanian 09:06 AM
Notă Middleware.md Romanian 09:05 AM
Nu e chiar o soluție, ci doar un pas în față pentru înțelegerea problemei. Middleware.md Romanian 09:05 AM
Cea mai naivă soluție este doar să loghezi acțiunea și următoarea stare chiar tu de fiecare dată când faci un apel store.dispatch(action). Middleware.md Romanian 09:04 AM
Încercarea #1: Logare Manuală Middleware.md Romanian 09:02 AM
Cum abordăm asta cu Redux? Middleware.md Romanian 09:02 AM
Când se întâmplă ceva greșit, putem să ne uităm la logul nostru, și să ne dăm seama ce acțiune a corupt starea. Middleware.md Romanian 09:02 AM
Nu ar fi drăguț dacă am loga fiecare acțiune ce se întâmplă în aplicație, împreună cu starea calculată după ea? Middleware.md Romanian 09:01 AM
Stare nu se poate schimba de una singură, se poate schimba doar ca și consecință a unei acțiuni specifice. Middleware.md Romanian 08:59 AM
De fiecare dată când o acțiune este expediată, o nouă stare este calculată și salvată. Middleware.md Romanian 08:59 AM
Unul din beneficiile Redux este că face schimbările de stare previzibile și transparente. Middleware.md Romanian 08:58 AM
Problemă: Logarea Middleware.md Romanian 08:57 AM
Te vom ghida prin procesul mental ce duce la middleware, prin utilizarea logării și a raportării crash-urilor ca exemple. Middleware.md Romanian 08:57 AM
În timp ce middleware-ul poate fi folosit pentru o varietate de lucruri, incluzând apeluri API asincron, este important să înțelegi de unde vine. Middleware.md Romanian 08:56 AM
Înțelegând Middleware Middleware.md Romanian 08:55 AM
Poți găsi folositor să schimbi înainte și înapoi între ele, cum te schimbi între a fi plictisit sau inspirat. Middleware.md Romanian 08:55 AM
Acest articol este împărțit între o introducere în detaliu pentru a te ajuta să înțelegi conceptul, și câteva exemple practice pentru a arăta puterea middleware-ului la final. Middleware.md Romanian 08:54 AM
Furnizează un punct de extensie third-party între expedierea unei acțiuni, și momentul în care ajunge la reductor. Oamenii utilizează middleware-ul Redux pentru logare, raportarea crash-urilor, dialogarea cu un API asincron, routing, și mai multe. Middleware.md Romanian 08:52 AM
Poți să folosești multiple middleware-uri independente de la un third-party într-un singur proiect. Middleware.md Romanian 08:49 AM
Middleware-ul Redux rezolvă probleme diferite de middleware-le Express sau Koa, dar conceptul într-o manieră similară. Middleware.md Romanian 08:48 AM
Poți să folosești multiple middleware-uri independente de la o a treia parte într-un singur proiect. Middleware.md Romanian 08:46 AM
Cea mai bună caracteristică a middleware-ului este că poate fi compus în lanț. Middleware.md Romanian 08:45 AM
De exemplu, middleware-le Express sau Koa pot adăuga header-e CORS, logare, compresie, și mai multe. Middleware.md Romanian 08:45 AM
În aceste frameworks, middleware-ul este niște cod pe care poți să îl pui între framework-ul ce primește un request, și framework-ul ce generează un răspuns. Middleware.md Romanian 08:43 AM
Dacă ai folosit librării pe partea serverului cum ar fi Express și Koa, erai probabil deja familiarizat cu conceptul de middleware. Middleware.md Romanian 08:41 AM
Ai văzut middleware-ul în acțiune în exemplu Acțiuni Async. Middleware.md Romanian 08:39 AM
import React, { PropTypes, Component } from 'react' export default class Posts extends Component { render() { return ( <ul> {this.props.posts.map((post, i) => <li key={i}>{post.title}</li> )} </ul> ) } } Posts.propTypes = { posts: PropTypes.arrayOf(PropTypes.shape({ title: PropTypes.string.isRequired }).isRequired).isRequired } ExampleRedditAPI.md Romanian 08:39 AM
components/Posts.js ExampleRedditAPI.md Romanian 08:38 AM
import React, { Component, PropTypes } from 'react' export default class Picker extends Component { render() { const { value, onChange, options } = this.props return ( <span> <h1>{value}</h1> <select onChange={e => onChange(e.target.value)} value={value}> {options.map(option => <option value={option} key={option}> {option} </option>) } </select> </span> ) } } Picker.propTypes = { options: PropTypes.arrayOf( PropTypes.string.isRequired ).isRequired, value: PropTypes.string.isRequired, onChange: PropTy... ExampleRedditAPI.md Romanian 08:38 AM
components/Picker.js ExampleRedditAPI.md Romanian 08:38 AM
Componente Prezentaționale ExampleRedditAPI.md Romanian 08:37 AM
0.5 : 1 }}> <Posts posts={posts} /> </div> } </div> ) } } AsyncApp.propTypes = { selectedReddit: PropTypes.string.isRequired, posts: PropTypes.array.isRequired, isFetching: PropTypes.bool.isRequired, lastUpdated: PropTypes.number, dispatch: PropTypes.func.isRequired } function mapStateToProps(state) { const { selectedReddit, postsByReddit } = state const { isFetching, lastUpdated, items: posts } = postsByReddit[selectedReddit] || { isFetching: true, items: [] } return { selectedReddit, posts, isFetching, lastUpdated } } export default connect(mapStateToProps)(AsyncApp) ExampleRedditAPI.md Romanian 08:35 AM
{' '} </span> } {!isFetching && <a href='#' onClick={this.handleRefreshClick}> Refresh </a> } </p> {isFetching && posts.length === 0 && <h2>Loading...</h2> } {!isFetching && posts.length === 0 && <h2>Empty.</h2> } {posts.length > 0 && <div style={{ opacity: isFetching ? ExampleRedditAPI.md Romanian 08:35 AM
import React, { Component, PropTypes } from 'react' import { connect } from 'react-redux' import { selectReddit, fetchPostsIfNeeded, invalidateReddit } from '../actions' import Picker from '../components/Picker' import Posts from '../components/Posts' class AsyncApp extends Component { constructor(props) { super(props) this.handleChange = this.handleChange.bind(this) this.handleRefreshClick = this.handleRefreshClick.bind(this) } componentDidMount() { const { dispatch, selectedReddit } = this.props dispatch(fetchPostsIfNeeded(selectedReddit)) } componentWillReceiveProps(nextProps) { if (nextProps.selectedReddit !== this.props.selectedReddit) { const ... ExampleRedditAPI.md Romanian 08:35 AM
containers/AsyncApp.js ExampleRedditAPI.md Romanian 08:34 AM
import React, { Component } from 'react' import { Provider } from 'react-redux' import configureStore from '../configureStore' import AsyncApp from './AsyncApp' const store = configureStore() export default class Root extends Component { render() { return ( <Provider store={store}> <AsyncApp /> </Provider> ) } } ExampleRedditAPI.md Romanian 08:34 AM
containers/Root.js ExampleRedditAPI.md Romanian 08:34 AM
Componente Container ExampleRedditAPI.md Romanian 08:34 AM
import { createStore, applyMiddleware } from 'redux' import thunkMiddleware from 'redux-thunk' import createLogger from 'redux-logger' import rootReducer from './reducers' const loggerMiddleware = createLogger() const createStoreWithMiddleware = applyMiddleware( thunkMiddleware, loggerMiddleware )(createStore) export default function configureStore(initialState) { return createStoreWithMiddleware(rootReducer, initialState) } ExampleRedditAPI.md Romanian 08:34 AM
configureStore.js ExampleRedditAPI.md Romanian 08:34 AM
import { combineReducers } from 'redux' import { SELECT_REDDIT, INVALIDATE_REDDIT, REQUEST_POSTS, RECEIVE_POSTS } from './actions' function selectedReddit(state = 'reactjs', action) { switch (action.type) { case SELECT_REDDIT: return action.reddit default: return state } } function posts(state = { isFetching: false, didInvalidate: false, items: [] }, action) { switch (action.type) { case INVALIDATE_REDDIT: return Object.assign({}, state, { didInvalidate: true }) case REQUEST_POSTS: return Object.assign({}, state, { isFetching: true, didInvalidate: false }) case RECEIVE_POSTS: return Object... ExampleRedditAPI.md Romanian 08:33 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!
  • 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

Coin Marketplace

STEEM 0.16
TRX 0.13
JST 0.027
BTC 60535.76
ETH 2598.15
USDT 1.00
SBD 2.54