![NodeJS.png](https://files.steempeak.com/file/steempeak/alejohannes/aOet1iTA-NodeJS.png)
[Image source](https://tecnonucleous.com/content/images/2017/11/server-nodejs.png)
#### Github Repository
https://github.com/nodejs/i18n
#### Project Details
By definition, Node.js is a Java Runtime Environment (JRE). But it is more than just that. While common JREs function as machine backups that allow users to smoothly run JavaScript on their browsers and applications, this open-source project functions as an app that manages Java code by itself. It's practical uses for developers are endless. It grants an extraordinarily versatile platform for designing code, programs, websites and other applications. And that isn't all: Node provides a virtual facility for testing the proper work of Java-driven programs and devices –and their planned updates–, helping to find bugs, solve errors, fix code and vastly improving their performance.
I believe all the amazing uses of Node are to be considered by themselves and I declare myself a fan of the project. But, besides, I support it for its functionality as a medium for bringing to reality countless creations that can be as good as Node itself. If you can dream it –and code it in JavaScript–, then your imagination is the only limit!The open translation of Node to thirty-three (33) languages proves the advantages of open-source projects when it comes to diversification of knowledge and worldwide spreading of useful tools.
Ahead, there is the link of the program's webpage:
https://nodejs.org
### Contribution Specifications
#### Translation Overview
This is my 43rd contribution to Node.js as a translator. For this collaboration, I continued my [previous work](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-315-words-n-42) on Node.js’ version 6 [url.md](https://crowdin.com/translate/nodejs/64/en-es) file, which describes the features, characteristics and uses of `url` module of Node.
In my previous contribution, i talked about **APIs** and **WHATWG**, since they're introduced in the document from the begining:
> The url module provides two APIs for working with URLs: a legacy API that is Node.js specific, and a newer API that implements the same WHATWG URL Standard used by web browsers.
In this contribution, I'll explain a important concepts referred in the **WHATWG URL API** of the `url` module.
The first one I'll talk about is **hash**. It is included as a property of the `URL` class, as `url.hash`. What does ***hash*** mean? Hashing is a data processing mechanism through which a long string of data is transformed into a way shorter string that represents the original one. Reducing a single string might not seem like a big deal, but it comes quite handy at the time we start dealing with enormous amounts of digital information or just wanna have a quicker, more organized, look of the data we have to work with.
If we simplify this concept to a maximum extent... It is like a programming shrink ray!:
![SHRINK.gif](https://files.steempeak.com/file/steempeak/alejohannes/GPPIUTx2-SHRINK.gif)
[GIF source](https://giphy.com/gifs/clasharama-lightning-wizard-5nmkEYKO5n3TYFjQLT)
Secondly, I would like to discuss what is **percent-encoding** since many strings of this document refer to this concept at the time of dealing with invalid characters in properties:
> * Invalid URL characters included in the value assigned to the `hash` property are *percent-encoded*.
> * Invalid URL characters included in the value assigned to the `password` property are *percent-encoded*.
> * Any invalid URL characters appearing in the value assigned the `search` property will be *percent-encoded*.
Percent-encoding is a programming mechanism to encode 8-bit characters into URL-readable data. This way, certain characteres that do not exist within the range of URL universe manage to pass in it and later be translated by web browsers and pages. The mechanism for this codification is to substitute the unavaible character by a `%` symbol and, next to it, the hexadecimal representation of the ASCII value of said character.
The characters that need percent encoding are `:`, `/`, `?`, `#`, `[`, `]`, `@`, `!`, `$`, `&`, `'`, `(`, `)`, `*`, `+`, `,`, `;`, `=` and `%` (oh, the irony).
![Irony.gif](https://files.steempeak.com/file/steempeak/alejohannes/N7yJ8fuM-Irony.gif)
[GIF source](https://i.imgur.com/izI3mLe.gif)
The respective codification for each is the following (thanks, [Mozilla](https://developer.mozilla.org/en-US/docs/Glossary/percent-encoding), for making such dinamic and useful manuals... Big time!):
![Percentencoding.PNG](https://files.steempeak.com/file/steempeak/alejohannes/aGAqIbdV-Percentencoding.PNG)
[Screenshot source](https://developer.mozilla.org/en-US/docs/Glossary/percent-encoding)
Finally, I would like to talk about **serialization**. In this file, there are a lot of references to URL and domain serialization, as:
* The `toJSON()` method on the `URL` object returns the serialized URL.
* Returns the search parameters serialized as a string, with characters percent-encoded where necessary.
* Returns the *Punycode* ASCII serialization of the `domain`.
* Returns the *Unicode* serialization of the `domain`.
In computer science, the process of serialization refers to the mechanism through which a piece of data or an object is transformed into a format that can be buffered or saved in the physical memory of a system as a file. In the case of Java, the objects are turned into byte streams, which can later be changed again into copies of the original objects. It's not magic...
![Programming.jpg](https://files.steempeak.com/file/steempeak/alejohannes/LoqlUo6f-Programming.jpg)
[Image source](https://imgflip.com/i/35euzg)
It's just programming.
You can find out more about the aforementioned concepts here:
* https://searchsqlserver.techtarget.com/definition/hashing
* https://www.i-programmer.info/babbages-bag/479-hashing.html
* https://www.hackerearth.com/practice/data-structures/hash-tables/basics-of-hash-tables/tutorial/
* https://developer.mozilla.org/en-US/docs/Glossary/percent-encoding
* https://www.w3schools.com/tags/ref_urlencode.asp
* https://en.wikipedia.org/wiki/Percent-encoding
* https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/serialization/
* https://docs.oracle.com/javase/tutorial/jndi/objects/serial.html
* https://en.wikipedia.org/wiki/Serialization
![URL.png](https://files.steempeak.com/file/steempeak/alejohannes/9qbZZzR3-URL.png)
[Image source](https://servmask.com/img/products/url.png)
#### Thanks for taking your time to read! Expect more information and tips on the next report :)
![node.jpg](https://files.steempeak.com/file/steempeak/alejohannes/i0t490u0-node.jpg)
[Image source](https://blog.eduonix.com/wp-content/uploads/2017/03/Global-Objects.jpg)
* #### **Work example #01:**
**English:**
*Setting the value to the default port of the `URL` objects given `protocol` will result in the `port` value becoming the empty string `''`.*
**Spanish:**
*Establecer el valor del puerto predeterminado del `protocol` dado de los objetos `URL` ocasionará que el valor del `port` se convierta en la string vacía `''`.*
* #### **Work example #02:**
**English:**
*Note that the selection of which characters to percent-encode may vary somewhat from what the [`url.parse()`][] and [`url.format()`][] methods would produce.*
**Spanish:**
*Tenga en cuenta que la selección de los caracteres a ser codificados porcentualmente puede ser distinta de la que los métodos [`url.parse()`][] y [`url.format()`][] producirían.*
* #### **Work example #03:**
**English:**
*That means `iterable` can be another `URLSearchParams`, in which case the constructor will simply create a clone of the provided `URLSearchParams`.*
**Spanish:**
*Eso significa que `iterable` puede ser otro `URLSearchParams`, en cuyo caso el constructor simplemente creará un clon del `URLSearchParams` proporcionado.*
#### Languages
This translation was made from **English** to **Spanish**.
I got plenty experience translating and proofreading this project as an [Utopian](https://join.utopian.io/) contributor. I collaborate here as translator and Language Moderator of the Da-Vinci/Utopian Spanish translation team. Besides this project, I have experience translating and proofreading [The Curious Expedition](https://crowdin.com/project/the-curious-expedition), [Ancap-ch](https://crowdin.com/project/ancap-ch), [Byteball Wiki](https://crowdin.com/project/byteball-wiki), [OroCrm](https://crowdin.com/project/oro-crm) and [BiglyBT](https://crowdin.com/project/biglybt).
#### Word Count
* The amount of words translated in this contribution is: **1,218**.
***Note:*** *This number is the result of subtracting the complete sum of non-translatable content to the word-count Crowdin has done for the period in which this contribution was done.*
* The total amount of words translated in this project (as a Da-vinci/Utopian translator) is: **53,451**.
#### Previous Translations of the Project
* [Contribution N'01](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1215-words-n-01). Submitted on September 13th, 2018.
* [Contribution N'02](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1051-words-n-02). Submitted on September 15th, 2018.
* [Contribution N'03](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1029-words-n-03). Submitted on September 17th, 2018.
* [Contribution N'04](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1110-words-n-04). Submitted on September 19th, 2018.
* [Contribution N'05](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1103-words-n-05). Submitted on September 21th, 2018.
* [Contribution N'06](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1141-words-n-06). Submitted on September 22th, 2018.
* [Contribution N'07](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1091-words-n-07). Submitted on September 23th, 2018.
* [Contribution N'08](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1142-words-n-08). Submitted on October 1st, 2018.
* [Contribution N'09](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1113-words-n-089). Submitted on October 8th, 2018.
* [Contribution N'10](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1047-words-n-10). Submitted on October 14th, 2018.
* [Contribution N'11](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1059-words-n-11). Submitted on October 15th, 2018.
* [Contribution N'12](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1059-words-n-11). Submitted on October 18th, 2018.
* [Contribution N'13](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1148-words-n-13). Submitted on October 21st, 2018.
* [Contribution N'14](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1110-words-n-14). Submitted on October 24th, 2018.
* [Contribution N'15](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1110-words-n-14). Submitted on October 27th, 2018.
* [Contribution N'16](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1047-words-n-16). Submitted on October 31th, 2018.
* [Contribution N'17](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1171-words-n-17). Submitted on November 3rd, 2018.
* [Contribution N'18](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1327-words-n-18). Submitted on November 4th, 2018.
* [Contribution N'19](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1372-words-n-19). Submitted on November 6th, 2018.
* [Contribution N'20]( https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1218-words-n-20). Submitted on November 17th, 2018.
* [Contribution N'21](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1258-words-n-21). Submitted on November 24th, 2018.
* [Contribution N'22](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1258-words-n-22). Submitted on December 7th, 2018.
* [Contribution N'23](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-565-words-n-23). Submitted on December 15th, 2018.
* [Contribution N'24](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-585-words-n-24). Submitted on December 20th, 2018.
* [Contribution N'25](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-789-words-n-25). Submitted on December 26th, 2018.
* [Contribution N'26](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-764-words-n-26). Submitted on December 28th, 2018.
* [Contribution N'27](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-862-words-n-27). Submitted on December 30th, 2018.
* [Contribution N'28](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-872-words-n-28). Submitted on January 9th, 2019.
* [Contribution N'29](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-893-words-n-29). Submitted on January 10th, 2019.
* [Contribution N'30](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-2-045-words-n-30). Submitted on January 12th, 2019.
* [Contribution N'31](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-058-words-n-31). Submitted on January 18th, 2019.
* [Contribution N'32](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-070-words-n-32). Submitted on January 19th, 2019.
* [Contribution N'33](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-057-words-n-33). Submitted on January 24th, 2019.
* [Contribution N'34](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-015-words-n-34). Submitted on January 28th, 2019.
* [Contribution N’35](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-070-words-n-35). Submitted on January 31st, 2019.
* [Contribution N’36]( https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-222-words-n-36). Submitted on March 3rd, 2019.
* [Contribution N’37](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-203-words-n-37). Submitted on March 6th, 2019.
* [Contribution N’38](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-218-words-n-38). Submitted on April 3rd, 2019.
* [Contribution N’39](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-050-words-n-39). Submitted on April 16th, 2019.
* [Contribution N’40](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-250-words-n-40). Submitted on April 19th, 2019.
* [Contribution N’41](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-250-words-n-41). Submitted on May 28th, 2019.
* [Contribution N’42](https://steemit.com/utopian-io/@alejohannes/translation-spanish-node-js-from-english-1-315-words-n-42). Submitted on July 8th, 2019.
### Proof of Authorship
This translation was made on July 9th, 2019. You can check the translation record in my Crowdin account [[here]](https://crowdin.com/profile/alejohannes/activity), the activity on the project's Crowdin [[here]](https://crowdin.com/project/nodejs/activity_stream) and a summary of recent additions to the project [[here]](https://crowdin.com/project/nodejs/reports).
![Crowdin Profile.png](https://files.steempeak.com/file/steempeak/alejohannes/LCaUBdUm-Crowdin20Profile.png)