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.
Node.js came into existence when the original developers of JavaScript extended it from something you could only run in the browser to something you could run on your machine as a standalone application.
In simple words, it's an open source execution environment for developing web applications, which is event-based, it uses the V8 engine to provide an execution environment that compiles and executes JavaScript at a higher speed. It is possible to run Node.js without any restriction on Windows, Linux and Mac OS X.
It should be noted that it is NOT a server language, this means that it executes code, so it could be understood as an interpreter.
Contribution Specifications
Node.js is currently being translated into 33 languages. I'm contributing to translate it into the Spanish language.
So far, we have managed to translate 62% of the project!
Translation Overview
I started the translation of the folder N-api.md.
N-API (pronounced N as in the letter, followed by API) is an API for building native Addons. It is independent from the underlying JavaScript runtime (ex V8) and is maintained as part of Node.js itself.
Previously, I briefly explained what an API is. If you want to see more information about it, you can visit this post.
The N-API is an API that ensures ABI stability across Node.js versions and different compiler levels. And an ABI (application binary interface) it's the interface between two program modules, it determines details such as how to call functions, in which binary format information should be passed from one program component to the next, or to the operating system in the case of a system call.
In this part of the translation, the object lifetime management is explained.
An object is a collection of properties, and a property is an association between a name and a value. A property value can be a function, which is then known as a method of the object. In addition to the objects that are predefined in the browser, new objects can be defined.
Having clear what is an object, as an example of the work done I will leave the introduction to the section Object Lifetime Management:
English:
Object Lifetime Management
As N-API calls are made, handles to objects in the heap for the underlying VM may be returned as napi_values. These handles must hold the objects 'live' until they are no longer required by the native code, otherwise the objects could be collected before the native code was finished using them.
As object handles are returned they are associated with a 'scope'. The lifespan for the default scope is tied to the lifespan of the native method call. The result is that, by default, handles remain valid and the objects associated with these handles will be held live for the lifespan of the native method call.
In many cases, however, it is necessary that the handles remain valid for either a shorter or longer lifespan than that of the native method. The sections which follow describe the N-API functions than can be used to change the handle lifespan from the default.
Spanish:
Gestión de la vida útil del objeto
A medida que se realizan las llamadas N-API, los handles de los objetos en el montón para la máquina virtual subyacente pueden devolverse como napi_values. Estos handles deben mantener los objetos 'activos' hasta que el código nativo ya no los requiera, de lo contrario, los objetos podrían recopilarse antes de que el código nativo terminara de usarlos.
A medida que se devuelven los handles de objetos, se asocian con un 'ámbito'. La vida útil para el ámbito predeterminado está vinculada a la vida útil de la llamada al método nativo. El resultado es que, de forma predeterminada, los handles siguen siendo válidos y los objetos asociados con estos handles se mantendrán activos durante la vida útil de la llamada al método nativo.
En muchos casos, sin embargo, es necesario que los handles sigan siendo válidos para una vida útil más corta o más larga que la del método nativo. Las secciones que siguen describen las funciones de N-API que se pueden usar para cambiar la vida útil del handle de la predeterminada.
Languages
This contribution was translated from English to Spanish.
Word Count
The number of words reflected in the title doesn't include words that didn't require a translation.
- In this contribution, I've translated 1137 words.
- I've translated a total of 83488 words so far*
*Considering non-translatable content (proper names, functions, codes, etc.)
Previous translations on this project
Part 62
Part 61
- Maintaining-V8.md (v6.x)
Part 56
Part 53
Part 52
Part 13
- Maintaining-V8.md (v10.x)
Proof of Authorship
This counter includes non-translatable words, so it is necessary to work on more content to extract an average of 1000 translatable words.
You can check My Crowdin Profile for verify my contribution in this project.