Hello,
This is my 23rd 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 36% 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 fourth 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 functions: child_process.execFileSync(file[, args][, options]), child_process.execSync(command[, options]), and child_process.spawnSync(command[, args][, options]). The ChildProcess class, as well as the events 'close', 'disconnect', 'error', 'exit', and 'message'. 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.
I’ll explain some of the sections.
According to Node’s documentation:
This method is generally identical to [child_process.exec()][] with the exception that it will not return until the child process has fully closed. When a timeout has been encountered and
killSignal
is sent, the method won't return until the process has completely exited.
Basically, signals are asynchronous notifications sent to a process or to a specific thread within the same process in order to notify it of an event that occurred.
On that paragraph killSignal caught my attention, as a matter of fact, the words “kill” and “terminate” are used several times throughout this folder, you may think they mean the same, but they actually have different meanings in this context:
Kill: It’s more like pressing PC power and reset button. It wont save any logs or other data.
Terminate: It will store all your data before shutting down.
Therefore, the SIGKILL signal is sent to a process to cause it to terminate immediately, meanwhile, SIGTERM is sent to a process to request its termination, so this means it can be caught and interpreted or ignored by the process.
This is a very useful example:
When you shutdown or reboot your computer for example, usually a SIGTERM is sent to the running processes first allowing them to exit in a clean way if they support it. Then, after a few seconds a SIGKILL is sent to the processes which are still running so that resources in use are forcibly released.
My translation:
This event is emitted after the child process ends. If the process exited, code is the final exit code of the process, otherwise it will be null.
My translation:
This one is triggered when a child process uses [process.send()][]
to send messages.
My translation:
Another word that’s mentioned several times is “pipe”, which is a temporary software connection between two programs or commands. The information that is passed through the pipe is held by the system until it can be read by the receiving process.
These were the sites I used as references: 1, 2, 3, 4
Other translation samples:
Also, note that Node.js establishes signal handlers for SIGINT
and SIGTERM
and Node.js processes will not terminate immediately due to receipt of those signals.
Spanish:
También tenga en cuenta que Node.js establece manejadores de señal para SIGINT
y SIGTERM
y que los procesos de Node.js no terminarán inmediatamente debido a la recepción de esas señales.
English:
Note that when the 'exit'
event is triggered, child process stdio streams might still be open.
Spanish:
Tenga en cuenta que cuando el evento 'exit'
es activado, los streams stdio del proceso secundario pueden todavía seguir abiertos.
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 1042 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
- 22nd contribution
Greetings, @marugy99. Thanks for submitting your contribution!
Congratulations on this contribution!
Your contribution has been evaluated according to [Utopian policies and guidelines](https://join.utopian.io/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!
@hobo.media upvoted you for $0.01 and resteemed your post, because I'm wicked cool like that. If you want future random upvotes/resteems just follow.
Upvoted and resteemed by @hobo.media. Join the exciting new upvote subscription service.
Check out info here:
Profit from the Hobo Delegation Group!
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!