Spanish Translation of Node.js (Part 22) (1091 words)
Hello,
This is my 22nd 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 35% 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.
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.
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
This time I continued working on “child_process” inside the version 6 and this is my third contribution to this folder.
As I mentioned on my previous post:
Basically, there are some operating systems that need to execute multiple tasks at the same time, so they have to create multiple process in order to work properly, because one process in one CPU is not going to be enough to handle the increasing workload of an application.
A parent process can create many child processes and if a process does not have a parent, it is assumed to be created directly by the kernel, which is a computer program that has control over everything in the system, so it’s like the heart of the OS.
The child_process module in Node.js 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. It also enable us to control the input stream of an specified child process and listen to its output stream.
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.
This time, I translated the method: child_process.spawn(command[, args][, options]), and the options: options.detached and options.stdio. Each one contains a set of paragraphs that explain their functionalities. One thing I noticed was that depending on the software (Windows, UNIX, Linux, Mac), they can work differently so the definition changed.
The method [child_process.spawn()][] spawns an external application in a new process and returns a streaming interface for I/O. Since it returns a stream based object it’s actually really great for handling applications that produce large amounts of data.
This is the original paragraph:
And this is my translation:
Next, I translated options.detached and depending on the platform it has different functionalities:
If it’s implemented on Windows, by setting this option to true
makes it possible for the child process to continue running after the parent exits. Therefore, the child will have its own console window.
On the other hand, if it’s implemented on non-Windows platforms, by setting this option to true
the child process will be made the leader of a new process group and session and those child processes may continue running after the parent exits regardless of whether they are detached or not.
Here is a part of the original paragraph:
And this is my translation:
Lastly, I translated options.stdio, which is used to configure the pipes that are established between the parent and child process. Let’s take a look at this short part of the original paragraph:
This paragraph contains 4 words that are mentioned several times throughout the folder. I’ll explain them:
fds: It stands for “file descriptor” and it is a number that uniquely identifies an open file in an operating system. It describes a data resource, and how that resource may be accessed. So basically when program requests to open a file the kernel of the operating system grants access, makes an entry in the global file table, and provides the software with the location of that entry. It is identified by a unique non-negative integer.
stdin: It stands for “Standard input” and it refers to the file handle that the process reads to get information from you.
stdout: It stands for “Standard output” and it is the stream where a program writes its output data. In simple words: the process writes normal information to this file handle.
stderr: It stands for “Standard error”. It used by programs to output error messages or diagnostics, therefore the process will write error information to this file handle.
Here is my translation of the paragraph:
Since fds, stdin, stdout and stderr are widely known abbreviations they were not translated to Spanish, otherwise it would have caused a misunderstandment.
Because I’m only an amateur when it comes to computer science stuff I had to read a lot before I could feel confident enough to translate this folder and I also tried my best to compile the information in a way that anyone would understand :)
These were the sites I used as references: 1, 2, 3
Other translation samples:
English:
Example of a long-running process, by detaching and also ignoring its parent stdio
file descriptors, in order to ignore the parent's termination.
Spanish:
Ejemplo de un proceso de larga duración, al separar y también ignorar los descriptores de archivo stdio
de su proceso primario, para ignorar la terminación del proceso primario.
English:
When using the detached
option to start a long-running process, the process will not stay running in the background after the parent exits unless it is provided with a stdio configuration that is not connected to the parent.
Spanish:
Al utilizar la opción detached
para iniciar un proceso de larga duración, el proceso no se mantendrá corriendo en segundo plano después de que el proceso primario se cierre, a menos que sea provisto con una configuración stdio que no esté conectada al proceso primario.
Some words and code values were left untranslated on purpose, otherwise, their true meaning would be lost in the translation.
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 1091 words on this contribution.
- 1st contribution
- 2nd contribution
- 3rd contribution
- 4th contribution
- 5th contribution
- 6th contribution
- 7th contribution
- 8th contribution
- 9th contribution
- 10th contribution
- 11th contribution
- 12th contribution
- 13th contribution
- 14th contribution
- 15th contribution
- 16th contribution
- 17th contribution
- 18th contribution
- 19th contribution
- 20th contribution
- 21st contribution
Greetings, @marugy99. Thanks for submitting your contribution!
Congratulations on this contribution. Keep up the good work!
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!