Spanish Translation of Node.js (Part 28) (1225 words)

in #utopian-io4 years ago (edited)


Logo source

This is my 28th 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 49% on Crowdin, which is awesome considering the fact that Node.js contains 1,048,272 words.


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.

Node.js official webpage



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 finished working on the folder inside the version 6.

In simple words, the DNS module provides a way of performing name resolutions, which is the linking of identifiers within the programming environment to the actual program components that they represent.

The functions inside this module can be split into two categories:


Inside this folder I only had a couple of paragraphs left to translate they explained the implementation considerations of the functions: [dns.lookup()][], dns.resolve(), dns.resolve*() and dns.reverse(). Although they have the same goal of associating a network name with a network address (or vice versa), their behavior is quite different. These differences can have subtle but significant consequences on the behavior of Node.js programs.

For example, dns.resolve() and dns.resolve*() do not use libuv's threadpool, while [dns.lookup()][] runs on libuv's threadpool. In case you’re wondering, a threadpool is a software design pattern that reuses previously created threads to execute current tasks and offers a solution to the problem of thread cycle overhead and resource thrashing.



After I finished with I started working on a folder called

N-API is an API for building native Addons. It is independent from the underlying JavaScript runtime and is maintained as part of Node.js itself.

In essence, N-API can be used to build NodeJS Addons using C or C++. And the addons built using this would not break across different implementations or versions of NodeJS. It is intended to insulate Addons from changes in the underlying JavaScript engine. Let’s remember that an add-on is a software extension that adds extra features to a program.

APIs exposed by N-API are generally used to create and manipulate JavaScript values. Concepts and operations generally map to ideas specified in the ECMA262 Language Specification.

What does ECMA262 mean?

ECMAScript (European Computer Manufacturers Association Script), is a scripting language based on JavaScript. The same association developed the official standard for ECMAScript, often known as ECMA-262. This standard helps in defining the ECMAScript language and also ensures the consistency between web script implementations.

This API will be Application Binary Interface (ABI) stable across versions of Node.js.

What is the difference between API and ABI?

An API defines the interfaces by which one piece of software communicates with another at the source level. Whereas an API defines a source interface, it defines how an application interacts with itself, how an application interacts with the kernel, and how an application interacts with libraries.

Inside this folder I translated the basic N-API data types: napi_status, napi_extended_error_info, napi_env, napi_value. As well as the N-API memory management types: napi_handle_scope, napi_escapable_handle_scope and napi_ref

These were the sites I used as references: 1, 2, 3, 4


Other translation samples:








Some words and code values were left untranslated on purpose, otherwise, their true meaning would be lost in the translation.


  • 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 1225 words on this contribution.

Proof of Authorship




Greetings, @marugy99. Thanks for submitting your contribution!

  • The presentation and contents of your post are great! It satisfies the requirements for a complete evaluation of your contribution.
  • The translated content fits coherently the general meaning and use of the enlisted strings.
  • You did a 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.
  • Your description of the way the addressed strings work and their utility was very clear and complete. Thanks for taking your time to document yourself about the project... Excellent post!

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

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

Congratulations @marugy99! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You published more than 70 posts. Your next target is to reach 80 posts.

Click here to view your Board
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @marugy99! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.19
TRX 0.08
JST 0.023
BTC 27739.65
ETH 1904.43
USDT 1.00
SBD 2.17