http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5ad93d20/www/docs/es/7.x/cordova/storage/localstorage/localstorage.md
----------------------------------------------------------------------
diff --git a/www/docs/es/7.x/cordova/storage/localstorage/localstorage.md 
b/www/docs/es/7.x/cordova/storage/localstorage/localstorage.md
new file mode 100644
index 0000000..d3a50f3
--- /dev/null
+++ b/www/docs/es/7.x/cordova/storage/localstorage/localstorage.md
@@ -0,0 +1,124 @@
+---
+license: >
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+title: localStorage
+---
+
+# localStorage
+
+Proporciona acceso a de la W3C [interfaz Web Storage][1]
+
+ [1]: http://dev.w3.org/html5/webstorage/#the-localstorage-attribute
+
+    var permanentStorage = window.localStorage;
+    var tempStorage = window.sessionStorage;
+    
+
+## Métodos
+
+*   **clave**: devuelve el nombre de la llave en la posición especificada.
+
+*   **getItem**: devuelve el elemento identificado por la clave especificada.
+
+*   **setItem**: asigna el valor de un elemento con llave.
+
+*   **removeItem**: quita el elemento identificado por la clave especificada.
+
+*   **borrar**: elimina todos los pares clave/valor.
+
+## Detalles
+
+La `window.localStorage` interfaz implementa del W3C [interfaz Web 
Storage][2]. Una aplicación puede utilizar para guardar los datos persistentes 
usando pares de clave y valor. La `window.sessionStorage` interfaz funciona del 
mismo modo en todos los sentidos, excepto que todos los datos se borra cada vez 
que la aplicación se cierra. Cada base de datos proporciona un espacio de 
nombre separado.
+
+ [2]: http://dev.w3.org/html5/webstorage/
+
+## Plataformas soportadas
+
+*   Android
+*   BlackBerry WebWorks (OS 6.0 o superior)
+*   iOS
+*   Tizen
+*   Windows Phone 7 y 8
+
+## Ejemplo rápido clave
+
+    var keyName = window.localStorage.key(0);
+    
+
+## Ejemplo rápido Item set
+
+    window.localStorage.setItem("key", "value");
+    
+
+## Conseguir Item ejemplo rápido
+
+        var value = window.localStorage.getItem("key");
+        // value is now equal to "value"
+    
+
+## Quitar elemento ejemplo rápido
+
+        window.localStorage.removeItem("key");
+    
+
+## Claro ejemplo rápido
+
+        window.localStorage.clear();
+    
+
+## Ejemplo completo
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Storage Example</title>
+    
+        <script type="text/javascript" charset="utf-8" 
src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+    
+        // Wait for device API libraries to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+    
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            window.localStorage.setItem("key", "value");
+            var keyname = window.localStorage.key(i);
+            // keyname is now equal to "key"
+            var value = window.localStorage.getItem("key");
+            // value is now equal to "value"
+            window.localStorage.removeItem("key");
+            window.localStorage.setItem("key2", "value2");
+            window.localStorage.clear();
+            // localStorage is now empty
+        }
+    
+        </script>
+      </head>
+      <body>
+        <h1>Example</h1>
+        <p>localStorage</p>
+      </body>
+    </html>
+    
+
+## Windows Phone 7 rarezas
+
+Notación de puntos es *no* disponible en Windows Phone 7. Asegúrese de 
utilizar `setItem` o `getItem` , en lugar de acceder a las teclas directamente 
desde el objeto de almacenamiento, tales como`window.localStorage.someKey`.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5ad93d20/www/docs/es/7.x/cordova/storage/parameters/display_name.md
----------------------------------------------------------------------
diff --git a/www/docs/es/7.x/cordova/storage/parameters/display_name.md 
b/www/docs/es/7.x/cordova/storage/parameters/display_name.md
new file mode 100644
index 0000000..571861c
--- /dev/null
+++ b/www/docs/es/7.x/cordova/storage/parameters/display_name.md
@@ -0,0 +1,25 @@
+---
+license: >
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+title: database_displayname
+---
+
+# database_displayname
+
+El nombre de la base de datos de visualización.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5ad93d20/www/docs/es/7.x/cordova/storage/parameters/name.md
----------------------------------------------------------------------
diff --git a/www/docs/es/7.x/cordova/storage/parameters/name.md 
b/www/docs/es/7.x/cordova/storage/parameters/name.md
new file mode 100644
index 0000000..f258781
--- /dev/null
+++ b/www/docs/es/7.x/cordova/storage/parameters/name.md
@@ -0,0 +1,25 @@
+---
+license: >
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+title: database_name
+---
+
+# database_name
+
+El nombre de la base de datos.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5ad93d20/www/docs/es/7.x/cordova/storage/parameters/size.md
----------------------------------------------------------------------
diff --git a/www/docs/es/7.x/cordova/storage/parameters/size.md 
b/www/docs/es/7.x/cordova/storage/parameters/size.md
new file mode 100644
index 0000000..891d8bc
--- /dev/null
+++ b/www/docs/es/7.x/cordova/storage/parameters/size.md
@@ -0,0 +1,25 @@
+---
+license: >
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+title: database_size
+---
+
+# database_size
+
+El tamaño de la base de datos en bytes.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5ad93d20/www/docs/es/7.x/cordova/storage/parameters/version.md
----------------------------------------------------------------------
diff --git a/www/docs/es/7.x/cordova/storage/parameters/version.md 
b/www/docs/es/7.x/cordova/storage/parameters/version.md
new file mode 100644
index 0000000..979dc7c
--- /dev/null
+++ b/www/docs/es/7.x/cordova/storage/parameters/version.md
@@ -0,0 +1,25 @@
+---
+license: >
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+title: database_version
+---
+
+# database_version
+
+La versión de la base de datos.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5ad93d20/www/docs/es/7.x/cordova/storage/sqlerror/sqlerror.md
----------------------------------------------------------------------
diff --git a/www/docs/es/7.x/cordova/storage/sqlerror/sqlerror.md 
b/www/docs/es/7.x/cordova/storage/sqlerror/sqlerror.md
new file mode 100644
index 0000000..091ed27
--- /dev/null
+++ b/www/docs/es/7.x/cordova/storage/sqlerror/sqlerror.md
@@ -0,0 +1,46 @@
+---
+license: >
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+title: SQLError
+---
+
+# SQLError
+
+Un objeto `SQLError` se produce cuando se produce un error.
+
+## Propiedades
+
+*   **code**: uno de los códigos de error predefinido enumerados a 
continuación.
+
+*   **message**: una descripción del error.
+
+## Constantes
+
+*   `SQLError.UNKNOWN_ERR`
+*   `SQLError.DATABASE_ERR`
+*   `SQLError.VERSION_ERR`
+*   `SQLError.TOO_LARGE_ERR`
+*   `SQLError.QUOTA_ERR`
+*   `SQLError.SYNTAX_ERR`
+*   `SQLError.CONSTRAINT_ERR`
+*   `SQLError.TIMEOUT_ERR`
+
+## Descripción
+
+El objeto `SQLError` se produce cuando se produce un error al manipular una 
base de datos.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5ad93d20/www/docs/es/7.x/cordova/storage/sqlresultset/sqlresultset.md
----------------------------------------------------------------------
diff --git a/www/docs/es/7.x/cordova/storage/sqlresultset/sqlresultset.md 
b/www/docs/es/7.x/cordova/storage/sqlresultset/sqlresultset.md
new file mode 100644
index 0000000..e485cf2
--- /dev/null
+++ b/www/docs/es/7.x/cordova/storage/sqlresultset/sqlresultset.md
@@ -0,0 +1,85 @@
+---
+license: >
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+title: SQLResultSet
+---
+
+# SQLResultSet
+
+Cuando se llama al método de un objeto 
`[SQLTransaction](../sqltransaction/sqltransaction.html)` `executeSql` la 
devolución de llamada especificado se ejecuta con un parámetro `SQLResultSet`.
+
+## Propiedades
+
+*   **insertId**: el identificador de fila de la fila que instrucción SQL de 
la `SQLResultSet` del objeto insertado en la base de datos.
+
+*   **rowsAffected**: cambió el número de filas en la sentencia SQL, cero si 
la declaración no afectó a ninguna fila.
+
+*   **rows**: un 
`[SQLResultSetRowList](../sqlresultsetrowlist/sqlresultsetrowlist.html)` que 
representan las filas devueltas, vacío si no hay filas son devueltos.
+
+## Detalles
+
+Cuando se llama al método de un objeto 
`[SQLTransaction](../sqltransaction/sqltransaction.html)` `executeSql` la 
devolución de llamada especificado se ejecuta con un parámetro `SQLResultSet` 
que contiene tres propiedades:
+
+*   El `insertId` devuelve el número de fila de una instrucción de 
inserción de SQL successly. Si el SQL no introduzca ninguna fila, el 
`insertId` no está establecida.
+
+*   El `rowsAffected` siempre es `` para un SQL `select` declaración. Para 
`insert` o `update` devuelve el número de declaraciones las filas 
modificación.
+
+*   La final `SQLResultSetList` contiene los datos devueltos de una 
instrucción select de SQL.
+
+## Plataformas soportadas
+
+*   Android
+*   BlackBerry WebWorks (OS 6.0 o superior)
+*   iOS
+*   Tizen
+
+## Ejecutar SQL ejemplo rápido
+
+    function queryDB(tx) {tx.executeSql ('SELECT * de DEMO', [], querySuccess, 
errorCB);}
+    
+    function querySuccess (tx, resultados) {console.log ("devuelve filas =" + 
results.rows.length);
+        / / Esto será cierto ya que fue una instrucción select y 
rowsAffected fue 0 si (! results.rowsAffected) {console.log ('no hay filas 
afectadas!');
+            devolver false;
+        } / / para una instrucción insert, esta propiedad devuelve el ID de 
la última fila insertada console.log ("última inserta fila ID =" + 
results.insertId);}
+    
+    function errorCB(err) {alert ("Error al procesar SQL:" + err.code);}
+    
+    var db = window.openDatabase ("Database", "1.0", "Demo Córdova", 200000);
+    DB.Transaction (queryDB, errorCB);
+    
+
+## Ejemplo completo
+
+    <!DOCTYPE html >< html >< cabeza >< título > almacenamiento ejemplo < / 
título >< de la escritura de tipo = "text/javascript" charset = "utf-8" 
src="cordova.js" >< / script >< de la escritura de tipo = "text/javascript" 
charset = "utf-8" > / / espera para que las bibliotecas del dispositivo API 
cargar / / document.addEventListener ("deviceready", onDeviceReady, false);
+    
+        / / Rellenar la base de datos / / function populateDB(tx) 
{tx.executeSql ('DROP TABLE IF EXISTS DEMO');
+            tx.executeSql ('crear tabla si no existe DEMO (id único, data)');
+            tx.executeSql (' introduzca en DEMO (identificación, datos) 
valores (1, "primera fila")');
+            tx.executeSql ('introduzca en DEMO (identificación, datos) VALUES 
(2, "Segunda fila")');
+        } / / Consulta la base de datos / / function queryDB(tx) 
{tx.executeSql ('SELECT * de DEMO', [], querySuccess, errorCB);
+        } / / Consulta el callback de éxito / / function querySuccess (tx, 
resultados) {console.log ("devuelve filas =" + results.rows.length);
+            / / Esto será cierto ya que fue una instrucción select y 
rowsAffected fue 0 si (! results.rowsAffected) {console.log ('no hay filas 
afectadas!');
+                devolver false;
+            } / / para una instrucción insert, esta propiedad devuelve el ID 
de la última fila insertada console.log ("última inserta fila ID =" + 
results.insertId);
+        } / / Callback de error de transacción / / function errorCB(err) 
{console.log ("Error al procesar SQL:" + err.code);
+        } / / Callback éxito de transacción / / function successCB() {var db 
= window.openDatabase ("Database", "1.0", "Demo Córdova", 200000);
+            DB.Transaction (queryDB, errorCB);
+        } / / dispositivo APIs están disponibles / / function onDeviceReady() 
{var db = window.openDatabase ("Database", "1.0", "Demo Córdova", 200000);
+            DB.Transaction (populateDB, errorCB, successCB);
+        } < /script >< / cabeza >< cuerpo >< h1 > ejemplo < / h1 >< p > base 
de datos < /p >< cuerpo / >< / html >
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5ad93d20/www/docs/es/7.x/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md
----------------------------------------------------------------------
diff --git 
a/www/docs/es/7.x/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md 
b/www/docs/es/7.x/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md
new file mode 100644
index 0000000..b05baa8
--- /dev/null
+++ b/www/docs/es/7.x/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md
@@ -0,0 +1,75 @@
+---
+license: >
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+title: SQLResultSetRowList
+---
+
+# SQLResultSetRowList
+
+Una de las propiedades de la 
`[SQLResultSet](../sqlresultset/sqlresultset.html)` que contiene las filas 
devueltas desde una consulta SQL.
+
+## Propiedades
+
+*   **length**: el número de filas devueltas por la consulta SQL.
+
+## Métodos
+
+*   **item**: devuelve la fila en el índice especificado representado por un 
objeto JavaScript.
+
+## Detalles
+
+El `SQLResultSetRowList` contiene los datos devueltos de una instrucción SQL 
`select`. El objeto contiene una propiedad de `longitud` que indica cuántas 
filas devuelve la instrucción `select`. Para obtener una fila de datos, llame 
al método de `item` para especificar un índice. Devuelve un JavaScript 
`Object` cuyas propiedades son las columnas de la base de datos que la 
instrucción `select` fue ejecutada contra.
+
+## Plataformas soportadas
+
+*   Android
+*   BlackBerry WebWorks (OS 6.0 o superior)
+*   iOS
+*   Tizen
+
+## Ejecutar SQL ejemplo rápido
+
+    function queryDB(tx) {tx.executeSql ('SELECT * de DEMO', [], querySuccess, 
errorCB);}
+    
+    function querySuccess (tx, resultados) {var len = results.rows.length;
+            Console.log ("table DEMO:" len + "filas encontradas.");
+            para (var i = 0; < len; i ++) {console.log ("fila =" + i + "ID =" 
+ results.rows.item (i) .id + "datos =" + results.rows.item(i).data);
+            errorCB(err) función}} {alert ("Error al procesar SQL:" + 
err.code);
+        } var db = window.openDatabase ("Database", "1.0", "Demo Córdova", 
200000);
+        DB.Transaction (queryDB, errorCB);
+    
+
+## Ejemplo completo
+
+    <!DOCTYPE html >< html >< cabeza >< título > almacenamiento ejemplo < / 
título >< de la escritura de tipo = "text/javascript" charset = "utf-8" 
src="cordova.js" >< / script >< de la escritura de tipo = "text/javascript" 
charset = "utf-8" > / / espera para que las bibliotecas del dispositivo API 
cargar / / document.addEventListener ("deviceready", onDeviceReady, false);
+    
+        / / Rellenar la base de datos / / function populateDB(tx) 
{tx.executeSql ('DROP TABLE IF EXISTS DEMO');
+            tx.executeSql ('crear tabla si no existe DEMO (id único, data)');
+            tx.executeSql (' introduzca en DEMO (identificación, datos) 
valores (1, "primera fila")');
+            tx.executeSql ('introduzca en DEMO (identificación, datos) VALUES 
(2, "Segunda fila")');
+        } / / Consulta la base de datos / / function queryDB(tx) 
{tx.executeSql ('SELECT * de DEMO', [], querySuccess, errorCB);
+        } / / Consulta el callback de éxito / / function querySuccess (tx, 
resultados) {var len = results.rows.length;
+            Console.log ("table DEMO:" len + "filas encontradas.");
+            para (var i = 0; < len; i ++) {console.log ("fila =" + i + "ID =" 
+ results.rows.item (i) .id + "datos =" + results.rows.item(i).data);
+            }} / / Callback de error de transacción / / function errorCB(err) 
{console.log ("Error al procesar SQL:" + err.code);
+        } / / Callback éxito de transacción / / function successCB() {var db 
= window.openDatabase ("Database", "1.0", "Demo Córdova", 200000);
+            DB.Transaction (queryDB, errorCB);
+        } / / dispositivo APIs están disponibles / / function onDeviceReady() 
{var db = window.openDatabase ("Database", "1.0", "Demo Córdova", 200000);
+            DB.Transaction (populateDB, errorCB, successCB);
+        } < /script >< / cabeza >< cuerpo >< h1 > ejemplo < / h1 >< p > base 
de datos < /p >< cuerpo / >< / html >
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5ad93d20/www/docs/es/7.x/cordova/storage/sqltransaction/sqltransaction.md
----------------------------------------------------------------------
diff --git a/www/docs/es/7.x/cordova/storage/sqltransaction/sqltransaction.md 
b/www/docs/es/7.x/cordova/storage/sqltransaction/sqltransaction.md
new file mode 100644
index 0000000..d0e0d06
--- /dev/null
+++ b/www/docs/es/7.x/cordova/storage/sqltransaction/sqltransaction.md
@@ -0,0 +1,111 @@
+---
+license: >
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+title: SQLTransaction
+---
+
+# SQLTransaction
+
+Permite la ejecución de sentencias SQL contra la base de datos.
+
+## Métodos
+
+*   **executeSql**: ejecuta una instrucción SQL.
+
+## Detalles
+
+El método de devolución de llamada especificado llamar método de un objeto 
de `Database` transacción, pasa un objeto `SQLTransaction`.
+
+## Plataformas soportadas
+
+*   Android
+*   BlackBerry WebWorks (OS 6.0 o superior)
+*   iOS
+*   Tizen
+
+## Ejecutar SQL ejemplo rápido
+
+    function populateDB(tx) {
+        tx.executeSql('DROP TABLE IF EXISTS DEMO');
+        tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
+        tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
+        tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
+    }
+    
+    function errorCB(err) {
+        alert("Error processing SQL: "+err);
+    }
+    
+    function successCB() {
+        alert("success!");
+    }
+    
+    var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+    db.transaction(populateDB, errorCB, successCB);
+    
+
+## Ejemplo completo
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Storage Example</title>
+    
+        <script type="text/javascript" charset="utf-8" 
src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+    
+        // Wait for device API libraries to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+    
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            var db = window.openDatabase("Database", "1.0", "Cordova Demo", 
200000);
+            db.transaction(populateDB, errorCB, successCB);
+        }
+    
+        // Populate the database
+        //
+        function populateDB(tx) {
+            tx.executeSql('DROP TABLE IF EXISTS DEMO');
+            tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
+            tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First 
row")');
+            tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second 
row")');
+        }
+    
+        // Transaction error callback
+        //
+        function errorCB(err) {
+            alert("Error processing SQL: "+err);
+        }
+    
+        // Transaction success callback
+        //
+        function successCB() {
+            alert("success!");
+        }
+    
+        </script>
+      </head>
+      <body>
+        <h1>Example</h1>
+        <p>SQLTransaction</p>
+      </body>
+    </html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5ad93d20/www/docs/es/7.x/cordova/storage/storage.md
----------------------------------------------------------------------
diff --git a/www/docs/es/7.x/cordova/storage/storage.md 
b/www/docs/es/7.x/cordova/storage/storage.md
new file mode 100644
index 0000000..60eb992
--- /dev/null
+++ b/www/docs/es/7.x/cordova/storage/storage.md
@@ -0,0 +1,69 @@
+---
+license: >
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+title: Almacenamiento de información
+toc_title: Store data
+---
+
+# Almacenamiento de información
+
+> Un [Resumen](../../guide/overview/index.html) de las opciones de 
almacenamiento para Córdoba.
+
+Almacenamiento varias APIs están disponibles para aplicaciones de Córdoba. 
Ver [html5rocks][1]. para una visión más completa y ejemplos.
+
+ [1]: http://www.html5rocks.com/en/features/storage
+
+## LocalStorage
+
+También conocido como *web storage*, *almacenamiento de información simple*, 
o por su interfaz alternativa de *almacenamiento de las sesiones* , esta API 
proporciona almacenamiento par clave-valor síncrono y está disponible en 
implementaciones WebView subyacentes. Consulte [la especificación W3C][2] para 
más detalles.
+
+ [2]: http://www.w3.org/TR/webstorage/
+
+## WebSQL
+
+Esta API está disponible en la vista Web subyacente. La [Especificación de 
base de datos de SQL Web][3] ofrece más tablas de base de datos completa 
accede a través de consultas SQL.
+
+ [3]: http://dev.w3.org/html5/webdatabase/
+
+WebSQL de la ayuda de las siguientes plataformas:
+
+*   Android
+*   BlackBerry 10
+*   iOS
+*   Tizen
+
+## IndexedDB
+
+Esta API está disponible en la vista Web subyacente. [Indexadas DB][4] ofrece 
más funciones que LocalStorage pero menos de WebSQL.
+
+ [4]: http://www.w3.org/TR/IndexedDB/
+
+Las siguientes plataformas soportan IndexedDB:
+
+*   BlackBerry 10
+*   Firefox OS
+*   Windows Phone 8
+*   Windows 8
+
+## Opciones basadas en plugin
+
+Además el almacenamiento que APIs mencionadas anteriormente, el [Archivo 
API][5] permite a los datos del caché en el sistema de archivos local. Otros 
[plugins Cordova][6] proporcionan opciones de almacenamiento similares.
+
+ [5]: https://github.com/apache/cordova-plugin-file/blob/master/doc/index.md
+ [6]: http://plugins.cordova.io/
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5ad93d20/www/docs/es/7.x/cordova/storage/storage.opendatabase.md
----------------------------------------------------------------------
diff --git a/www/docs/es/7.x/cordova/storage/storage.opendatabase.md 
b/www/docs/es/7.x/cordova/storage/storage.opendatabase.md
new file mode 100644
index 0000000..bd61ec4
--- /dev/null
+++ b/www/docs/es/7.x/cordova/storage/storage.opendatabase.md
@@ -0,0 +1,72 @@
+---
+license: >
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+title: openDatabase
+---
+
+# openDatabase
+
+Devuelve un nuevo objeto de `base de datos`.
+
+    var dbShell = window.openDatabase(database_name, database_version, 
database_displayname, database_size);
+    
+
+## Descripción
+
+El método crea un nuevo SQL Database Lite y devuelve un objeto de `Database` 
que permite la manipulación de los datos.
+
+## Plataformas soportadas
+
+*   Android
+*   BlackBerry WebWorks (OS 6.0 y superior)
+*   iOS
+*   Tizen
+
+## Ejemplo rápido
+
+    var db = window.openDatabase("test", "1.0", "Test DB", 1000000);
+    
+
+## Ejemplo completo
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Storage Example</title>
+    
+        <script type="text/javascript" charset="utf-8" 
src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+    
+        // Wait for device API libraries to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+    
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            var db = window.openDatabase("test", "1.0", "Test DB", 1000000);
+        }
+    
+        </script>
+      </head>
+      <body>
+        <h1>Example</h1>
+        <p>Open Database</p>
+      </body>
+    </html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5ad93d20/www/docs/es/7.x/guide/appdev/hooks/index.md
----------------------------------------------------------------------
diff --git a/www/docs/es/7.x/guide/appdev/hooks/index.md 
b/www/docs/es/7.x/guide/appdev/hooks/index.md
new file mode 100644
index 0000000..d77c15a
--- /dev/null
+++ b/www/docs/es/7.x/guide/appdev/hooks/index.md
@@ -0,0 +1,261 @@
+---
+license: >
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+title: Ganchos de guía
+toc_title: Hooks
+---
+
+# Ganchos de guía
+
+Cordova Hooks representan secuencias especiales que podrían agregarse por su 
aplicación y los desarrolladores del plugin o incluso por su propia 
construcción de sistema para personalizar comandos de Córdoba. Scripts gancho 
podrían definirse mediante la adición a la carpeta predefinida especial ( 
`/hooks` ) o a través de archivos de configuración ( `config.xml` y 
`plugin.xml` ) y en serie en el siguiente orden:
+
+  * Aplicación de ganchos de `/hooks` ;
+  * Aplicación de ganchos de `config.xml` ;
+  * Ganchos de plugin de`plugins/.../plugin.xml`.
+
+**Nota**: `/hooks` directorio se considera obsoleta en favor de los elementos 
de gancho en config.xml y plugin.xml.
+
+## Tipos de gancho apoyado
+
+Se admiten los siguientes tipos de gancho:
+
+    after_build
+    after_compile
+    after_clean
+    after_docs
+    after_emulate
+    after_platform_add
+    after_platform_rm
+    after_platform_ls
+    after_plugin_add
+    after_plugin_ls
+    after_plugin_rm
+    after_plugin_search
+    after_plugin_install // Plugin hooks in plugin.xml are executed for a 
plugin being installed only
+    after_prepare
+    after_run
+    after_serve
+    before_build
+    before_clean
+    before_compile
+    before_docs
+    before_emulate
+    before_platform_add
+    before_platform_rm/
+    before_platform_ls
+    before_plugin_add
+    before_plugin_ls
+    before_plugin_rm
+    before_plugin_search/
+    before_plugin_install // Plugin hooks in plugin.xml are executed for a 
plugin being installed only
+    before_plugin_uninstall // Plugin hooks in plugin.xml are executed for a 
plugin being uninstalled only
+    before_prepare
+    before_run
+    before_serve
+    pre_package // Windows and Windows Phone only
+    
+
+## Maneras de definir ganchos
+
+### Via `/hooks` directorio
+
+**Nota**: este método se considera obsoleta en favor de los elementos de 
gancho en config.xml y plugin.xml.
+
+Para ejecutar la acción personalizada cuando se tipo gancho correspondiente, 
usar tipo gancho como un nombre para una subcarpeta dentro del directorio 
'ganchos' y usted la escritura de archivo, por ejemplo:
+
+    # script file will be automatically executed after each build
+    hooks/after_build/after_build_custom_action.js
+    
+
+Al usar estos ganchos, siempre se ejecutará como archivos ejecutables, no 
como módulos JavaScript. **Recuerde**: hacer las secuencias de comandos 
ejecutable en este caso.
+
+### Archivo config.XML
+
+Ganchos pueden ser definidos en `archivo config.xml` mediante elementos `< 
hook >` , por ejemplo de proyecto:
+
+    <hook type="before_build" src="scripts/appBeforeBuild.bat" />
+    <hook type="before_build" src="scripts/appBeforeBuild.js" />
+    <hook type="before_plugin_install" src="scripts/appBeforePluginInstall.js" 
/>
+    
+    <platform name="wp8">
+        <hook type="before_build" src="scripts/wp8/appWP8BeforeBuild.bat" />
+        <hook type="before_build" src="scripts/wp8/appWP8BeforeBuild.js" />
+        <hook type="before_plugin_install" 
src="scripts/wp8/appWP8BeforePluginInstall.js" />
+        ...
+    </platform>
+    
+    <platform name="windows8">
+        <hook type="before_build" 
src="scripts/windows8/appWin8BeforeBuild.bat" />
+        <hook type="before_build" src="scripts/windows8/appWin8BeforeBuild.js" 
/>
+        <hook type="before_plugin_install" 
src="scripts/windows8/appWin8BeforePluginInstall.js" />
+        ...
+    </platform>
+    
+
+### Ganchos de plugin (plugin.xml)
+
+Como desarrollador del plugin que puede definir hook scripts usando elementos 
`< hook >` en un `plugin.xml` que:
+
+    <hook type="before_plugin_install" src="scripts/beforeInstall.js" />
+    <hook type="after_build" src="scripts/afterBuild.js" />
+    
+    <platform name="wp8">
+        <hook type="before_plugin_install" src="scripts/wp8BeforeInstall.js" />
+        <hook type="before_build" src="scripts/wp8BeforeBuild.js" />
+        ...
+    </platform>
+    
+
+`before_plugin_install`, `after_plugin_install`, `before_plugin_uninstall` 
plugin ganchos despedirá exclusivamente para el plugin está 
instalado/desinstalado.
+
+## Interfaz de comandos
+
+### Javascript
+
+Si vas a escribir ganchos usando Node.js debe utilizar la siguiente 
definición de módulo:
+
+```javascript
+module.exports = function(context) {
+    ...
+}
+```
+
+Usted puede hacer su async scipts con Q:
+
+```javascript
+module.exports = function(context) {
+    var Q = context.requireCordovaModule('q');
+    var deferral = new Q.defer();
+
+    setTimeout(function(){
+      console.log('hook.js>> end');
+    deferral.resolve();
+    }, 1000);
+
+    return deferral.promise;
+}
+```
+
+objeto de `context` contiene un gancho tipo, ruta completa del script 
ejecutado, opciones de gancho, argumentos de línea de comandos pasados a 
Córdova y el objeto de nivel superior "Córdoba":
+
+```json
+{
+  "hook": "before_plugin_install",
+  "scriptLocation": "c:\\script\\full\\path\\appBeforePluginInstall.js",
+  "cmdLine": "The\\exact\\command\\cordova\\run\\with arguments",
+  "opts": {
+    "projectRoot":"C:\\path\\to\\the\\project",
+    "cordova": {
+      "platforms": ["wp8"],
+      "plugins": ["com.plugin.withhooks"],
+      "version": "0.21.7-dev"
+    },
+    "plugin": {
+      "id": "com.plugin.withhooks",
+      "pluginInfo": {
+        ...
+      },
+      "platform": "wp8",
+      "dir": "C:\\path\\to\\the\\project\\plugins\\com.plugin.withhooks"
+    }
+  },
+  "cordova": {...}
+}
+
+```
+
+`context.opts.plugin` objeto pasará sólo a scripts ganchos plugin.
+
+También puede requerir módulos adicionales de Córdoba en su script usando 
`context.requireCordovaModule` de la siguiente manera:
+
+```javascript
+var Q = context.requireCordovaModule('q');
+```
+
+**Nota**: nueva interfaz de escritura del módulo cargador se utiliza para los 
archivos `.js` definidos mediante `config.xml` o `plugin.xml` solamente. Por 
razones de compatibilidad gancho archivos especificados mediante carpetas de 
`/hooks` se ejecutan vía nodo child_process spawn, vea 'Non-javascript' la 
sección de abajo.
+
+### No-javascript
+
+**Nota**: le recomendamos escribir sus ganchos usando Node.js para que sean 
multiplataforma, ver sección 'Javascript'.
+
+Scripts de javascript no se ejecutan vía spawn child_process nodo del 
directorio raíz del proyecto y tengan el root directory pasa como primer 
argumento. Todas las demás opciones se pasan al script usando variables de 
entorno:
+
+  * CORDOVA_VERSION - la versión de Cordova-CLI.
+  * CORDOVA_PLATFORMS - lista de plataformas que el comando se aplica a 
separaron por comas (por ejemplo: android, ios).
+  * CORDOVA_PLUGINS - lista de plugin ID que el comando se aplica a separaron 
por comas (por ejemplo: org.apache.cordova.file, 
org.apache.cordova.file-transferencia)
+  * CORDOVA_HOOK - camino al gancho que está siendo ejecutado.
+  * CORDOVA_CMDLINE - los argumentos de línea de comandos exactos pasados a 
Córdoba (p. ej.: cordova ejecutar ios--emular)
+
+Si una secuencia de comandos devuelve un código de salida distinto de cero, 
el comando de padre Córdova se interrumpirá.
+
+También, tenga en cuenta que incluso si trabajas en Windows, y en el caso de 
los scripts gancho no archivos bat (que se recomienda, si desea que las 
secuencias de comandos para trabajar en sistemas operativos no Windows) Cordova 
CLI esperarán una línea shebang como la primera línea para saber el 
intérprete debe utilizar para lanzar el script. La línea de asunto debe 
coincidir con el siguiente ejemplo:
+
+    #!/usr/bin/env [name_of_interpreter_executable]
+    
+
+## Ejemplo de uso
+
+Este ejemplo muestra el uso de ganchos Cordova al rastro a la salida de la 
consola el tamaño del archivo .apk generado para la plataforma Android.
+
+Crear aplicación de Cordova en blanco y agregue la siguiente definición en 
`config.xml` a Córdoba para ejecutar el script de `afterBuild.js` después de 
cada construcción de plataforma.
+
+    <hook type="after_build" src="scripts/afterBuild.js" />
+    
+
+Crear archivo `scripts/afterBuild.js` y agregar la siguiente aplicación. 
Utilizamos versión asincrónica del método `fs.stat` para demostrar cómo 
async funcionalidad podría hacerse a través de ganchos.
+
+    module.exports = function(ctx) {
+        // make sure android platform is part of build 
+        if (ctx.opts.platforms.indexOf('android') < 0) {
+            return;
+        }
+        var fs = ctx.requireCordovaModule('fs'),
+            path = ctx.requireCordovaModule('path'),
+            deferral = ctx.requireCordovaModule('q').defer();
+    
+        var platformRoot = path.join(ctx.opts.projectRoot, 
'platforms/android');
+        var apkFileLocation = path.join(platformRoot, 
'build/outputs/apk/android-debug.apk');
+    
+        fs.stat(apkFileLocation, function(err,stats) {
+            if (err) {
+                 deferral.reject('Operation failed');
+            } else {
+                console.log('Size of ' + apkFileLocation + ' is ' + stats.size 
+' bytes');
+                deferral.resolve();
+            }
+        });
+    
+        return deferral.promise;
+    };
+    
+
+Parámetro `ctx` en ejemplo anterior se pasa por Córdoba y representa el 
contexto de ejecución como la ruta completa del script, plataforma de destino, 
argumentos de línea de comandos, etc. y también expone funcionalidad 
adicional ayudante. Vea la sección de `Interfaz de Script de` arriba para más 
detalles.
+
+Ahora puede añadir la plataforma android y ejecutar build.
+
+    cordova platform add android
+    ..
+    cordova build
+    ..
+    Size of path\to\app\platforms\android\build\outputs\apk\android-debug.apk 
is 1821193 bytes
+    
+
+Aquí se encuentran más ejemplos de buen uso:
+
+<http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5ad93d20/www/docs/es/7.x/guide/appdev/privacy/index.md
----------------------------------------------------------------------
diff --git a/www/docs/es/7.x/guide/appdev/privacy/index.md 
b/www/docs/es/7.x/guide/appdev/privacy/index.md
new file mode 100644
index 0000000..2def61d
--- /dev/null
+++ b/www/docs/es/7.x/guide/appdev/privacy/index.md
@@ -0,0 +1,61 @@
+---
+license: >
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+title: Guía de privacidad
+toc_title: Manage privacy
+---
+
+# Guía de privacidad
+
+Privacidad móvil es una cuestión fundamental que debe enfrentar cada 
desarrollador de la aplicación. Los usuarios esperan que su información 
privada sean recogido y tratado apropiadamente por su aplicación. También hay 
un creciente número de jurisdicciones que tienen ahora los requisitos legales 
sobre prácticas de privacidad móvil.
+
+Esta guía de privacidad de aplicación móvil debe considerarse una 
*cartilla* cuestiones algunos el más significativo. Se esbozan algunas mejores 
prácticas ampliamente aceptadas y proporciona referencias a otras guías más 
detalladas y referencias.
+
+*   **Política de privacidad**: la aplicación debe incluir una política de 
privacidad que se ocupa de temas tales como qué tipo de información recopila 
la aplicación de o acerca de sus usuarios, cómo se utiliza esa información, 
con quienes se comparte y cómo los usuarios pueden tomar decisiones 
relacionadas con la privacidad dentro de la aplicación. Para facilitar la 
comprensión, debe utilizar lenguaje claro y evitar la jerga técnica. Usted 
debe hacer su política de privacidad disponible para los usuarios a revisar 
antes de descargar, como en la descripción de la aplicación en la app 
marketplace. Además, deberías hacer su política de privacidad disponible 
dentro de la aplicación en sí mismo. El tamaño limitado de dispositivo 
móvil muestra crea desafíos para la visualización de las políticas de 
privacidad a los usuarios. Considerar el desarrollo de una *forma corta* de la 
política que incluye la información más importante y luego proporciona un 
enlace a la
  política de "formulario largo" para aquellos interesados en más detalles. 
Varios grupos están intentando desarrollar estándares basados en iconos para 
comunicar las prácticas de privacidad, que usted puede desear considerar una 
vez maduran de estas normas.
+
+*   **Colección de información sensible**: colección de la aplicación de 
la información personal sensible suscita preocupaciones de privacidad 
importante. Ejemplos de información personal sensible información financiera, 
salud información e información de o acerca de los niños. También incluye 
información recopilada de algunos sensores y bases de datos suelen encontradas 
en dispositivos móviles y tabletas, como información de geolocalización, 
contactos/agenda, cámara/micrófono y fotografías y vídeos almacenados. 
Consulte las siguientes páginas de documentación para más información: 
[cámara][1], [captura][2], [contactos][3] y [geolocalización][4]. 
Generalmente, debe obtener el consentimiento expreso del usuario antes de 
recoger información sensible y, si es posible, provee un mecanismo de control 
que permite al usuario cambiar fácilmente los permisos. Sistemas operativos de 
la aplicación puede ayudar en algunos casos mediante la presentación de 
cuadros de
  diálogo de just-in-time que pedir el permiso del usuario antes de 
colección. En estos casos, asegúrese de tomar ventaja de cualquier 
oportunidad de personalizar el texto de la caja de diálogo para aclarar cómo 
la aplicación usa y, si procede, comparte dicha información.
+
+*   **Evitar la sorpresa de usuario**: Si la aplicación recopila o utiliza la 
información de una manera que puede ser sorprendente para los usuarios 
teniendo en cuenta el propósito principal de la aplicación (por ejemplo, un 
reproductor de música que tiene acceso a fotografías almacenadas), usted debe 
tomar medidas similares como con la colección de información personal 
confidencial. Es decir, deberías considerar fuertemente el uso de cuadros de 
diálogo de just-in-time para informar al usuario sobre la colección o el uso 
de esa información y, si procede, proporcionan un control de privacidad 
correspondiente.
+
+*   **Recopilación de datos de terceros o compartir**: Si la aplicación 
recoge información que se proporciona a otra empresa... como una plataforma de 
red social o una red de anuncios (por ejemplo, si su aplicación muestra 
publicidad)--se deben informar a los usuarios de esa colección y compartir. 
Como mínimo, su política de privacidad debe describir la recopilación de 
información y compartir y, si procede, ofrecer a sus usuarios la capacidad de 
control o opt-out de dicha recogida o compartir.
+
+*   **Seguridad y limitación de la colección**: los usuarios confían su 
aplicación con su información y esperan que tome precauciones de seguridad 
apropiadas para protegerla. Una de las mejores maneras de evitar compromisos de 
seguridad de la información personal no es recoger la información en primer 
lugar a menos que su aplicación tiene una razón de negocios específicos y 
legítima para la colección. Para la información que necesitan para ser 
recogidos, asegúrese de que usted proporciona controles de seguridad 
apropiadas para proteger esa información, si se almacena en el dispositivo o 
en los servidores de back-end. También debe desarrollar una política de 
retención de datos adecuados que se implementa dentro de la aplicación y en 
los servidores de back-end.
+
+ [1]: cordova_camera_camera.md.html
+ [2]: cordova_media_capture_capture.md.html
+ [3]: cordova_contacts_contacts.md.html
+ [4]: cordova_geolocation_geolocation.md.html
+
+Las siguientes son algunas guías de privacidad móvil ayuda adicional para 
los desarrolladores:
+
+*   Procurador General de California, [privacidad on the Go: recomendaciones 
para el ecosistema móvil][5]
+
+*   Centro para la democracia & tecnología, el futuro del Foro de privacidad, 
[las prácticas recomendadas para los desarrolladores de aplicaciones 
móviles][6]
+
+*   CTIA-The Wireless Association, [servicios basados en las mejores 
prácticas y directrices para la ubicación][7]
+
+*   Comisión Federal de comercio, [privacidad móvil divulgaciones: 
construyendo confianza a través de la transparencia][8]
+
+*   Futuro del Foro de la privacidad, [privacidad de aplicación][9] web
+
+ [5]: http://oag.ca.gov/sites/all/files/pdfs/privacy/privacy_on_the_go.pdf
+ [6]: 
http://www.futureofprivacy.org/wp-content/uploads/Best-Practices-for-Mobile-App-Developers_Final.pdf
+ [7]: http://www.ctia.org/business_resources/wic/index.cfm/AID/11300
+ [8]: http://www.ftc.gov/os/2013/02/130201mobileprivacyreport.pdf
+ [9]: http://www.applicationprivacy.org
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5ad93d20/www/docs/es/7.x/guide/appdev/security/index.md
----------------------------------------------------------------------
diff --git a/www/docs/es/7.x/guide/appdev/security/index.md 
b/www/docs/es/7.x/guide/appdev/security/index.md
new file mode 100644
index 0000000..8b5e6dc
--- /dev/null
+++ b/www/docs/es/7.x/guide/appdev/security/index.md
@@ -0,0 +1,109 @@
+---
+license: >
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+title: Guía de seguridad
+toc_title: Manage security
+---
+
+# Guía de seguridad
+
+La siguiente guía incluye algunas mejores prácticas de seguridad que debe 
considerar al desarrollar una aplicación de Córdoba. Por favor, tenga en 
cuenta que la seguridad es un tema muy complicado y por lo tanto, esta guía no 
es exhaustiva. Si usted cree que puede contribuir a esta guía, sienta por 
favor libre de presentar un número de localizador de fallas de Cordova bajo 
["Documentación"][1]. Esta guía está diseñada para ser aplicable al 
desarrollo general Cordova (todas las plataformas), pero tendrá en cuenta 
consideraciones específicas de la plataforma.
+
+ [1]: https://issues.apache.org/jira/browse/CB/component/12316407
+
+## Esta guía aborda los siguientes temas:
+
+*   Lista blanca
+*   Iframes y el mecanismo de identificación de llamada
+*   Certificado de clavos
+*   Los certificados autofirmados
+*   Almacenamiento cifrado
+*   Consejos generales
+*   Artículos recomendados y otros recursos
+
+## Lista blanca
+
+*   Lea y entienda al manual lista blanca
+
+*   Dominio whitelisting no funciona en Android API 10 y a continuación y WP8 
para iframes y XMLHttpRequest. Esto significa que un atacante puede cargar 
cualquier tipo de dominio en un iframe y cualquier script en esa página dentro 
del iframe puede acceder directamente a objetos Cordova JavaScript y los 
objetos de Java nativos correspondientes. Debe tomar esto en consideración 
cuando la creación de aplicaciones para estas plataformas. En la práctica 
esto significa asegurándose de que se meta una API Android superior a 10, y 
que si es posible no utilice un iframe para cargar contenido externo - utilizan 
el plugin inAppBrowser u otros plugins de terceros.
+
+## Iframes y el mecanismo de identificación de llamada
+
+Si el contenido se sirve en un iframe desde un dominio en lista blanca, ese 
dominio tendrá acceso al puente Cordova nativo. Esto significa que si usted 
blanca una red de publicidad de terceros y servir los anuncios a través de un 
iframe, es posible que un anuncio malicioso será capaz de romper el iframe y 
llevar a cabo acciones maliciosas. Debido a esto, generalmente no debe usar 
iframes a menos que usted controla el servidor que aloja el contenido del 
iframe. También tenga en cuenta que existen plugins de terceros disponibles 
para apoyar las redes de publicidad. Tenga en cuenta que esta declaración no 
es verdadera para iOS, que intercepta todo, incluyendo las conexiones iframe.
+
+## Certificado de clavos
+
+Córdova no admite certificado verdadera fijación. La barrera principal para 
esto es una falta de API nativas en Android para interceptar conexiones SSL 
para realizar la comprobación del certificado del servidor. (Aunque es posible 
certificado de fijación en Android en Java utilizando JSSE, el webview en 
Android está escrito en C++, y las conexiones del servidor son manejadas para 
usted por el webview, así que no cabe usar Java y JSSE allí.) Desde Apache 
Cordova pretende ofrecer APIs consistentes en múltiples plataformas, no tener 
una capacidad en una importante plataforma rompe esa consistencia.
+
+Hay formas para aproximar certificado fijación, tales como comprobación de 
que clave pública del servidor (huella digital) es el valor esperado cuando se 
inicia la aplicación o en otras varias veces durante la vida útil de su 
aplicación. Hay plugins de terceros disponibles para Córdoba que pueda hacer 
eso. Sin embargo, esto no es lo mismo como verdadero certificado de fijación 
que verifica automáticamente el valor esperado de cada conexión con el 
servidor.
+
+## Los certificados autofirmados
+
+No es recomendable utilizar certificados autofirmados en su servidor. Si usted 
desea SSL, entonces se recomienda que el servidor dispone de un certificado que 
ha sido debidamente firmado por un conocido CA (autoridad certificadora). La 
incapacidad de cierto anclaje certificado hace importante.
+
+La razón es que aceptando certificados autofirmados omite la validación de 
la cadena de certificado, que permite cualquier certificado de servidor ser 
considerado válido por el dispositivo. Esto abre la comunicación a los 
ataques man-in-the-middle. Resulta muy fácil para un hacker no solo 
interceptar y leer toda la comunicación entre el dispositivo y el servidor, 
sino también modificar la comunicación. El aparato nunca sabrá que esto 
sucede porque no Verifique que el certificado del servidor está firmado por 
una CA de confianza. El dispositivo no dispone de ninguna prueba de que el 
servidor es lo que se espera. Debido a la facilidad de hacer un ataque 
man-in-the-middle, aceptar los certificados autofirmados sólo es ligeramente 
mejor que correr sólo http en lugar de https en una red sin confianza. Sí, 
podría cifrarse el tráfico, pero podría ser cifrado con la clave de un 
man-in-the-middle, para que el man-in-the-middle pueda acceder a todo, para que 
el cifrado es inú
 til salvo para observadores pasivos. Usuarios de confían SSL para estar 
seguro, y esto estaría deliberadamente haciendo lo inseguro, así que el uso 
SSL se convierte engañoso. Si esto se utilizará en una red de confianza (es 
decir, usted es enteramente dentro de una empresa controlada), y luego 
certificados autofirmados todavía no se recomiendan. Las dos recomendaciones 
en una red de confianza son utilizar http porque la propia red es de confianza, 
o para obtener un certificado firmado por una CA de confianza (no auto 
firmado). La red es de confianza o no.
+
+Los principios aquí descritos no son específicos de Apache Cordova, se 
aplican a todas las comunicaciones cliente-servidor.
+
+Cuando se ejecuta Cordova en Android, usando `android:debuggable="true"` en la 
aplicación de manifiesto permitirá errores de SSL como certificado de errores 
de validación de la cadena de certificados autofirmados. Así que usted puede 
utilizar certificados autofirmados en esta configuración, pero esto no es una 
configuración que se debe utilizar cuando la aplicación está en producción. 
Es para ser utilizado sólo durante el desarrollo de aplicaciones.
+
+## Almacenamiento cifrado
+
+(TBD)
+
+## Consejos generales
+
+### No utilice Android Gingerbread.
+
+*   Establezca su nivel de min-blanco-sdk superior a 10. API 10 es pan de 
jengibre, y pan de jengibre ya no es apoyado por Google o dispositivo de 
fabricantes y por lo tanto no es recomendar por el equipo de Córdoba. 
+*   Pan de jengibre se ha demostrado para ser inseguro y uno de los más 
dirigidos OSs móvil 
[http://www.mobilemag.com/2012/11/06/andriod-2-3-gingerbread-security/][2]. 
+*   La lista blanca en Android no funciona con pan de jengibre o inferior. 
Esto significa que un atacante puede cargar código malicioso en un iframe que 
entonces tendría acceso a todas las APIs de Cordova y podría utilizar ese 
acceso para robar datos personales, enviar mensajes SMS a un número de 
tarificación y realizar otros actos dolosos. 
+
+ [2]: http://bgr.com/2012/11/06/android-security-gingerbread-malware/
+
+### Utilice InAppBrowser para enlaces externos
+
+*   Utilice el InAppBrowser al abrir enlaces a cualquier sitio web externo. 
Esto es mucho más seguro que un nombre de dominio e incluyendo el contenido 
directamente en su aplicación porque los InAppBrowser a utilizar las funciones 
de seguridad del navegador nativo y no dará el sitio web de acceso a su 
entorno Cordova whitelisting. Incluso si usted confía en el sitio web de 
terceros e incluirlo directamente en su aplicación, podría relacionar a ese 
sitio web de terceros con contenido web malintencionado. 
+
+### Validar todos los usuarios de entrada
+
+*   Siempre validar cualquier entrada que acepta su solicitud. Esto incluye 
nombres de usuario, contraseñas, fechas, cargado de medios, etc.. Porque un 
atacante podría manipular sus activos HTML y JS (ya sea por su aplicación de 
descompilación o usando herramientas de depuración como chrome://inspect), 
esta validación debe también realizarse en su servidor, especialmente antes 
de entregar los datos a cualquier servicio de back-end. 
+*   Donde deben validar datos de otras fuentes: documentos del usuario, 
contactos, notificaciones push
+
+### No almacenar en caché los datos sensibles
+
+*   Si se almacena en caché los nombres de usuario, contraseñas, 
información de geolocalización y otros datos sensibles, entonces podría 
potencialmente ser recuperó más tarde por un usuario no autorizado o la 
aplicación.
+
+### No utilizar eval() si no sabes lo que estás haciendo
+
+*   El JavaScript función eval() tiene una larga historia de abusos. Usando 
incorrectamente puede abrir su código para ataques de inyección, depuración 
de las dificultades y la ejecución de código más lenta. 
+
+### No asuma que su código fuente es seguro
+
+*   Desde una aplicación de Cordova se construye de HTML y JavaScript activos 
que conseguir envasados en un recipiente nativo, no debe considerar su código 
de seguridad. Es posible revertir el ingeniero una aplicación Cordova. 
+
+## Artículos recomendados y otros recursos
+
+*   [Chuleta de HTML5 seguridad, detallando cómo asegurar su aplicación 
HTML5][3]
+*   [Artículo de PhoneGap en dispositivo de seguridad, como el uso de datos 
cifrados][4]
+*   [White Paper sobre fallas de seguridad conocidas en Webview basado en 
aplicaciones híbridas][5]
+
+ [3]: https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet
+ [4]: https://github.com/phonegap/phonegap/wiki/Platform-Security
+ [5]: http://www.cis.syr.edu/~wedu/Research/paper/webview_acsac2011.pdf
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/5ad93d20/www/docs/es/7.x/guide/appdev/whitelist/index.md
----------------------------------------------------------------------
diff --git a/www/docs/es/7.x/guide/appdev/whitelist/index.md 
b/www/docs/es/7.x/guide/appdev/whitelist/index.md
new file mode 100644
index 0000000..461e6d8
--- /dev/null
+++ b/www/docs/es/7.x/guide/appdev/whitelist/index.md
@@ -0,0 +1,146 @@
+---
+license: >
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+title: Guía de lista blanca
+toc_title: Whitelisting
+---
+
+# Guía de lista blanca
+
+Listas blancas de dominio es un modelo de seguridad que controla el acceso a 
dominios externos sobre los cuales su aplicación no tiene ningún control. 
Cordova ofrece una política de seguridad configurable para definir los sitios 
externos pueden accederse. De forma predeterminada, nuevas aplicaciones están 
configurados para permitir el acceso a cualquier sitio. Antes de su aplicación 
a la producción, debe formular una lista blanca y permitir el acceso a la red 
específica dominios y subdominios.
+
+Para Android y iOS (a partir de sus 4,0 versiones), la política de seguridad 
de Cordova es extensible mediante una interfaz plugin. Su aplicación debe 
utilizar el [cordova-plugin-whitelist][1], que proporciona mayor seguridad y 
capacidad de configuración que las versiones anteriores de Cordova. Mientras 
que es posible implementar su propio plugin de lista blanca, no se recomienda a 
menos que su aplicación tiene necesidades muy específicas de seguridad 
política. Ver el [cordova-plugin-whitelist][1] para obtener más información 
sobre el uso y configuración.
+
+ [1]: https://github.com/apache/cordova-plugin-whitelist
+
+Para otras plataformas, Cordova se adhiere a la especificación [W3C Widget de 
acceso][2] , que se basa en el elemento `< access >` dentro de archivo 
`config.xml` de la aplicación para habilitar el acceso a la red en dominios 
específicos. Para los proyectos que se basan en el flujo de trabajo de la CLI 
que se describe en la interfaz de línea de comandos, este archivo se encuentra 
en el directorio superior del proyecto. De lo contrario para caminos de 
desarrollo específico de plataforma, lugares figuran en las secciones a 
continuación. (Ver a las diversas guías de plataforma para obtener más 
información sobre cada plataforma).
+
+ [2]: http://www.w3.org/TR/widgets-access/
+
+Los siguientes ejemplos demuestran sintaxis `< access >` lista blanca:
+
+*   Acceso a [google.com][3]:
+    
+        <access origin="http://google.com"; />
+        
+
+*   Acceso a la segura [google.com][4] (`https://`):
+    
+        <access origin="https://google.com"; />
+        
+
+*   Acceso al subdominio [maps.google.com][5]:
+    
+        <access origin="http://maps.google.com"; />
+        
+
+*   Acceso a todos los subdominios de [google.com][3], por ejemplo, 
[mail.google.com][6] y [docs.google.com][7]:
+    
+        <access origin="http://*.google.com"; />
+        
+
+*   Acceso a *todos* los dominios, por ejemplo, [google.com][3] y 
[developer.mozilla.org][8]:
+    
+        <access origin="*" />
+        
+    
+    Este es el valor predeterminado para nuevos proyectos CLI.
+
+ [3]: http://google.com
+ [4]: https://google.com
+ [5]: http://maps.google.com
+ [6]: http://mail.google.com
+ [7]: http://docs.google.com
+ [8]: http://developer.mozilla.org
+
+Tenga en cuenta que algunos sitios web puede redirigir automáticamente desde 
su página de inicio a una url distinta, por ejemplo utilizando el protocolo 
https o a un dominio específico del país. Por ejemplo http://www.google.com 
redireccionará para utilizar SSL/TLS en https://www.google.com y entonces más 
lejos puede redirigir a una geografía como https://www.google.co.uk. Estas 
situaciones pueden requerir las entradas de lista blanca modificada o 
adicionales más allá de su requisito inicial. Por favor considere esto como 
que está construyendo su lista blanca.
+
+Tenga en cuenta que la lista blanca se aplica sólo a los principal webview 
Cordova y no se aplica a un InAppBrowser webview o abrir enlaces en el 
navegador web del sistema.
+
+## Amazon fuego OS Whitelisting
+
+Reglas específicas de la plataforma whitelisting se encuentran 
en`res/xml/config.xml`.
+
+## Whitelisting Android
+
+Como el anterior, ver [cordova-plugin-whitelist][1] para más detalles. 
Cordova-androide antes 4.0.0, consulte las versiones anteriores de esta 
documentación.
+
+## iOS ListaBlanca
+
+Como el anterior, ver [cordova-plugin-whitelist][1] para más detalles. 
Cordova-ios antes 4.0.0, consulte las versiones anteriores de esta 
documentación.
+
+## BlackBerry 10 listas blancas
+
+Las reglas de las listas blancas se encuentran en `www/config.xml`.
+
+Uso de blackBerry decenas de comodines difiere de otras plataformas de dos 
maneras:
+
+*   Cualquier contenido utilizando `XMLHttpRequest` debe declararse 
explícitamente. Configuración de `origin="*"` no funciona en este caso. 
Alternativamente, puede deshabilitarse toda seguridad web usando la preferencia 
`WebSecurity` que se describe en configuración de BlackBerry:
+    
+        <preference name="websecurity" value="disable" />
+        
+
+*   Como alternativa al ajuste `*.domain`, establece un atributo adicional 
`subdomains` en `true`. Se debe establecer en `false` de forma predeterminada. 
Por ejemplo, el siguiente permite acceder a `google.com`, `maps.google.com`y 
`docs.google.com`:
+    
+        <access origin="http://google.com"; subdomains="true" />
+        
+    
+    El siguiente angosto acceso a `google.com`:
+    
+        <access origin="http://google.com"; subdomains="false" />
+        
+    
+    Especifique el acceso a todos los ámbitos, incluido el protocolo local 
`file://` :
+    
+        <access origin="*" subdomains="true" />
+        
+
+(Para obtener más información sobre soporte, véase documentación de 
BlackBerry en el [elemento de acceso][9].)
+
+ [9]: 
https://developer.blackberry.com/html5/documentation/ww_developing/Access_element_834677_11.html
+
+## Firefox OS
+
+En Firefox OS no hay ningún concepto de listas blancas un dominio 
específico. En su lugar hay un permiso especial llamado [SystemXHR][10]. Es 
necesario agregar este permiso al `archivo config.xml`:
+
+ [10]: 
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#Permissions
+
+    <platform name="firefoxos">
+        <permission name="systemXHR" privileged="true" description="load data 
from server" />
+    </platform>
+    
+
+El objeto `XMLHttpRequest` debe ser instanciada con dos parámetros `mozAnon` 
y `mozSystem`:
+
+    var request = new XMLHttpRequest({
+        mozAnon: true,
+        mozSystem: true});
+    
+
+Esta solución es transparente, así que no hay diferencias para otras 
plataformas.
+
+## Lista blanca de Windows Phone
+
+Las reglas de listas blancas para Windows Phone 8 se encuentran en el archivo 
`config.xml` de la aplicación.
+
+## Las listas blancas Tizen
+
+Sus reglas se encuentran en el archivo `config.xml` de la aplicación. La 
plataforma se basa en el mismo atributo `subdomains` como la plataforma 
BlackBerry. (Para obtener más información sobre compatibilidad, consulte 
documentación de Tizen sobre el [elemento de acceso][11].)
+
+ [11]: 
https://developer.tizen.org/help/index.jsp?topic=%2Forg.tizen.web.appprogramming%2Fhtml%2Fide_sdk_tools%2Fconfig_editor_w3celements.htm
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cordova.apache.org
For additional commands, e-mail: commits-h...@cordova.apache.org

Reply via email to