Hello,
This is my 24th 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 37% 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 sixth 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: subprocess.disconnect(), subprocess.kill([signal]), subprocess.killed, subprocess.pid, and subprocess.send(message[, sendHandle[, options]][, callback]). 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 them:
The function subprocess.disconnect() closes the IPC channel between parent (process) and child, allowing the child to exit gracefully once there are no other connections keeping it alive.
What is the IPC channel?
IPC stands for “Interprocess communication”. It is a is a set of programming interfaces that allow programmers to coordinate activities among different program processes that can run concurrently in an operating system. It basically provides a mechanism to enable processes to communicate and to synchronize their actions without sharing the same address space.
The IPC channel provides two main operations: send and receive messages.
Here is part of the original text:
Here is my translation:
The function subprocess.kill([signal]) sends a signal to the child process and if no argument is given, the process will be sent the “SIGTERM” signal. Let’s remember that “SIGTERM” is a generic signal used to cause program termination which can be caught or ignored, unlike “SIGKILL” that will immediately kill the process.
Here is part of the original text:
Here is my translation:
The function subprocess.send(message[, sendHandle[, options]][, callback]) can be used to send messages to the child process when an IPC channel has been established between the parent and child. The options
argument, if present, is an object used to parameterize the sending of certain types of handles, and the optional callback
is a function that is invoked after the message is sent but before the child may have received it.
Here is part of the original text:
Here is my translation:
During this contribution I also learned that PID stands for “product identifier”. It is a unique number that identifies each of the running processes in an operating system, such as Linux, Unix, macOS, and Microsoft Windows.
On this next picture you can see a few of the processes running in Windows and their associated PIDs.
These were the sites I used as references: 1, 2, 3, 4
Other translation samples:
English:
Once the server is now shared between the parent and child, some connections can be handled by the parent and some by the child.
Spanish:
Una vez el servidor sea compartido entre el proceso primario y el secundario, algunas conexiones pueden ser manejadas por el proceso primario y otras por el secundario.
English:
If no callback
function is provided and the message cannot be sent, an 'error'
event will be emitted by the [ChildProcess][]
object. This can happen, for instance, when the child process has already exited.
Spanish:
Si no se proporciona ninguna función callback
y el mensaje no puede ser enviado, un evento 'error'
será emitido por el objeto [ChildProcess][]
. Esto puede pasar, por ejemplo, cuando el proceso secundario ya se haya cerrado.
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 1166 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
- 23rd contribution
Greetings, @marugy99. Thanks for submitting your contribution!
Congratulations 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
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thank you for your review, @alejohannes! Keep up the good work!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
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!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @marugy99! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word
STOP
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit