diff --git a/storage/mysql/locales/es-ES/68-mysql.html b/storage/mysql/locales/es-ES/68-mysql.html
new file mode 100644
index 000000000..f18c36b27
--- /dev/null
+++ b/storage/mysql/locales/es-ES/68-mysql.html
@@ -0,0 +1,16 @@
+
+<script type="text/html" data-help-name="MySQLdatabase">
+    <p>Añade aquí las credenciales para acceder a tu base de datos.</p>
+    <p>La zona horaria se puede configurar como GMT, EST5EDT, UTC, etc.</p>
+    <p>El juego de caracteres por defecto es el "antiguo" MySQL UTF8 de 3 bytes. Si necesitas soporte para emojis, etc., utiliza UTF8MB4.</p>
+</script>
+
+<script type="text/html" data-help-name="mysql">
+    <p>Permite acceso básico a una base de datos MySQL.</p>
+    <p>Este nodo utiliza la operación <b>consulta</b> en la base de datos configurada. Esto permite tanto INSERTAR como ELIMINAR. Por su propia naturaleza, permite la inyección de SQL... así que <i>ten cuidado...</i></p>
+    <p><code>msg.topic</code> debe contener la <i>consulta</i> para la base de datos y el resultado se devuelve en <code>msg.payload</code>.</p>
+    <p><code>msg.payload</code> puede contener una matriz de valores para vincularlos al tema.</p>
+    <p>Normalmente, la carga devuelta será una matriz de filas de resultados. <b>Nota</b>: estos son del tipo <i>RowDataPacket</i> y no son un objeto completamente estándar.</p>
+    <p>Si no se encuentra nada para la clave, se devuelve <i>null</i>.</p>
+    <p>El tiempo de espera de reconexión en milisegundos se puede cambiar añadiendo una línea <pre>mysqlReconnectTime: 30000,</pre> en <b>settings.js</b></p>
+</script>
diff --git a/storage/mysql/locales/es-ES/68-mysql.json b/storage/mysql/locales/es-ES/68-mysql.json
new file mode 100644
index 000000000..42ed119cc
--- /dev/null
+++ b/storage/mysql/locales/es-ES/68-mysql.json
@@ -0,0 +1,25 @@
+{
+    "mysql": {
+        "label": {
+            "host": "Servidor",
+            "port": "Puerto",
+            "user": "Usuario",
+            "password": "Contraseña",
+            "database": "Base de Datos",
+            "timezone": "Zona Horaria",
+            "charset": "Juego de Caracteres"
+        },
+        "status": {
+            "badping": "No está",
+            "error": "Error",
+            "ok": "Vale",
+            "notconnected": "aún no conectado"
+        },
+        "errors": {
+            "notstring": "la consulta no está definida como una cadena",
+            "notconnected": "Base de datos no conectada",
+            "notconfigured": "Base de datos MySQL no configurada"
+        },
+        "tip": "Consejo: La zona horaria debe especificarse como &#177;hh:mm o dejarse en blanco para 'local'."
+    }
+}
\ No newline at end of file
diff --git a/storage/sqlite/locales/es-ES/sqlite.html b/storage/sqlite/locales/es-ES/sqlite.html
new file mode 100644
index 000000000..0f1bc737c
--- /dev/null
+++ b/storage/sqlite/locales/es-ES/sqlite.html
@@ -0,0 +1,29 @@
+<script type="text/html" data-help-name="sqlite">
+    <p>Permite el acceso a una base de datos SQLite.</p>
+    <p>La consulta SQL establece cómo se pasa la consulta al nodo.</p>
+    <p>La consulta SQL en <i>msg.topic</i> y la <i>Declaración fija</i> utilizan la operación <b>db.all</b> en la base de datos configurada. Esto permite INSERTAR, ACTUALIZAR y BORRAR.
+    Por su propia naturaleza, puede hacerse inyección SQL... así que <i>ten cuidado...</i></p>
+    <p>El tipo SQL <i>Declaración preparada</i> también usa <b>db.all</b> pero limpia los parámetros pasados, eliminando la posibilidad de inyección SQL.</p>
+    <p>El tipo de SQL <i>Lote sin respuesta</i> utiliza <b>db.exec</b> que ejecuta todas las declaraciones SQL en la cadena proporcionada. No se devuelven filas de resultados.</p>
+    <p>Cuando se utiliza <i>msg.topic</i> o <i>Lote sin respuesta</i>, <code>msg.topic</code> debe contener la <i>consulta</i> para el base de datos.</p>
+    <p>Cuando se utiliza <i>msg.topic</i>, los parámetros se pueden pasar en la consulta utilizando una matriz <code>msg.payload</code>. Por ejemplo:<br />
+    <code>msg.topic = `INSERT INTO user_table (name, surname) VALUES ($name, $surname)`<br />
+    msg.payload = ["John", "Smith"]<br />
+    return msg;</code><br />
+    <p>Cuando se utiliza una declaración normal o preparada, la <i>consulta</i> debe ingresarse en la configuración del nodo.</p>
+    <p>Pasa los parámetros como un objeto en <code>msg.params</code> para la declaración preparada. Por ejemplo:<br />
+        <code>msg.params = {<br />
+    &nbsp;&nbsp;&nbsp;&nbsp;$id:1,<br />
+    &nbsp;&nbsp;&nbsp;&nbsp;$name:"John Doe"<br />
+    }</code><br />
+    Los propiedades de los objetos de parámetros deben coincidir con los parámetros configurados en la declaración preparada. Si recibes el error <code>SQLITE_RANGE: enlace o índice de columna fuera de rango</code> asegúrate de incluir $ en la clave del objeto del parámetro.<br />
+    La consulta SQL para el ejemplo anterior podría ser: <code>insert into user_table (user_id, user) VALUES ($id, $name);</code></p>
+    <p>Utilizando cualquier consulta SQL, el resultado se devuelve en <code>msg.payload</code></p>
+    <p>Normalmente, la carga devuelta será una matriz de filas de resultados (o un error).</p>
+    <p>Puedes cargar extensiones SQLite ingresando una propiedad <code>msg.extension</code> que contenga la ruta completa y el nombre del archivo.</p>
+    <p>El tiempo de espera de reconexión en milisegundos se puede cambiar añadiendo una línea <pre>mysqlReconnectTime: 30000,</pre> en <b>settings.js</b></p>
+</script>
+
+<script type="text/html" data-help-name="sqlitedb">
+    <p>The default directory for the database file is the user's home directory through which the Node-RED process was started. You can specify absolute path to change it.</p>
+</script>
diff --git a/storage/sqlite/locales/es-ES/sqlite.json b/storage/sqlite/locales/es-ES/sqlite.json
new file mode 100644
index 000000000..f4464ced3
--- /dev/null
+++ b/storage/sqlite/locales/es-ES/sqlite.json
@@ -0,0 +1,20 @@
+{
+  "sqlite": {
+    "label": {
+      "database": "Base de Datos",
+      "sqlQuery": "Consulta SQL",
+      "viaMsgTopic": "En msg.topic",
+      "fixedStatement": "Consulta Fija",
+      "preparedStatement": "Consulta Preparada",
+      "batchWithoutResponse": "Lote sin respuesta",
+      "sqlStatement": "Comando SQL",
+      "mode": "Modo",
+      "readWriteCreate": "Leer-Escribir-Crear",
+      "readWrite": "Leer-Escribir",
+      "readOnly": "Solo Leer"
+    },
+    "tips": {
+      "memoryDb": "<b>Nota</b>: Establecer el nombre de la base de datos a <code>:memory:</code> creará una base de datos no persistente en la memoria."
+    }
+  }
+}