Node.js Translation to Spanish - (1122 words) (Part-68)
utopian-io·@cremisi·
0.000 HBDNode.js Translation to Spanish - (1122 words) (Part-68)
 ## 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. <center></center> <center>So far, we have managed to translate **68%** of the project!</center> ## Translation Overview I started the translation of the folder [N-api.md](https://crowdin.com/translate/nodejs/49/en-es). <center></center> 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](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1498-words-part-53). 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 module the envelope of objects and their functions is explained. N-API offers a way to "wrap" C++ classes and instances so that the class constructor and methods can be called from JavaScript. - The `[napi_define_class][]` API defines a JavaScript class with constructor, static properties and methods, and instance properties and methods that correspond to the C++ class. - When JavaScript code invokes the constructor, the constructor callback uses `[napi_wrap][]` to wrap a new C++ instance in a JavaScript object, then returns the wrapper object. - When JavaScript code invokes a method or property accessor on the class, the corresponding `napi_callback` C++ function is invoked. For an instance callback, `[napi_unwrap][]` obtains the C++ instance that is the target of the call. For wrapped objects it may be difficult to distinguish between a function called on a class prototype and a function called on an instance of a class. A common pattern used to address this problem is to save a persistent reference to the class constructor for later instanceof checks. As an example of the work done, I will use the function `napi_wrap` belonging to this module: ___ <div class="pull-left"> <center>**English:**</center> ### `napi_wrap` <div class="text-justify"> Wraps a native instance in a JavaScript object. The native instance can be retrieved later using `napi_unwrap()`. When JavaScript code invokes a constructor for a class that was defined using `napi_define_class()`, the `napi_callback` for the constructor is invoked. After constructing an instance of the native class, the callback must then call `napi_wrap()` to wrap the newly constructed instance in the already-created JavaScript object that is the this argument to the constructor callback. (That this object was created from the constructor function's prototype, so it already has definitions of all the instance properties and methods.) Typically when wrapping a class instance, a finalize callback should be provided that simply deletes the native instance that is received as the data argument to the finalize callback. The optional returned reference is initially a weak reference, meaning it has a reference count of 0. Typically this reference count would be incremented temporarily during async operations that require the instance to remain valid. Caution: The optional returned reference (if obtained) should be deleted via `[napi_delete_reference][]` ONLY in response to the finalize callback invocation. (If it is deleted before then, then the finalize callback may never be invoked.) Therefore, when obtaining a reference a finalize callback is also required in order to enable correct proper of the reference. </div> </div> <div class="pull-right"> <center>**Spanish:**</center> ### `napi_wrap` <div class="text-justify"> Envuelve una instancia nativa en un objeto de JavaScript. La instancia nativa puede ser recuperada luego utilizando `napi_unwrap()`. Cuando un código de JavaScript invoca un constructor para la clase que fue definida utilizando `napi_define_class()`, el `napi_callback` para el constructor es invocado. Luego de construir una instancia de la clase nativa, la callback debe llamar entonces a `napi_wrap()` para envolver a la instancia recién construida en el ya creado objeto de JavaScript que es el argumento this de la callback del constructor. (Ese objeto this fue creado desde el prototype de la función del constructor, entonces ya tiene definiciones de todas las propiedades y métodos de instancia.) Normalmente, al envolver una instancia de clase, se debe proporcionar un callback de terminación que simplemente elimine la instancia nativa que se recibe como el argumento data para la callback de terminación. La referencia opcional devuelta es, inicialmente, una referencia débil, lo que significa que tiene una cuenta de referencia de 0. Normalmente, esta cuenta de referencia se incrementará temporalmente durante operaciones asíncronas que requieran que la instancia permanezca válida. Precaución: La referencia opcional devuelta (si se obtiene) debe ser eliminada a través de `[napi_delete_reference][]` SOLO en respuesta a la invocación de la callback de terminación. (Si es eliminada antes de eso, entonces puede que la callback de terminación nunca sea invocada.) Por lo tanto, cuando se obtiene una referencia, también se requiere una callback de terminación para permitir la apropiada corrección de la referencia. </div></div> _____ Note: This API may modify the prototype chain of the wrapper object. Afterward, additional manipulation of the wrapper's prototype chain may cause `napi_unwrap()` to fail. ## 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 **1122** words. - I've translated a total of **91004** words so far* *Considering non-translatable content (proper names, functions, codes, etc.) ## Previous translations on this project - [N-api.md](https://crowdin.com/translate/nodejs/49/en-es). From [Part 62](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1166-words-part-62) to [Part 67](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1507-words-part-67) - [Timers-in-node.md](https://crowdin.com/translate/nodejs/80/en-es#26667) Part [61](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1126-words-part-61) - [Maintaining-V8.md](https://crowdin.com/translate/nodejs/78/en-es) (v6.x) Parts [59](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1065-words-part-59) and [60](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1299-words-part-60) - [Net.md](https://crowdin.com/translate/nodejs/50/en-es) Parts [57](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1288-words-part-57) and [58](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1303-words-part-58) - [Onboarding.md](https://crowdin.com/translate/nodejs/83/en-es) Part [56](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1481-words-part-56) - [Event-loop-timers-and-nexttick.md](https://crowdin.com/translate/nodejs/87/en-es) Parts [54](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1040-words-part-54) and [55](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1135-words-part-55) - [VM.md](https://crowdin.com/translate/nodejs/138/en-es) Part [53](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1498-words-part-53) - [Building-node-with-Ninja.md](https://crowdin.com/translate/nodejs/77/en-es) Part [52](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1101-words-part-52) - [ChangeLog_V7.md](https://crowdin.com/translate/nodejs/222/en-es) From [ Part 41](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1200-words-part-41) to [Part 51](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1008-words-part-51) - [ChangeLog_V8.md](https://crowdin.com/translate/nodejs/223/en-es) From [Part 14](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1221-words-part-14) to [Part 40](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1479-words-part-40) - [Using-Internal-Errors.md](https://crowdin.com/translate/nodejs/234/en-es) and [Building-Node-with-Ninja.md](https://crowdin.com/translate/nodejs/226/en-es) Part [13](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1015-words-part-13) - [Maintaining-V8.md](https://crowdin.com/translate/nodejs/230/en-es) (v10.x) Parts [11](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1184-words-part-11) and [12](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1212-words-part-12). - [Pull-requests-md](https://crowdin.com/translate/nodejs/229/en-es) From [Part 7](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1046-words-part-7) to [Part 10](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1022-words-part-10) - [TLS.md](https://crowdin.com/translate/nodejs/206/en-es) From [Part 1](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1005-words-part-1) to [Part 6](https://steemit.com/utopian-io/@cremisi/node-js-translation-to-spanish-1035-words-part-6) ## Proof of Authorship <center></center> 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](https://crowdin.com/profile/cremisi) for verify my contribution in this project.
👍 liuzhixiang, liucixin, aafeng, accelerator, laissez-faire, aakom, sudefteri, akifane, neokuduk, literaturk, ayisigi, baycan, rasit, maveraunnehr, meowcliver, reazuliqbal, jacksartori, gianluccio, pataty69, joaorafael, bhaski, amosbastian, helo, leir, jaff8, fego, bestofph, kendallron, pinas, buckydurddle, ulockblock, jinger, codingdefined, espoem, alexzicky, ascorphat, mops2e, mondodidave73, shammi, lecongdoo3, penguinpablo, veritasvav, cryptonized, piaristmonk, elena-singer, mcfarhat, tbtek, steemitri, luc.real, inespereira, cremisi, memeitbaby, indayclara, loshcat, greenorange, steemitboard, miniature-tiger, properfraction, phage93, steem-ua, newsrx, sargoon, itastem, aboutcoolscience, davinci.times, davinci.pay, destrudo, davinci.witness, steempsych, davinci.polyglot, davinci.art, davinci.vote, dimitrisp, silviu93, dakeshi, nicejob, mcyusuf, spaghettiscience, stream-master, marcuz, gentleprince95, photo-it, aristotle.team, cyprianj, knfitaly, rscalabrini, imcesca, drifter1, cryptomaniacsgr, steam.erotic, robertbira, onin91, dedicatedguy, utopian-io, tombstone, jga, cryptouno, dicetime, alejohannes,