).
-**Historia de usuario #5:** Cuando mi previsualizador de markdown se carga, el texto por defecto en el campo `#editor` debe contener un markdown válido que represente al menos uno de los siguientes elementos: un encabezado (tamaño H1), un subencabezado (tamaño H2), un enlace, código en línea, un bloque de código, un elemento de lista, una cita de bloques (blockquote), una imagen y texto en negrita.
+**Historia de usuario #5:** Cuando la primera vez que mi previsualizador de lenguaje de marcado se carga, el texto por defecto en el campo `#editor` debe contener un lenguaje de marcado válido que represente al menos uno de los siguientes elementos: un encabezado (tamaño H1), un subencabezado (tamaño H2), un enlace, código en línea, un bloque de código, un elemento de lista, una cita en bloque, una imagen y texto en negrita.
**Historia de usuario #6:** Cuando mi previsualizador de markdown se carga, el markdown predeterminado en el campo `#editor` debe ser renderizado como HTML en el elemento `#preview`.
diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/react/access-props-using-this.props.md b/curriculum/challenges/espanol/03-front-end-development-libraries/react/access-props-using-this.props.md
index fb1170ea92..442868c0fc 100644
--- a/curriculum/challenges/espanol/03-front-end-development-libraries/react/access-props-using-this.props.md
+++ b/curriculum/challenges/espanol/03-front-end-development-libraries/react/access-props-using-this.props.md
@@ -14,67 +14,54 @@ Cada vez que se hace referencia a un componente de clase en sí mismo, se utiliz
# --instructions--
-Renderiza una instancia del componente `ReturnTempPassword` en el componente padre `ResetPassword`. Aquí, dale a `ReturnTempPassword` una propiedad de `tempPassword` y asígnale un valor de una cadena que tenga al menos 8 caracteres. Dentro del componente hijo, `ReturnTempPassword`, accede a la propiedad `tempPassword` dentro de las etiquetas `strong` para asegurarte que el usuario vea una contraseña temporal.
+Renderiza una instancia del componente `Welcome` en el componente padre `App`. Aquí, dale a `Welcome` un prop de `name` y asígnale un valor de una cadena. Dentro del hijo, `Welcome`, accede el prop `name` dentro de las etiquetas `strong`.
# --hints--
-El componente `ResetPassword` debe devolver un único elemento `div`.
+El componente `App` debe devolver un solo elemento `div`.
```js
assert(
(function () {
- const mockedComponent = Enzyme.mount(React.createElement(ResetPassword));
+ const mockedComponent = Enzyme.mount(React.createElement(App));
return mockedComponent.children().type() === 'div';
})()
);
```
-El cuarto componente hijo de `ResetPassword` debe ser el componente `ReturnTempPassword`.
+El hijo de `App` debe ser el componente `Welcome`.
```js
assert(
(function () {
- const mockedComponent = Enzyme.mount(React.createElement(ResetPassword));
+ const mockedComponent = Enzyme.mount(React.createElement(App));
return (
- mockedComponent.children().childAt(3).name() === 'ReturnTempPassword'
+ mockedComponent.children().childAt(0).name() === 'Welcome'
);
})()
);
```
-El componente `ReturnTempPassword` debe tener una propiedad llamada `tempPassword`.
+El componente `Welcome` debe tener un prop llamada `name`.
```js
assert(
(function () {
- const mockedComponent = Enzyme.mount(React.createElement(ResetPassword));
- return mockedComponent.find('ReturnTempPassword').props().tempPassword;
+ const mockedComponent = Enzyme.mount(React.createElement(App));
+ return mockedComponent.find('Welcome').props().name;
})()
);
```
-La propiedad `tempPassword` de `ReturnTempPassword` debe ser igual a una cadena de al menos 8 caracteres.
+El componente `Welcome` debe mostrar la cadena que pasas como el `name` prop dentro de las etiquetas `strong`.
```js
assert(
(function () {
- const mockedComponent = Enzyme.mount(React.createElement(ResetPassword));
- const temp = mockedComponent.find('ReturnTempPassword').props()
- .tempPassword;
- return typeof temp === 'string' && temp.length >= 8;
- })()
-);
-```
-
-El componente `ReturnTempPassword` debe mostrar la contraseña creada en la propiedad `tempPassword` dentro de las etiquetas `strong`.
-
-```js
-assert(
- (function () {
- const mockedComponent = Enzyme.mount(React.createElement(ResetPassword));
+ const mockedComponent = Enzyme.mount(React.createElement(App));
return (
mockedComponent.find('strong').text() ===
- mockedComponent.find('ReturnTempPassword').props().tempPassword
+ mockedComponent.find('Welcome').props().name
);
})()
);
@@ -85,13 +72,13 @@ assert(
## --after-user-code--
```jsx
-ReactDOM.render(, document.getElementById('root'))
+ReactDOM.render(, document.getElementById('root'))
```
## --seed-contents--
```jsx
-class ReturnTempPassword extends React.Component {
+class App extends React.Component {
constructor(props) {
super(props);
@@ -100,14 +87,14 @@ class ReturnTempPassword extends React.Component {
return (
{ /* Change code below this line */ }
-
Your temporary password is:
+
{ /* Change code above this line */ }
);
}
};
-class ResetPassword extends React.Component {
+class Welcome extends React.Component {
constructor(props) {
super(props);
@@ -115,11 +102,8 @@ class ResetPassword extends React.Component {
render() {
return (
-
Reset Password
-
We've generated a new temporary password for you.
-
Please reset this password from your account settings ASAP.
{ /* Change code below this line */ }
-
+
Hello, !
{ /* Change code above this line */ }
);
@@ -130,7 +114,7 @@ class ResetPassword extends React.Component {
# --solutions--
```jsx
-class ReturnTempPassword extends React.Component {
+class Welcome extends React.Component {
constructor(props) {
super(props);
@@ -138,28 +122,27 @@ class ReturnTempPassword extends React.Component {
render() {
return (
-
Your temporary password is: {this.props.tempPassword}
-
- );
- }
-};
-
-class ResetPassword extends React.Component {
- constructor(props) {
- super(props);
-
- }
- render() {
- return (
-
-
Reset Password
-
We've generated a new temporary password for you.
-
Please reset this password from your account settings ASAP.
{ /* Change code below this line */ }
-
+
Hello, {this.props.name}!
{ /* Change code above this line */ }
);
}
};
+
+class App extends React.Component {
+ constructor(props) {
+ super(props);
+
+ }
+ render() {
+ return (
+
+ { /* Change code below this line */ }
+
+ { /* Change code above this line */ }
+
+ );
+ }
+};
```
diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/react/compose-react-components.md b/curriculum/challenges/espanol/03-front-end-development-libraries/react/compose-react-components.md
index 1a0b31f41b..9927f2b45d 100644
--- a/curriculum/challenges/espanol/03-front-end-development-libraries/react/compose-react-components.md
+++ b/curriculum/challenges/espanol/03-front-end-development-libraries/react/compose-react-components.md
@@ -14,7 +14,7 @@ A medida que los desafíos continúan utilizando composiciones más complejas co
En el editor de código, el componente `TypesOfFood` ya está incluyendo (renderizando) un componente llamado `Vegetables`. Además, también está el componente `Fruits` del último desafío.
-Anida dos componentes dentro de `Fruits`: primero `NonCitrus` y luego `Citrus`. Ambos componentes se te proporcionan en segundo plano. A continuación, anida el componente de clase `Fruits` en el componente `TypesOfFood`, debajo del encabezado (header) `h1` y encima de `Vegetables`. El resultado debe ser una serie de componentes anidados, que utiliza dos tipos de componentes diferentes.
+Anida dos componentes dentro de `Fruits`: primero `NonCitrus` y luego `Citrus`. Ambos componentes se te proporcionan en segundo plano. A continuación, anida el componente de clase `Fruits` en el componente `TypesOfFood`, debajo del encabezado `h1` y encima de `Vegetables`. El resultado debe ser una serie de componentes anidados, que utiliza dos tipos de componentes diferentes.
# --hints--
diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-controlled-form.md b/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-controlled-form.md
index 477d2a6e0d..e740de3ea6 100644
--- a/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-controlled-form.md
+++ b/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-controlled-form.md
@@ -109,7 +109,7 @@ assert(
);
```
-El encabezado `h1` debe renderizar el valor del campo `submit` del estado del componente.
+El encabezado `h1` debe renderizar el valor del campo `submit` desde el estado del componente.
```js
(() => {
diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/react/render-state-in-the-user-interface-another-way.md b/curriculum/challenges/espanol/03-front-end-development-libraries/react/render-state-in-the-user-interface-another-way.md
index f8b45bb0c3..917ff06623 100644
--- a/curriculum/challenges/espanol/03-front-end-development-libraries/react/render-state-in-the-user-interface-another-way.md
+++ b/curriculum/challenges/espanol/03-front-end-development-libraries/react/render-state-in-the-user-interface-another-way.md
@@ -44,7 +44,7 @@ La etiqueta `h1` renderizada debe incluir una referencia a `{name}`.
assert(/\n*\s*\{\s*name\s*\}\s*\n*<\/h1>/.test(getUserInput('index')));
```
-El encabezado `h1` renderizado debe contener texto renderizado desde el state del componente.
+El encabezado renderizado `h1` sólo debe contener texto renderizado del estado del componente.
```js
async () => {
diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/react/set-state-with-this.setstate.md b/curriculum/challenges/espanol/03-front-end-development-libraries/react/set-state-with-this.setstate.md
index dff7302ea5..dc6ceabf44 100644
--- a/curriculum/challenges/espanol/03-front-end-development-libraries/react/set-state-with-this.setstate.md
+++ b/curriculum/challenges/espanol/03-front-end-development-libraries/react/set-state-with-this.setstate.md
@@ -41,7 +41,7 @@ assert(
assert(Enzyme.mount(React.createElement(MyComponent)).find('h1').length === 1);
```
-El encabezado `h1` renderizado debe contener texto renderizado desde el state del componente.
+El encabezado renderizado `h1` sólo debe contener texto renderizado del estado del componente.
```js
async () => {
diff --git a/curriculum/challenges/espanol/05-back-end-development-and-apis/mongodb-and-mongoose/chain-search-query-helpers-to-narrow-search-results.md b/curriculum/challenges/espanol/05-back-end-development-and-apis/mongodb-and-mongoose/chain-search-query-helpers-to-narrow-search-results.md
index 12be099f8a..8131ff0f85 100644
--- a/curriculum/challenges/espanol/05-back-end-development-and-apis/mongodb-and-mongoose/chain-search-query-helpers-to-narrow-search-results.md
+++ b/curriculum/challenges/espanol/05-back-end-development-and-apis/mongodb-and-mongoose/chain-search-query-helpers-to-narrow-search-results.md
@@ -1,6 +1,6 @@
---
id: 587d7fb9367417b2b2512c12
-title: Chain Search Query Helpers to Narrow Search Results
+title: Auxiliares de consulta de búsqueda en cadena para restringir los resultados de búsqueda
challengeType: 2
forumTopicId: 301533
dashedName: chain-search-query-helpers-to-narrow-search-results
@@ -8,15 +8,15 @@ dashedName: chain-search-query-helpers-to-narrow-search-results
# --description--
-If you don’t pass the callback as the last argument to `Model.find()` (or to the other search methods), the query is not executed. You can store the query in a variable for later use. This kind of object enables you to build up a query using chaining syntax. The actual db search is executed when you finally chain the method `.exec()`. You always need to pass your callback to this last method. There are many query helpers, here we'll use the most commonly used.
+Si no pasas la función callback como el último argumento para `Model.find()` (o hacia otro método de búsqueda), la consulta no se ejecuta. Puedes almacenar la consulta en una variable para su posterior uso. Este tipo de objeto te permite construir la consulta usando sintaxis de encadenamiento. La búsqueda real en la base de datos se ejecuta cuando finalmente encadena el método `.exec()`. Siempre necesitas pasar tu función callback a este último método. Hay muchas ayudas de consulta, aquí usaremos el método comúnmente usado.
# --instructions--
-Modify the `queryChain` function to find people who like the food specified by the variable named `foodToSearch`. Sort them by `name`, limit the results to two documents, and hide their age. Chain `.find()`, `.sort()`, `.limit()`, `.select()`, and then `.exec()`. Pass the `done(err, data)` callback to `exec()`.
+Modifica la función `queryChain` para encontrar a gente que le gusta la comida especificada por la variable denominada `foodToSearch`. Ordénalos por `name`, limita los resultados para dos documentos, y oculta su edad. Encadena `.find()`, `.sort()`, `.limit()`, `.select()`, y entonces `.exec()`. Pasa la función callback `done(err, data)` a `exec()`.
# --hints--
-Chaining query helpers should succeed
+Las ayudas de consulta de encadenamiento deben tener éxito
```js
(getUserInput) =>
diff --git a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/declare-a-read-only-variable-with-the-const-keyword.md b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/declare-a-read-only-variable-with-the-const-keyword.md
index 4144ea4cec..b84a12b0ae 100644
--- a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/declare-a-read-only-variable-with-the-const-keyword.md
+++ b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/declare-a-read-only-variable-with-the-const-keyword.md
@@ -71,13 +71,10 @@ assert.match(code, /const\s+FCC/);
## --seed-contents--
```js
-// Only change code below this line
-var fCC = "freeCodeCamp";
-var fact = "is cool!";
-// Only change code above this line
-
+var fCC = "freeCodeCamp"; // Change this line
+var fact = "is cool!"; // Change this line
fact = "is awesome!";
-console.log(fCC, fact);
+console.log(fCC, fact); // Change this line
```
# --solutions--
diff --git a/curriculum/dictionaries/espanol/comments.json b/curriculum/dictionaries/espanol/comments.json
index db49c71fed..a76aaa9972 100644
--- a/curriculum/dictionaries/espanol/comments.json
+++ b/curriculum/dictionaries/espanol/comments.json
@@ -84,7 +84,7 @@
"fhe9m4": "Sitios sociales",
"za434b": "La tabla de barras apiladas de entrenamiento semanal",
"7c1fv9": "La tabla de barras apiladas irá aquí",
- "r44ovx": "tabs es un arreglo de títulos de cada sítio abierto dentro de la ventana",
+ "r44ovx": "tabs es un arreglo de títulos de cada sitio abierto dentro de la ventana",
"cl8peb": "arreglo de prueba:",
"1xi3cv": "La variable global",
"3gc01a": "El archivo main.scss",