Node.js Translation to Spanish - 1071 words (Part 28)
This is the 28th Node.js translation report and it is about the 9th version of the change log file. I started this project two months ago with a lot of motivation because contributing in open source projects is a way to make those project's scopes bigger. My way to contribute is translating Node.js into Spanish, and I must say that it is not only me, there is an entire team working on it and this team is supported by Utopian+DaVinci alliance.
Node.js is a huge project, it consists of more than a million words. The Spanish team has been working hard to complete it. I know that the team has a big compromise and will keep the hard work until the end of this excellent project. Let me invite you to keep reading this report, so you can learn more about Node.js
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 lets developers use JavaScript to write Command Line tools and for server-side scripting to produce dynamic web page content before the page is sent to the user's web browser. Consequently, Node.js represents a "JavaScript everywhere" paradigm,[6] unifying web application development around a single programming language, rather than different languages for server side and client side scripts.
It looks difficult to understand at first, but let me explain it with the next example.
Imagine that you have been developing a new android app that uses the APIs from Google Maps and Twitter. When testing the app, you realize that both APIs are written in different languages and you must change one of them to make it work, but that's a lot of work and goes against the reasons to use an API. Node.js is the solution to problems like this because it allows the union between different programming languages without affecting its performance.
I decided to translate this project because I'm an engineering student and innovation is my passion; I love creating solutions to problems like this. Also, I like sharing information and a way to do it is translating the content of a big project like this so people around the world can access to it and share it too.
Contribution Specifications
- Translation Overview
I continued with the 9th version of Node.js change log file, but with a specific version, the 9.3.0. This version was porpoised on November 12th of 2017 and has notable changes at hooks, console, deps, module, n-api, process, src, stream and collaborators list; those are different important parts of Node.js that have been improved among the years, as you can see in my previous change log file reports. Some of these changes are simple and other are more complicated, but all of them have the same importance.
During my research of the concepts used in this file, one of them called my attention and it was async-hooks. This term is mentioned a lot of times, which means that is very important, but there is no explanation, so I took a look at Node.js website and found a detailed explanation. The next paragraphs have a summary of what I learned reading about it.
The async_hooks is a module that provides an API to register callbacks tracking the lifetime of asynchronous resources created inside a Node.js application; it means that is a register that allows the program to follow the entire process of these mentioned resources. An asynchronous resource is an object with an associated callback. Tracing asynchronous resources is necessary because they have an unpredictable behavior for the app. I must say that the correct functioning of a Node.js app depends on the order of the functions execution, and with asynchronous objects it is difficult to know when will start another function because the nature of these resources.
As async-hooks is a Node.js module, it has an error handling method. The following explanation is extracted from Node.js official website.
If any AsyncHook callbacks throw, the application will print the stack trace and exit. The exit path does follow that of an uncaught exception, but all 'uncaughtException' listeners are removed, thus forcing the process to exit. The 'exit' callbacks will still be called unless the application is run with --abort-on-uncaught-exception, in which case a stack trace will be printed and the application exits, leaving a core file.
The reason for this error handling behavior is that these callbacks are running at potentially volatile points in an object's lifetime, for example during class construction and destruction. Because of this, it is deemed necessary to bring down the process quickly in order to prevent an unintentional abort in the future. This is subject to change in the future if a comprehensive analysis is performed to ensure an exception can follow the normal control flow without unintentional side effects.
- Languages
The original language of this change log is English and it was translated into Spanish, which is my native language. I have experience translating in projects like Loopring wallet and Yapbam. These projects make me grow and learn a lot about open source projects.
Some examples of my translation:
English
add trace events to async_hooks (Andreas Madsen) <0>#15538</0>
Spanish
agregar eventos de seguimiento a async_hooks (Andreas Madsen) <0>#15538</0>
English
[<0>5514330406</0>] - <1>tls</1>: use correct class name in deprecation message (Anna Henningsen) <2>#17561</2>
Spanish
[<0>5514330406</0>] - <1>tls</1>: utilizar nombre de clase correcto en mensaje de desaprobación (Anna Henningsen) <2>#17561</2>
English
writable.writableHighWaterMark and readable.readableHighWaterMark will return the values the stream object was instantiated with (Calvin Metcalf) <0>#12860</0>
Spanish
writable.writableHighWaterMark y readable.readableHighWaterMark devolverán los valores con los que fue instanciado el objeto stream (Calvin Metcalf) <0>#12860</0>
English
[<0>035a24e619</0>] - <1>build</1>: enforce order of dependency when building addons (Joyee Cheung) <2>#17048</2>
Spanish
[<0>035a24e619</0>] - <1>build</1>: imponer orden de dependencia al compilar complementos (Joyee Cheung) <2>#17048</2>
- Word Count
This contribution consist on 1071 translated words
Proof of Authorship
You can visit my profile (navx) on Crowdin's website to find proof of authorship. Also, you can visit the Activity tab in the Node.js project and filter my contributions between November 10th and November 11th, which were the dates of the translation and the corrections respectively.
The next link, redirect to my crowdin profile:
https://crowdin.com/profile/navx
Hi @navx,
Congratulations on your 28th contribution to Node.js.
This is a very interesting project that contains many code values and terms related to computer science. Its difficulty relies on the fact that we must pay a lot of attention to the code in order to deliver the most accurate translation possible.
Your presentation post follows all the general guidelines, includes all the basic details, as well as useful examples.
Thank you for sharing a little bit of your experience and the things you learned while working on this contribution.
You did a very good job with your translation. You used the correct vocabulary and you were careful with code values that should not be translated in order to make sure the text keeps its true meaning.
I really appreciate the effort you're doing and I'm glad to see you have improved a lot in the past couple of weeks. 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, @marugy99! Keep up the good work!
Hi @navx!
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
Congratulations @navx! You have received a personal award!
1 Year on Steemit
Click on the badge to view your Board of Honor.
Do not miss the last post from @steemitboard:
Hey, @navx!
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!