Spanish Translation of Node.js (Part 20) (1109 words)

in utopian-io •  6 years ago 

node.js maru 8.png

Logo source

Hello,

This is my 20th contribution to Node.js. I’m currently translating this project into Spanish, along with an awesome group of translators and moderators from Utopian + Da Vinci, we are doing our best to do everything correctly. If you are interested in open-source projects, I encourage you to keep reading.

Node.js is a very extensive project, it may seem impossible to translate it completely, but the Spanish team is working really and we are slowly making progress. It’s currently at 32% on Crowdin:

Repository

https://github.com/nodejs/i18n

Project Details

Node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code outside of a browser. It achieves low latency and high throughput by taking a “non-blocking” approach to serving requests. Basically, Node.js can open, create, read, write, close and delete files on a server, using JavaScript. It also includes tasks that will be executed on certain servers.

Source

I know it can be a bit confusing at first, so let me explain it to you in simpler words:

Let’s say you want to build a software to keep record of your company’s earnings. A feature where viewing your monthly earnings is updated live can be very useful. In that way, if one of your sales employees is busy, another employee could still be seeing the updates live, without reloading the page.

This has been done before using another technologies. However, Node.js is way faster and better. So, yes it is the best option for developers who want to build real-time applications where both the server and the client can exchange data freely with no restrictions.

Node.js official webpage

main-qimg-b07ce87264a4c3891182582dadb1eadd.png

Source

Contribution Specifications

Being such an important project, Node.js is being translated to several languages so it can reach many people around the world. As it for me, I am contributing to the Spanish language.

Translation Overview

During this contribution I finally finished the folder buffer.md on v6. The Spanish team started to translate files of the v10, now we’re progressively moving to the version 6. Since I’m not a guru in computer science I had to read a lot before I could feel confident enough to translate the content of this folder, which is something you must regularly do while translating Node.js since it has many specific terms related to computer science.

buffer.md talks about the Buffer class and all of its functions inside Node.js. This time I translated the methods: buf.writeUInt8(value, offset[, noAssert]), buf.writeUInt16BE(value, offset[, noAssert]), buf.writeUInt32BE(value, offset[, noAssert]), buf.writeUIntBE(value, offset, byteLength[, noAssert]), buffer.INSPECT_MAX_BYTES, and buffer.kMaxLength. As well as the class SlowBuffer and its method new SlowBuffer(size).

In my previous contribution I explained how streams are basically a sequence of data (normally bytes) being moved from one point to another over time. Binary data is the only type of data that can be executed by a computer and it’s represented in combinations of ones and zeros. And a Buffer is a portion of the memory that stores a stream that's then collected and stored in variables inside the same Buffer.

So the Buffer class is basically a “waiting area” for information! When Node.js receives data that’s not ready to be processed yet it will send it to the Buffer and store it there until it’s ready.

I must say it feels very good to finish translating a Node.js folder, so I believe this deserves a celebration:

gif-friends-01.gif

Source

This time the SlowBuffer class caught my attention so I did my research and this is what I understood:

Please take into account that this class is currently deprecated.

Basically, Node.js provides two types of Buffer objects. While the object Buffer is a JavaScript native structure, SlowBuffer is implemented by a C++ module, therefore it costs extra CPU time to be executed (you can guess now why the class is called “slow”). This happens because it’s using C++ modules from the JavaScript environment.

SlowBuffers are separate chunks of memory, each with separate calls, and the object Buffer is a way of saving those calls.

I had to read many forums about this same subject. I tried to compile the information the best I could. In case you’re interested in reading programmers arguing, these some of the websites I visited:

1, 2, 3

Here is the original paragraph inside Node’s documentation:

ah.PNG

And here is my translation:

ah2.PNG


After I finished the buffer folder I started to work on another one called “child_process”, also inside the version 6. This module has several purposes: it allows the user to access the Operating System functionalities by running any system command, as well as controlling the arguments to be passed to the underlying OS command.

The module child_process has three ways to create a child process: [child_process.spawn()][], [child_process.fork()][], [child_process.exec()]. They all return a ChildProcess instance and they implement the Node.js [EventEmitter][] API, allowing the parent process to register listener functions that are called.

Since I only translated a small part of this folder this time I don’t want to go too deep because I will do it on my next contribution.

Here is the original paragraph:

ah3.PNG

And this is my translation:

ah4.PNG


Other translation samples:

English:

In many cases, however, the synchronous methods can have significant impact on performance due to stalling the event loop while spawned processes complete.

Spanish:

Sin embargo, en muchos casos, los métodos sincrónicos pueden tener un impacto significativo en el rendimiento debido al bloqueo del bucle de eventos mientras se completan los procesos generados.

English:

For convenience, the child_process module provides a handful of synchronous and asynchronous alternatives to [child_process.spawn()][] and [child_process.spawnSync()][].

Spanish:

Por conveniencia, el módulo child_process proporciona un puñado de alternativas sincrónicas y asincrónicas para [child_process.spawn()][] y [child_process.spawnSync()][].

Languages

  • Source Language: English

  • Translated Language: Spanish

I have worked as a translator for the project Da Vinci Polyglot and I am currently working as a language moderator for the Utopian + Da Vinci translation category.

And of course, I am part of the Spanish team!

Word Count

I translated 1109 words on this contribution.

Proof of Authorship

server-nodejs.png

Source

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Greetings, @marugy99. Thanks for submitting your contribution!

  • The presentation and contents of your post are very good! It satisfies the requirements for a complete evaluation of your contribution.
  • The translated content fits coherently the general meaning and use of the strings enlisted.
  • You did a very precise use of the terminology of the project.
  • Thanks for explaining the contents of the folder you translated and adding several examples of your job. Congratulations of finishing that folder, I celebrate with you! :)
  • Your description of the way the addressed strings work was really clear and complete.
  • Great formatting and customization of your post.

Applauses on this contribution!

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Chat with us on Discord

Thank you for your review, @alejohannes! Keep up the good work!

Hi @marugy99!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Hey, @marugy99!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!