You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2013/10/02 21:59:35 UTC

[28/51] [partial] CB-4975 Add 3.1.0 version of non-english docs.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/2b8e503f/docs/es/3.1.0/guide/platforms/blackberry10/plugin.md
----------------------------------------------------------------------
diff --git a/docs/es/3.1.0/guide/platforms/blackberry10/plugin.md b/docs/es/3.1.0/guide/platforms/blackberry10/plugin.md
new file mode 100644
index 0000000..d2a52b6
--- /dev/null
+++ b/docs/es/3.1.0/guide/platforms/blackberry10/plugin.md
@@ -0,0 +1,189 @@
+---
+
+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.
+---
+
+# BlackBerry 10 Plugins
+
+Esto es una continuación de la guía de desarrollo de Plugin para Córdoba. Una vez que ha revisado ese contenido, ahora vamos mirar las cosas que necesitamos tener el plugin de eco para la plataforma BlackBerry 10. Recuerdo que el plugin de Echo básicamente devuelve la secuencia lo que un usuario proporciona a la función `window.echo`:
+
+    window.echo = function(str, callback) {
+            cordova.exec(callback, function(err) {
+                callback('Nothing to echo.');
+            }, "Echo", "echo", [str]);
+        };
+    
+
+Un plugin nativo de BlackBerry 10 para Cordova contiene código JavaScript y también puede contener código nativo. El ejemplo de plugin de Echo demuestra cómo invocar la funcionalidad nativa de JavaScript. El nativo y código JavaScript comunican entre sí a través de un marco de JNEXT. Cada plugin debe incluir también un `plugin.xml` archivo.
+
+## Creando la parte nativa de su plugin
+
+Para crear la parte nativa de su plugin, abra el BlackBerry 10 NDK IDE y seleccione Archivo > Nueva > BlackBerry proyecto > extensión nativa > BlackBerry WebWorks. Introduzca su nombre de proyecto deseado / ubicación y haga clic en terminar.
+
+El proyecto creado por el IDE contiene código de ejemplo para un plugin de memoria. Puede reemplazar o modificar estos archivos para incluir su propia funcionalidad.
+
+*   `*name*_js.hpp`: Rúbrica C++ para el código JNEXT.
+
+*   `*name*_js.cpp`: Código C++ para JNEXT.
+
+La interfaz nativa para la extensión JNEXT puede verse en el archivo de cabecera plugin ubicado en el directorio público de su proyecto. También contiene constantes y funciones de utilidad que se pueden utilizar en el código nativo. Tu plugin debe derivarse de JSExt que se define en plugin.h. Es decir, debe implementar la siguiente clase:
+
+    class JSExt
+    {
+    public:
+        virtual ~JSExt() {};
+        virtual string InvokeMethod( const string& strCommand ) = 0;
+        virtual bool CanDelete( void ) = 0;
+    private:
+        std::string m_id;
+    };
+    
+
+Por lo tanto, su extensión debe incluir el archivo de encabezado plugin.h. En el ejemplo de eco, utiliza JSExt como sigue en el archivo echo_js.hpp:
+
+    #include "../public/plugin.h"
+    #include <string>
+    
+    #ifndef ECHO_JS_H_
+    #define ECHO_JS_H_
+    
+    class Echo : public JSExt
+    {
+    public:
+        explicit Echo(const std::string& id);
+        virtual ~Echo();
+        virtual std::string InvokeMethod(const std::string& command);
+        virtual bool CanDelete();
+    private:
+        std::string m_id;
+    };
+    
+    #endif // ECHO_JS_H_
+    
+
+El `m_id` es un atributo que contiene el identificador JNEXT para este objeto. La identificación se pasa a la clase como argumento para el constructor. Es necesario para desencadenar eventos en el lado de JavaScript de nativos. Se utiliza el método CanDelete por JNEXT para determinar si su objeto nativo puede ser eliminado. La función de InvokeMethod se llama como resultado de una petición de JavaScript para invocar un método de este objeto particular. El único argumento de esta función es una cadena de JavaScript que este método debería analizar para determinar qué método de objeto nativo debería ser ejecutado. Ahora podemos implementar estas funciones en echo_js.cpp. Por ejemplo el eco, implementamos InvokeMethod función como sigue:
+
+    string Echo::InvokeMethod(const string& command) {
+    
+        //parse command and args from string
+        int index = command.find_first_of(" ");
+        string strCommand = command.substr(0, index);
+        string strValue = command.substr(index + 1, command.length());
+    
+        // Determine which function should be executed
+        if (strCommand == "echo") {
+            return strValue;
+        } else {
+            return "Unsupported Method";
+        }
+    }
+    
+
+Tu plugin nativo también debe implementar las siguientes funciones de callback:
+
+*   `extern char * onGetObjList (void);`
+
+*   `extern JSExt * onCreateObject (const cadena & strClassName, const string & strObjId);`
+
+La función `onGetObjList` devuelve una lista separada por comas de clases apoyada por JNEXT. JNEXT utiliza esta función para determinar el conjunto de clases que puede crear una instancia de JNEXT. En nuestro plugin de eco, tenemos lo siguiente en `echo_js.cpp`:
+
+    Char * onGetObjList() {static char nombre [] = "Eco";
+        devolver el nombre;
+    }
+    
+
+La función de `onCreateObject` toma dos parámetros. El primer parámetro es el nombre de la clase solicitada a crearse desde el lado de JavaScript. Nombres válidos son aquellos que son devueltos en `onGetObjList`. El segundo parámetro es el identificador de objeto único para la clase. Este método devuelve un puntero al objeto plugin creado. En nuestro plugin de eco, tenemos lo siguiente en `echo_js.cpp`:
+
+    JSExt * onCreateObject (const cadena & className, string const & id) {si (className == "Eco") {return new Echo(id);
+        } return NULL;
+    }
+    
+
+## Creación de la parte de JavaScript de su plugin
+
+La porción de JavaScript de tu plugin debe contener los siguientes archivos:
+
+*   `client.js`: Esto se considera el lado del cliente y contiene la API que se puede llamar una aplicación Cordova. La API en `client.js` llamadas realiza llamadas a `index.js` . La API en `client.js` también conecta las funciones de devolución de llamada a los acontecimientos que la segunda prueba de fuego.
+
+*   `index.js`: Carga Cordova `index.js` y hace accesible a través del puente de cordova.exec. El `client.js` archivo hace llamadas a la API en el `index.js` archivo, que a su vez hace llamar a JNEXT para comunicarse con el lado nativo.
+
+El lado del cliente y el servidor ( `client.js` y `index.js` ) interactúa a través de la `Cordova.exec` función. Así, en `client.js` se invoca el `exec` función y proporcionar los argumentos necesarios. En el plugin de eco, tenemos lo siguiente en el `client.js` archivo:
+
+    var service = "org.apache.cordova.blackberry.echo",
+        exec = cordova.require("cordova/exec");
+    
+    module.exports = {
+        echo: function (data, success, fail) {
+            exec(success, fail, service, "echo", { data: data });
+        }
+    };
+    
+
+Ahora, `index.js` interactúa con el lado nativo utilizando JNEXT. Así es asociar una función constructora llamada Eco para JNEXT. Dentro del constructor se realizan las siguientes operaciones claves usando la función init:
+
+*   Especificar el módulo requiere exportado por el lado nativo. El nombre del módulo requerido debe coincidir con el nombre de un archivo de biblioteca compartida (archivo así).
+
+`JNEXT.require("libecho")`
+
+*   Crear un objeto mediante un módulo adquirido y guardamos el identificador devuelto por la llamada. Self.m_id = JNEXT.createObject ("libecho.Echo"); Cuando la aplicación llama a la función Eco `client.js` , que llame a su vez llama a la función Eco `index.js` , donde el objeto PluginResult envía una respuesta (datos) a `client.js` . Puesto que el argumento args promulgó las funciones fue convertido por JSON.stringfy() y codificado como un URIcomponent, se deben llamar a los siguientes:
+
+`data = JSON.parse(decodeURIComponent(args.data));`
+
+Ahora puedes enviar los datos de vuelta. Vamos a ponerlo todo junto:
+
+    module.exports = {
+    
+        echo: function (success, fail, args, env) {
+    
+            var result = new PluginResult(args, env),
+            data = JSON.parse(decodeURIComponent(args.data)),
+            response = echo.getInstance().echo(data);
+            result.ok(response, false);
+        }
+    };
+    
+
+## Arquitectura del plugin
+
+Usted puede colocar los artefactos del plugin, que incluye el `plugin.xml` archivo, los archivos fuente (C++, JavaScript) y los archivos binarios ( `.so` ) dentro de cualquier estructura de directorios, mientras correctamente especifica las ubicaciones de los archivos en el `plugin.xml` archivo. Una estructura típica de este aspecto:
+
+***your\_project\_directory*** (> plugin.xml)
+
+*   **www** (> client.js)
+*   **src** 
+    *   **blackberry10** (> **nativa** , index.js > *.cpp, *.hpp)
+    *   **dispositivo** (>*archivo binario* * así)
+    *   **simulador** (>*archivo binario* * así)
+
+(La lista muestra la relación jerárquica entre los directorios de nivel superior. El paréntesis muestra el contenido de un directorio determinado. Todos los nombres de directorio aparecen en negrita. Nombres de archivo son precedidos por el `>` signo.)
+
+## Contenido de la `plugin.xml` archivo
+
+El `plugin.xml` archivo contiene el espacio de nombres de la extensión y otros metadatos. Definir el espacio de nombres y especificar otros metadatos para el plugin de Echo como sigue:
+
+    <plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
+        id="org.apache.cordova.blackberry.echo"
+        version="1.0.0">
+        <js-module src="www/client.js">
+            <merges target="navigator" />
+        </js-module>
+        <platform name="blackberry10">
+            <source-file src="src/blackberry10/index.js" />
+            <lib-file src="src/blackberry10/native/device/libecho.so" arch="device" />
+            <lib-file src="src/blackberry10/native/simulator/libecho.so" arch="simulator" />
+            <config-file target="www/config.xml" parent="/widget">
+                <feature name="org.apache.cordova.blackberry.echo" value="org.apache.cordova.blackberry.echo" />
+            </config-file>
+        </platform>
+    </plugin>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/2b8e503f/docs/es/3.1.0/guide/platforms/blackberry10/tools.md
----------------------------------------------------------------------
diff --git a/docs/es/3.1.0/guide/platforms/blackberry10/tools.md b/docs/es/3.1.0/guide/platforms/blackberry10/tools.md
new file mode 100644
index 0000000..aee32eb
--- /dev/null
+++ b/docs/es/3.1.0/guide/platforms/blackberry10/tools.md
@@ -0,0 +1,140 @@
+---
+
+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.
+---
+
+# BlackBerry 10 herramientas de línea de comandos
+
+El `cordova` la utilidad de línea de comandos es una herramienta de alto nivel que le permite construir aplicaciones a través de varias plataformas a la vez. Una versión anterior del marco Cordova ofrece conjuntos de herramientas de línea de comandos específicos de cada plataforma. Para usarlos como una alternativa a la CLI, tienes que descargar esta versión de Córdoba desde [cordova.apache.org][1]. La descarga contiene los archivos separados para cada plataforma. Ampliar la plataforma de destino. Las herramientas aquí descritas están normalmente disponibles en el nivel superior `bin` Directorio de otra manera, consulte el archivo **Léame** para obtener direcciones más detallada.
+
+ [1]: http://cordova.apache.org
+
+Si necesitas ayuda con cualquier comando que se enumeran a continuación, escriba el comando junto con el `-h` o `-help` argumentos, que son compatibles con todos los comandos y que proporcionan descripciones para cada uno de los argumentos disponibles.
+
+## create
+
+El `create` comando crea un nuevo proyecto:
+
+    bin/crear < path-a-proyecto ><-paquete del proyecto ><-nombre del proyecto >
+    
+
+donde
+
+*   `<path-to-project>`especifica el directorio que quieres el proyecto creado en
+
+*   `<project-package>`especifica un identificador de estilo de dominio inverso
+
+*   `<project-name>`especifica el nombre para mostrar aplicaciones
+
+**Nota:** el `create` comando bootstraps instalación dependencia a través de la `npm install` mando. Dependiendo de los permisos de directorio y sistema de instalación, esto puede requerir privilegios de administrador. Si hay problema en OSX/Linux, ejecute `sudo npm install` antes de usar el `create` comando. En Windows, ejecute `npm install` en una utilidad de línea de comandos abrió con privilegios de administrador.
+
+## target
+
+La `target` mando le permite administrar el emulador o dispositivos BlackBerry que se utilizan para probar su aplicación. Puede agregar o quitar un destino o fijar un objetivo como el destino predeterminado.
+
+### Añadir un destino
+
+    <path-to-project>/cordova/target add <name> <ip-address> [-t | --type <device | simulator>] [-p | --password <password>] [--pin <device-pin>]
+    
+
+donde
+
+*   `<name>`especifica un nombre único para el objetivo.
+
+*   `<ip-address>`especifica la dirección ip del dispositivo BlackBerry o simulador.
+
+*   `-p | --password <password>`especifica la contraseña para el dispositivo o el emulador. Esto sólo es necesario si el dispositivo o el emulador está protegido con contraseña.
+
+*   `--pin <device-pin>`especifica el PIN del dispositivo BlackBerry, que identifica el dispositivo como un host válido para el token de depuración. Este argumento sólo es necesario si desea crear un token de depuración.
+
+### Quitar un destino
+
+    <path-to-project>/cordova/target remove <name>
+    
+
+### Establecer un objetivo como predeterminado
+
+    <path-to-project>/cordova/target default <name>
+    
+
+## construir
+
+El `build` comando construye el proyecto como un archivo en pantalla. Puedes construir tu aplicación en cualquier modo de lanzamiento (que produce un archivo firmado pantalla) o en modo debug (que produce un archivo unsigned pantalla).
+
+### Construya su proyecto en modo de liberación
+
+    <path-to-project>/cordova/build release [-k | --keystorepass <password>] [-b | --buildId <number>] [-p | --params <params-JSON-file>]
+    
+
+donde
+
+*   `-k | --keystorepass <password>`especifica la contraseña que se ha definido al configurar su ordenador para firmar las aplicaciones.
+
+*   `-b | --buildId <number>`especifica el número de versión de compilación de la aplicación. Por lo general, este número debe ser incrementado de la anterior versión firmada. Este argumento es opcional.
+
+*   `-p | --params <params-JSON-file>`especifica un archivo JSON que contiene parámetros adicionales para pasar a herramientas de aguas abajo. Este argumento es opcional.
+
+### Construya su proyecto en modo de depuración
+
+    <path-to-project>/cordova/build debug [<target>] [-k | --keystorepass <password>] [-p | --params <params-JSON-file>]  [-ll | --loglevel <error|warn|verbose>]
+    
+
+donde
+
+*   `<target>`especifica el nombre de un objetivo previamente agregado. Si `<target>` no se especifica, se utiliza el destino predeterminado, si uno ha sido creada. Este argumento sólo es necesario si quieres el script para desplegar su aplicación en un dispositivo BlackBerry o emulador y usted no ha creado un destino predeterminado. Además, si `<target>` es un dispositivo, luego que el dispositivo debe estar conectado a su computadora por USB o conectarse a la misma red Wi-Fi que su computadora.
+
+*   `-k | --keystorepass <password>`especifica la contraseña que se ha definido al configurar su ordenador para firmar las aplicaciones. Esta contraseña se utiliza también para crear su token de depuración. Este argumento sólo es necesario si quieres el script para crear e instalar el token de depuración para ti.
+
+*   `-p | --params <params-JSON-file>`especifica un archivo JSON que contiene parámetros adicionales para pasar a herramientas de aguas abajo.
+
+*   `-ll | --loglevel <level>`especifica el nivel de registro. El nivel de registro puede ser uno de `error` , `warn` , o`verbose`.
+
+Si tienes definido previamente un destino por defecto (y previamente instalado un token de depuración, si ese objetivo es un dispositivo BlackBerry), puede ejecutar el script sin argumentos, y el guión será la aplicación del paquete y desplegaremos en el destino por defecto. Por ejemplo:
+
+    <path-to-project>/cordova/build debug
+    
+
+## run
+
+El `run` comando despliega la aplicación en el dispositivo BlackBerry especificado o un emulador. Antes de implementar su aplicación, debe crear primero un objetivo para el dispositivo o el emulador que desea desplegar su aplicación usando el script de destino. El script deploy desplegará la versión más reciente de su aplicación.
+
+    <path-to-project>/cordova/run <target>
+    
+
+donde
+
+*   `<target>`especifica el nombre de un objetivo previamente agregado. Si `<target>` es un dispositivo, luego que el dispositivo debe estar conectado a su computadora por USB o conectarse a la misma red Wi-Fi que su computadora.
+
+## plugin
+
+El `target` comando le permite añadir y eliminar plugins
+
+### Trae un plugin alojado localmente
+
+    <path-to-project>/cordova/plugin fetch <path-to-plugin>
+    
+
+### Ver una lista de plugins instalados
+
+    <path-to-project>/cordova/plugin ls
+    
+
+### Añadir un plugin
+
+    <path-to-project>/cordova/plugin add <name>
+    
+
+### Quitar un plugin
+
+    <path-to-project>/cordova/plugin rm <name>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/2b8e503f/docs/es/3.1.0/guide/platforms/blackberry10/upgrading.md
----------------------------------------------------------------------
diff --git a/docs/es/3.1.0/guide/platforms/blackberry10/upgrading.md b/docs/es/3.1.0/guide/platforms/blackberry10/upgrading.md
new file mode 100644
index 0000000..2cbb0b7
--- /dev/null
+++ b/docs/es/3.1.0/guide/platforms/blackberry10/upgrading.md
@@ -0,0 +1,453 @@
+---
+
+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.
+---
+
+# Actualizar BlackBerry
+
+Esta guía le muestra cómo modificar los proyectos de BlackBerry para actualizar desde versiones anteriores de Córdoba. La mayoría de estas instrucciones se aplica a proyectos creados con un mayor conjunto de herramientas de línea de comandos que preceden a la `cordova` utilidad de CLI. Vea la interfaz de línea de comandos para información de cómo actualizar la versión de la CLI.
+
+## Actualizar a 3.1.0 desde 3.0.0
+
+1.  Crear un nuevo proyecto de Apache Cordova 3.1.0 usando el cordova CLI, tal como se describe en la interfaz de línea de comandos.
+
+2.  Agregue sus plataformas al proyecto cordova, por ejemplo: `cordova platform add blackberry10`.
+
+3.  Copiar el contenido del proyecto original `www` Directorio del `www` Directorio en la raíz del proyecto cordova que acaba de crear.
+
+4.  Copiar o sobrescribir ningún activo nativo de su proyecto original ( `Resources` , etc..)
+
+5.  Copia tus `config.xml` en el `www` Directorio y eliminar cualquier plugin definiciones. Usted modificar ajustes aquí en lugar del directorio de la plataforma.
+
+6.  Utilice la herramienta CLI cordova instalar algún plugin que necesita. Tenga en cuenta que la CLI maneja todo núcleo APIs como plugins, así pueden necesitar ser agregado. Solo plugins marcó 3.0.0 y encima son compatibles con la CLI.
+
+7.  Construir y probar.
+
+Por favor tenga en cuenta que el CLI compatible con la plataforma BlackBerry10 exclusivamente. Para el libro de jugadas y BBOS, ver Cordova versión 2.9.0 magnetohidrodinámica y por debajo.
+
+## Actualícese a la CLI (3.0.0) de 2.9.0 magnetohidrodinámica
+
+1.  Crear un nuevo proyecto de Apache Cordova 3.0.0 usando el cordova CLI, tal como se describe en la interfaz de línea de comandos.
+
+2.  Agregar tus plataformas el la Córdoba del proyecto, por ejemplo: `cordova platform add blackberry10`.
+
+3.  Copiar el contenido del proyecto original `www` Directorio del `www` Directorio en la raíz del proyecto cordova que acaba de crear.
+
+4.  Copiar o sobrescribir ningún activo nativo de su proyecto original ( `Resources` , etc..)
+
+5.  Copia tus `config.xml` en el `www` Directorio y eliminar cualquier plugin definiciones. Usted modificar ajustes aquí en lugar del directorio de la plataforma.
+
+6.  Utilice la herramienta CLI cordova instalar algún plugin que necesita. Tenga en cuenta que la CLI maneja todo núcleo APIs como plugins, así pueden necesitar ser agregado. Sólo 3.0.0 plugins son compatibles con la CLI.
+
+7.  Construir y probar.
+
+## Proyectos de modernización 2.8.0 a 2.9.0 magnetohidrodinámica
+
+BlackBerry 10:
+
+1.  Descargue y extraiga la fuente Cordova 2.9.0 magnetohidrodinámica a una ubicación de directorio permanente en tu disco duro, por ejemplo a`~/Cordova-2.9.0`.
+
+2.  Dejar cualquier corriente SDK Herramientas: Eclipse, Momentics y similares.
+
+3.  Desplácese hasta el directorio donde pusiste la fuente descargada anteriormente, utilizando un unix como terminal: Terminal.app Cygwin, Bash, etc..
+
+4.  Crear un nuevo proyecto, como se describe en las herramientas de línea de comandos de BlackBerry. Esto se convierte en la página de inicio de tu proyecto actualizado.
+
+5.  Copie su fuente de proyectos desde el viejo proyecto `/www` del nuevo proyecto directorio `/www` directorio.
+
+6.  Actualizar la referencia de script Cordova en su `www/index.html` archivo (y otros archivos que contienen la referencia de comandos) para que apunte a la nueva `cordova.js` archivo.
+
+### BlackBerryOS/Playbook
+
+1.  Descargue y extraiga la fuente Cordova 2.9.0 magnetohidrodinámica a una ubicación de directorio permanente en tu disco duro, por ejemplo a`~/Cordova-2.9.0`.
+
+2.  Dejar cualquier corriente SDK Herramientas: Eclipse, Momentics y similares.
+
+3.  Desplácese hasta el directorio donde pusiste la fuente descargada anteriormente, utilizando un unix como terminal: Terminal.app Cygwin, Bash, etc..
+
+4.  Crear un nuevo proyecto, como se describe en iOS herramientas de línea de comandos. Necesitas los activos de este nuevo proyecto.
+
+5.  Copia el `www/cordova.js` archivo del nuevo proyecto en tu `www` Directorio y eliminar su `www/cordova.js` archivo.
+
+6.  Actualizar la referencia de script Cordova en su `www/index.html` archivo (y otros archivos que contienen la referencia de comandos) para que apunte a la nueva `cordova.js` archivo.
+
+7.  Copia el `native` directorio desde el nuevo proyecto en el proyecto existente, sobrescribiendo el viejo `native` Directorio.
+
+8.  Copia el `lib` directorio desde el nuevo proyecto en el proyecto existente, sobrescribiendo el viejo `lib` Directorio.
+
+9.  Copia el `cordova` directorio desde el nuevo proyecto en el proyecto existente, sobrescribiendo el viejo `cordova` Directorio.
+
+## Proyectos de modernización 2.7.0 a 2.8.0
+
+BlackBerry 10:
+
+BlackBerry 10 utiliza las nuevas herramientas de CLI y gestiona núcleo APIs como plugins. Las instrucciones de migran su proyecto a un nuevo proyecto, en lugar de actualizar un proyecto existente, debido a la complejidad de un proyecto de actualización. También nota que el js cordova de la escritura de archivos ahora se llama 'cordova.js' y ya no contiene una cadena de versión.
+
+1.  Descargue y extraiga la fuente Cordova 2.8.0 a una ubicación de directorio permanente en tu disco duro, por ejemplo a`~/Cordova-2.8.0`.
+
+2.  Dejar cualquier corriente SDK Herramientas: Eclipse, Momentics y similares.
+
+3.  Desplácese hasta el directorio donde pusiste la fuente descargada anteriormente, utilizando un unix como terminal: Terminal.app Cygwin, Bash, etc..
+
+4.  Crear un nuevo proyecto, como se describe en las herramientas de línea de comandos de BlackBerry. Esto se convierte en la página de inicio de tu proyecto actualizado.
+
+5.  Copie su fuente de proyectos desde el viejo proyecto `/www` del nuevo proyecto directorio `/www` directorio.
+
+6.  Actualizar la referencia de script Cordova en su `www/index.html` archivo (y otros archivos que contienen la referencia de comandos) para que apunte a la nueva `cordova.js` archivo.
+
+BlackBerryOS/Playbook:
+
+1.  Descargue y extraiga la fuente Cordova 2.8.0 a una ubicación de directorio permanente en tu disco duro, por ejemplo a`~/Cordova-2.8.0`.
+
+2.  Dejar cualquier corriente SDK Herramientas: Eclipse, Momentics y similares.
+
+3.  Desplácese hasta el directorio donde pusiste la fuente descargada anteriormente, utilizando un unix como terminal: Terminal.app Cygwin, Bash, etc..
+
+4.  Crear un nuevo proyecto, como se describe en iOS herramientas de línea de comandos. Necesitas los activos de este nuevo proyecto.
+
+5.  Copia el `www/cordova.js` archivo del nuevo proyecto en tu `www` Directorio y eliminar su `www/cordova.js` archivo.
+
+6.  Actualizar la referencia de script Cordova en su `www/index.html` archivo (y otros archivos que contienen la referencia de comandos) para que apunte a la nueva `cordova.js` archivo.
+
+7.  Copia el `native` directorio desde el nuevo proyecto en el proyecto existente, sobrescribiendo el viejo `native` Directorio.
+
+8.  Copia el `lib` directorio desde el nuevo proyecto en el proyecto existente, sobrescribiendo el viejo `lib` Directorio.
+
+9.  Copia el `cordova` directorio desde el nuevo proyecto en el proyecto existente, sobrescribiendo el viejo `cordova` Directorio.
+
+## Proyectos de modernización 2.6.0 a 2.7.0
+
+1.  Descargue y extraiga la fuente Cordova 2.7.0 a una ubicación de directorio permanente en tu disco duro, por ejemplo a `~/Cordova-2.7.0`.
+
+2.  Dejar cualquier corriente SDK Herramientas: Eclipse, Momentics y similares.
+
+3.  Desplácese hasta el directorio donde pusiste la fuente descargada anteriormente, utilizando un unix como terminal: Terminal.app Cygwin, Bash, etc..
+
+4.  Crear un nuevo proyecto, como se describe en las herramientas de línea de comandos de BlackBerry. Necesitas los activos de este nuevo proyecto.
+
+5.  Copia el `www/cordova-2.7.0.js` archivo del nuevo proyecto en tu `www` Directorio y eliminar su `www/cordova-2.6.0.js` archivo.
+
+6.  Actualizar la referencia de script Cordova en su `www/index.html` archivo (y otros archivos que contienen la referencia de comandos) para que apunte a la nueva `cordova-2.7.0.js` archivo.
+
+7.  Copia el `native` directorio desde el nuevo proyecto en el proyecto existente, sobrescribiendo el viejo `native` Directorio.
+
+8.  Copia el `lib` directorio desde el nuevo proyecto en el proyecto existente, sobrescribiendo el viejo `lib` Directorio.
+
+9.  Copia el `cordova` directorio desde el nuevo proyecto en el proyecto existente, sobrescribiendo el viejo `cordova` Directorio.
+
+## Actualizar a 2.6.0 desde 2.5.0
+
+Actualizar el directorio de descarga PhoneGap:
+
+Se recomienda que usted descargar una copia nueva de todo el directorio.
+
+Sin embargo, aquí están las nuevas piezas necesarias para la actualización gradual:
+
+1.  Actualizar el archivo cordova.blackberry.js en la `Phonegap-2.6.0/lib/blackberry/javascript` Directorio.
+
+2.  Actualización de la `ext` , `ext-air` , y `ext-qnx` en el `Phonegap-2.6.0/lib/blackberry/framework` Directorio.
+
+3.  Actualización de la `build.xml` de los archivos en el `Phonegap-2.6.0/lib/blackberry` Directorio.
+
+4.  Actualización del `Phonegap-2.6.0/lib/blackberry/bin` Directorio.
+
+5.  Actualización de la `VERSION` de los archivos en el `Phonegap-2.6.0/lib/blackberry` Directorio.
+
+Actualizando el ejemplo / proyecto de directorio o migrar existente:
+
+1.  Abre tu `www/` Directorio, que contiene su aplicación.
+
+2.  Quitar y actualizar el archivo .jar en la `ext/` Directorio.
+
+3.  Actualizar el contenido de la `ext-air/` Directorio.
+
+4.  Actualizar el contenido de la `ext-qnx/` Directorio.
+
+5.  Copie el nuevo `cordova-2.6.0.js` en su proyecto.
+
+6.  Actualizar el código HTML para usar el nuevo `cordova-2.6.0.js` archivo.
+
+## Actualizar a 2.5.0 desde 2.4.0
+
+Actualizar el directorio de descarga PhoneGap:
+
+Se recomienda que usted descargar una copia nueva de todo el directorio.
+
+Sin embargo, aquí están las nuevas piezas necesarias para la actualización gradual:
+
+1.  Actualizar el archivo cordova.blackberry.js en la `Phonegap-2.5.0/lib/blackberry/javascript` Directorio.
+
+2.  Actualización de la `ext` , `ext-air` , y `ext-qnx` en el `Phonegap-2.5.0/lib/blackberry/framework` Directorio.
+
+3.  Actualización de la `build.xml` de los archivos en el `Phonegap-2.5.0/lib/blackberry` Directorio.
+
+4.  Actualización del `Phonegap-2.5.0/lib/blackberry/bin` Directorio.
+
+5.  Actualización de la `VERSION` de los archivos en el `Phonegap-2.5.0/lib/blackberry` Directorio.
+
+Actualizando el ejemplo / proyecto de directorio o migrar existente:
+
+1.  Abre tu `www/` Directorio, que contiene su aplicación.
+
+2.  Quitar y actualizar el archivo .jar en la `ext/` Directorio.
+
+3.  Actualizar el contenido de la `ext-air/` Directorio.
+
+4.  Actualizar el contenido de la `ext-qnx/` Directorio.
+
+5.  Copie el nuevo `cordova-2.5.0.js` en su proyecto.
+
+6.  Actualizar el código HTML para usar el nuevo `cordova-2.5.0.js` archivo.
+
+## Actualizar a 2.4.0 desde 2.3.0
+
+Actualizar el `www` Directorio:
+
+1.  Abre tu `www/` Directorio, que contiene su aplicación.
+
+2.  Quitar y actualizar el archivo .jar en la `ext/` Directorio.
+
+3.  Actualizar el contenido de la `ext-air/` Directorio.
+
+4.  Copie el nuevo `cordova-2.4.0.js` en su proyecto.
+    
+    *   Si el libro de jugadas, luego actualizar el .js archivo en el `playbook/` Directorio.
+    *   Si BlackBerry 10, luego actualizar el archivo .js en el `qnx/` Directorio.
+
+5.  Actualizar el código HTML para usar el nuevo `cordova-2.4.0.js` archivo.
+
+Actualizar el directorio de muestra (es decir, actualización usando las herramientas de hormiga):
+
+1.  Abierta la `sample/lib/` Directorio.
+
+2.  Actualizar el archivo .jar en la `cordova.2.3.0/ext/` Directorio.
+
+3.  Actualizar el contenido de la `cordova.2.3.0/ext-air/` Directorio.
+
+4.  Actualizar el contenido de la `cordova.2.3.0/ext-qnx/` Directorio.
+
+5.  Actualizar el archivo .js en el `cordova.2.3.0/javascript/` Directorio.
+
+6.  Abierta la `sample/lib/` Directorio y renombrar el `cordova.2.3.0/` Directorio`cordova.2.4.0/`.
+
+7.  Tipo `ant blackberry build` o `ant playbook build` para actualizar el `www/` Directorio con Cordova actualizado.
+
+8.  Abierta la `www/` Directorio y actualizar el código HTML para usar el nuevo `cordova-2.4.0.js` archivo.
+
+## Actualizar a 2.3.0 desde 2.2.0
+
+Actualizar el `www` Directorio:
+
+1.  Abre tu `www/` Directorio, que contiene su aplicación.
+
+2.  Quitar y actualizar el archivo .jar en la `ext/` Directorio.
+
+3.  Actualizar el contenido de la `ext-air/` Directorio.
+
+4.  Copie el nuevo `cordova-2.3.0.js` en su proyecto.
+    
+    *   Si el libro de jugadas, luego actualizar el .js archivo en el `playbook/` Directorio.
+    *   Si BlackBerry 10, luego actualizar el archivo .js en el `qnx/` Directorio.
+
+5.  Actualizar el código HTML para usar el nuevo `cordova-2.3.0.js` archivo.
+
+Actualizar el directorio de muestra (es decir, actualización usando las herramientas de hormiga):
+
+1.  Abierta la `sample/lib/` Directorio.
+
+2.  Actualizar el archivo .jar en la `cordova.2.2.0/ext/` Directorio.
+
+3.  Actualizar el contenido de la `cordova.2.2.0/ext-air/` Directorio.
+
+4.  Actualizar el contenido de la `cordova.2.2.0/ext-qnx/` Directorio.
+
+5.  Actualizar el archivo .js en el `cordova.2.2.0/javascript/` Directorio.
+
+6.  Abierta la `sample/lib/` Directorio y renombrar el `cordova.2.2.0/` Directorio`cordova.2.3.0/`.
+
+7.  Tipo `ant blackberry build` o `ant playbook build` para actualizar el `www/` Directorio con Cordova actualizado.
+
+8.  Abierta la `www/` Directorio y actualizar el código HTML para usar el nuevo `cordova-2.3.0.js` archivo.
+
+## Actualizar a 2.2.0 desde 2.1.0
+
+Actualizar sólo el directorio www:
+
+1.  Abre tu `www/` Directorio, que contiene su aplicación.
+
+2.  Quitar y actualizar el archivo .jar en la `ext/` Directorio.
+
+3.  Actualizar el contenido de la `ext-air/` Directorio.
+
+4.  Copie el nuevo `cordova-2.2.0.js` en su proyecto.
+    
+    *   Si el libro de jugadas, luego actualizar el .js archivo en el `playbook/` Directorio.
+    *   Si BlackBerry 10, luego actualizar el archivo .js en el `qnx/` Directorio.
+
+5.  Actualizar el código HTML para usar el nuevo `cordova-2.2.0.js` archivo.
+
+Actualizar el directorio de muestra (es decir, actualización usando las herramientas de hormiga):
+
+1.  Abierta la `sample/lib/` Directorio.
+
+2.  Actualizar el archivo .jar en la `cordova.2.1.0/ext/` Directorio.
+
+3.  Actualizar el contenido de la `cordova.2.1.0/ext-air/` Directorio.
+
+4.  Actualizar el contenido de la `cordova.2.1.0/ext-qnx/` Directorio.
+
+5.  Actualizar el archivo .js en el `cordova.2.1.0/javascript/` Directorio.
+
+6.  Abierta la `sample/lib/` Directorio y renombrar el `cordova.2.1.0/` Directorio`cordova.2.2.0/`.
+
+7.  Tipo `ant blackberry build` o `ant playbook build` para actualizar el `www/` Directorio con Cordova actualizado.
+
+8.  Abierta la `www/` Directorio y actualizar el código HTML para usar el nuevo `cordova-2.2.0.js` archivo.
+
+## Actualizar a 2.1.0 desde 2.0.0
+
+Actualizar el `www` Directorio:
+
+1.  Abre tu `www/` Directorio, que contiene su aplicación.
+
+2.  Quitar y actualizar el archivo .jar en la `ext/` Directorio.
+
+3.  Actualizar el contenido de la `ext-air/` Directorio.
+
+4.  Copie el nuevo `cordova-2.1.0.js` en su proyecto.
+    
+    *   Si el libro de jugadas, luego actualizar el .js archivo en el `playbook/` Directorio.
+
+5.  Actualizar el código HTML para usar el nuevo `cordova-2.1.0.js` archivo.
+
+Actualizar el directorio de muestra (es decir, actualización usando las herramientas de hormiga):
+
+1.  Abierta la `sample/lib/` Directorio.
+
+2.  Actualizar el archivo .jar en la `cordova.2.0.0/ext/` Directorio.
+
+3.  Actualizar el contenido de la `cordova.2.0.0/ext-air/` Directorio.
+
+4.  Actualizar el archivo .js en el `cordova.2.0.0/javascript/` Directorio.
+
+5.  Abierta la `sample/lib/` Directorio y renombrar el `cordova.2.0.0/` Directorio`cordova.2.1.0/`.
+
+6.  Tipo `ant blackberry build` o `ant playbook build` para actualizar el `www/` Directorio con Cordova actualizado.
+
+7.  Abierta la `www/` Directorio y actualizar el código HTML para usar el nuevo `cordova-2.1.0.js` archivo.
+
+## Actualizar a 2.0.0 desde 1.9.0
+
+Actualizar el `www` Directorio:
+
+1.  Abre tu `www/` Directorio, que contiene su aplicación.
+
+2.  Quitar y actualizar el archivo .jar en la `ext/` Directorio.
+
+3.  Actualizar el contenido de la `ext-air/` Directorio.
+
+4.  Copie el nuevo `cordova-2.0.0.js` en su proyecto.
+    
+    *   Si el libro de jugadas, luego actualizar el .js archivo en el `playbook/` Directorio.
+
+5.  Actualizar el código HTML para usar el nuevo `cordova-2.0.0.js` archivo.
+
+6.  Actualizar su `www/plugins.xml` archivo. Dos plugins cambió su etiqueta de servicio de nombres. Cambiar las entradas viejas para los plugins de captura y contacto:
+    
+        < nombre del plugin = "Capturar" value="org.apache.cordova.media.MediaCapture"/ >< nombre del plugin = "Contacto" value="org.apache.cordova.pim.Contact"/ >
+        
+    
+    Para:
+    
+        < nombre del plugin = "Capturar" value="org.apache.cordova.capture.MediaCapture"/ >< nombre del plugin "Contactos" value="org.apache.cordova.pim.Contact"/ = >
+        
+
+Actualizar el directorio de muestra (es decir, actualización usando las herramientas de hormiga):
+
+1.  Abierta la `sample/lib/` Directorio.
+
+2.  Actualizar el archivo .jar en la `cordova.1.9.0/ext/` Directorio.
+
+3.  Actualizar el contenido de la `cordova.1.9.0/ext-air/` Directorio.
+
+4.  Actualizar el archivo .js en el `cordova.1.9.0/javascript/` Directorio.
+
+5.  Abierta la `sample/lib/` Directorio y renombrar el `cordova.1.9.0/` Directorio`cordova.2.0.0/`.
+
+6.  Tipo `ant blackberry build` o `ant playbook build` para actualizar el `www/` Directorio con Cordova actualizado.
+
+7.  Abierta la `www/` Directorio y actualizar el código HTML para usar el nuevo `cordova-2.0.0.js` archivo.
+
+8.  Abierta la `www/` Directorio y actualizar el `plugins.xml` archivo. Dos plugins cambió su etiqueta de servicio de nombres. Cambiar las entradas viejas para los plugins de captura y contacto:
+    
+         < nombre del plugin = "Capturar" value="org.apache.cordova.media.MediaCapture"/ >< nombre del plugin = "Contacto" value="org.apache.cordova.pim.Contact"/ >
+        
+    
+    Para:
+    
+         < nombre del plugin = "Capturar" value="org.apache.cordova.capture.MediaCapture"/ >< nombre del plugin "Contactos" value="org.apache.cordova.pim.Contact"/ = >
+        
+
+*   Para actualizar a 1.8.0, por favor vaya de 1.7.0
+
+## Actualizar a 1.8.0 de 1.7.0
+
+Actualizar el `www` Directorio:
+
+1.  Abre tu `www/` Directorio, que contiene su aplicación.
+
+2.  Quitar y actualizar el archivo .jar en la `ext/` Directorio.
+
+3.  Actualizar el contenido de la `ext-air/` Directorio.
+
+4.  Copie el nuevo `cordova-1.8.0.js` en su proyecto.
+    
+    *   Si el libro de jugadas, luego actualizar el .js archivo en el `playbook/` Directorio.
+
+5.  Actualizar el código HTML para usar el nuevo `cordova-1.8.0.js` archivo.
+
+6.  Actualizar su `www/plugins.xml` archivo. Dos plugins cambió su etiqueta de servicio de nombres. Cambiar las entradas viejas para los plugins de captura y contacto:
+    
+        < nombre del plugin = "Capturar" value="org.apache.cordova.media.MediaCapture"/ >< nombre del plugin = "Contacto" value="org.apache.cordova.pim.Contact"/ >
+        
+    
+    Para:
+    
+        < nombre del plugin = "Capturar" value="org.apache.cordova.capture.MediaCapture"/ >< nombre del plugin "Contactos" value="org.apache.cordova.pim.Contact"/ = >
+        
+
+Actualizar el directorio de muestra (es decir, actualización usando las herramientas de hormiga):
+
+1.  Abierta la `sample/lib/` Directorio.
+
+2.  Actualizar el archivo .jar en la `cordova.1.7.0/ext/` Directorio.
+
+3.  Actualizar el contenido de la `cordova.1.7.0/ext-air/` Directorio.
+
+4.  Actualizar el archivo .js en el `cordova.1.7.0/javascript/` Directorio.
+
+5.  Abierta la `sample/lib/` Directorio y renombrar el `cordova.1.7.0/` Directorio`cordova.1.8.0/`.
+
+6.  Tipo `ant blackberry build` o `ant playbook build` para actualizar el `www/` Directorio con Cordova actualizado.
+
+7.  Abierta la `www/` Directorio y actualizar el código HTML para usar el nuevo `cordova-1.8.0.js` archivo.
+
+8.  Abierta la `www/` Directorio y actualizar el `plugins.xml` archivo. Dos plugins cambió su etiqueta de servicio de nombres. Cambiar las entradas viejas para los plugins de captura y contacto:
+    
+         < nombre del plugin = "Capturar" value="org.apache.cordova.media.MediaCapture"/ >< nombre del plugin = "Contacto" value="org.apache.cordova.pim.Contact"/ >
+        
+    
+    Para:
+    
+         < nombre del plugin = "Capturar" value="org.apache.cordova.capture.MediaCapture"/ >< nombre del plugin "Contactos" value="org.apache.cordova.pim.Contact"/ = >
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/2b8e503f/docs/es/3.1.0/guide/platforms/firefoxos/config.md
----------------------------------------------------------------------
diff --git a/docs/es/3.1.0/guide/platforms/firefoxos/config.md b/docs/es/3.1.0/guide/platforms/firefoxos/config.md
new file mode 100644
index 0000000..2e8eff2
--- /dev/null
+++ b/docs/es/3.1.0/guide/platforms/firefoxos/config.md
@@ -0,0 +1,22 @@
+<!--
+#
+# 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.
+#
+-->
+
+# Configuración de FirefoxOS
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/2b8e503f/docs/es/3.1.0/guide/platforms/index.md
----------------------------------------------------------------------
diff --git a/docs/es/3.1.0/guide/platforms/index.md b/docs/es/3.1.0/guide/platforms/index.md
new file mode 100644
index 0000000..9255b06
--- /dev/null
+++ b/docs/es/3.1.0/guide/platforms/index.md
@@ -0,0 +1,73 @@
+---
+
+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.
+---
+
+# Guías de plataforma
+
+Antes de desarrollar para cualquiera de las plataformas que se enumeran a continuación, instalar la interfaz de cordova de comandos (CLI). (Para más detalles, ver la interfaz de línea de comandos).
+
+Para desarrollar aplicaciones de Cordova, debe instalar los SDK para cada plataforma móvil que usted está apuntando. Esta instalación es necesaria independientemente de los hacen la mayoría de su trabajo en el SDK o utiliza la CLI para su ciclo de construir.
+
+Cada *Plataforma guía* a continuación te dice lo que necesitas saber para configurar el entorno de desarrollo de cada plataforma: dónde obtener el SDK, cómo configurar emuladores de dispositivo, cómo conectar dispositivos para pruebas directas y cómo administrar los requerimientos claves de firma. Guías adicionales proporcionan información sobre el conjunto único de cada plataforma de opciones de configuración, instrucciones para agregar plugins, cómo actualizar cada plataforma y herramientas de línea de comandos específicos a la plataforma que sirven como una alternativa de nivel inferior a la utilidad de línea de comandos de `cordova`.
+
+## Android
+
+*   Guía de la plataforma Android
+*   Configuración de Android
+*   Android WebViews
+*   Android Plugins
+*   Android Herramientas de línea de comandos
+*   Actualizar Android
+
+## BlackBerry
+
+*   Guía de la plataforma BlackBerry
+*   Configuración de BlackBerry
+*   Herramientas de línea de comandos de BlackBerry
+*   Actualizar BlackBerry
+
+## BlackBerry 10
+
+*   Guía de la plataforma BlackBerry 10
+*   Configuración de blackBerry 10
+*   BlackBerry 10 Plugins
+*   BlackBerry 10 herramientas de línea de comandos
+
+## iOS
+
+*   Guía de la plataforma iOS
+*   iOS configuración
+*   iOS WebViews
+*   iOS Plugins
+*   iOS herramientas de línea de comandos
+*   Actualizar iOS
+
+## Windows Phone
+
+*   Guía de la plataforma de Windows Phone 8
+*   Guía de la plataforma de Windows Phone 7
+*   Configuración de Windows Phone
+*   Windows Phone herramientas de línea de comandos
+*   Actualización de Windows Phone
+
+## Windows 8
+
+*   Windows 8 plataforma guía
+*   Herramientas de línea de comandos de Windows 8
+*   Actualización de Windows 8
+
+## Tizen
+
+*   Guía de la plataforma Tizen
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/2b8e503f/docs/es/3.1.0/guide/platforms/ios/config.md
----------------------------------------------------------------------
diff --git a/docs/es/3.1.0/guide/platforms/ios/config.md b/docs/es/3.1.0/guide/platforms/ios/config.md
new file mode 100644
index 0000000..f568c4d
--- /dev/null
+++ b/docs/es/3.1.0/guide/platforms/ios/config.md
@@ -0,0 +1,93 @@
+---
+
+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.
+---
+
+# iOS configuración
+
+El archivo `config.xml` controla la configuración básica de una app que se aplican a través de cada aplicación y una instancia de CordovaWebView. Esta sección detalla las preferencias que se aplican sólo a estructuras de iOS. Vea el archivo config.xml archivo para obtener información sobre las opciones de configuración global.
+
+*   `EnableViewportScale` (boolean, valor predeterminado `false`): establece en `true` para usar una etiqueta meta viewport para deshabilitar o restringir el intervalo de usuario escalar.
+    
+        <preference name="EnableViewportScale" value="true"/>
+        
+
+*   `MediaPlaybackRequiresUserAction` (boolean, valor predeterminado `false`): establece en `true` para impedir que HTML5 vídeos jugar automáticamente con el atributo `autoplay`. No se aplica cuando se llama a `play()` en un objeto de vídeo.
+    
+        <preference name="MediaPlaybackRequiresUserAction" value="true"/>
+        
+
+*   `AllowInlineMediaPlayback` (boolean, valor predeterminado `false`): establece en `true` para permitir la reproducción multimedia HTML5 aparecer *en línea* en el diseño de pantalla, utilizando el navegador proporciona controles más controles nativos. Para que ello, agregue el atributo `webkit-playsinline` a cualquier elemento `< video >`.
+    
+        <preference name="AllowInlineMediaPlayback" value="true"/>
+        
+
+*   `BackupWebStorage` (string, `none`, `local` o la de por defecto `cloud`): establece en `cloud` para permitir que los datos de backup mediante iCloud almacenamiento web. Establece en `local` para permitir a sólo locales backups mediante sincronización de iTunes. Set para `none` evitar copias de almacenamiento web.
+    
+        <preference name="BackupWebStorage" value="local"/>
+        
+
+*   `TopActivityIndicator` (string, el valor predeterminado de `gray`): controla la apariencia del icono en la barra de estado que indica actividad significativa procesador pequeño giro. Los valores válidos son `whiteLarge`, `white` y `gray`.
+    
+        <preference name="TopActivityIndicator" value="white"/>
+        
+
+*   `FadeSplashScreen` (por defecto valor booleano, `true`): establecida en `false` para evitar que la pantalla de bienvenida descoloramiento entrar y salir cuando cambia su estado de presentación.
+    
+        <preference name="FadeSplashScreen" value="false"/>
+        
+
+*   `FadeSplashScreenDuration` (float, el valor predeterminado de `2`): especifica el número de segundos para que la pantalla de bienvenida se desvanecen efecto de ejecutar.
+    
+        <preference name="FadeSplashScreenDuration" value="4"/>
+        
+
+*   `ShowSplashScreenSpinner` (por defecto valor booleano, `true`): establecida en `false` para ocultar el hilandero de la pantalla.
+    
+        <preference name="ShowSplashScreenSpinner" value="false"/>
+        
+
+*   `KeyboardDisplayRequiresUserAction` (por defecto valor booleano, `true`): establecida en `false` para permitir que el teclado que aparece cuando se llama `focus()` en entradas del formulario.
+    
+        <preference name="KeyboardDisplayRequiresUserAction" value="false"/>
+        
+
+*   `SuppressesIncrementalRendering` (boolean, valor predeterminado `false`): establece en `true` para esperar a que todo el contenido ha sido recibido antes que presta a la pantalla.
+    
+        <preference name="SuppressesIncrementalRendering" value="true"/>
+        
+
+*   `KeyboardShrinksView` (boolean, valor predeterminado `false`): establece en `true` para achicar la webview cuando aparezca el teclado, anulando el beavior por defecto que se contrae el viewport verticalmente. Esto coincide con el comportamiento por defecto para las aplicaciones Android.
+    
+        <preference name="KeyboardShrinksView" value="true"/>
+        
+
+*   `GapBetweenPages`(flotador, por defecto `` ): el tamaño de la brecha, en puntos, entre páginas.
+    
+        < nombre de preferencia = "GapBetweenPages" value = "0" / >
+        
+
+*   `PageLength`(flotador, por defecto `` ): el tamaño de cada página, en puntos, en el sentido que fluyen de las páginas. Cuando PaginationMode es de derecha a izquierda o de izquierda a derecha, esta propiedad representa el ancho de cada página. Cuando PaginationMode es topToBottom o bottomToTop, esta propiedad representa la altura de cada página. El valor predeterminado es 0, lo que significa que el diseño utiliza el tamaño de la vista para determinar las dimensiones de la página.
+    
+        < nombre de preferencia = "PageLength" value = "0" / >
+        
+
+*   `PaginationBreakingMode`(string, el valor predeterminado de `page` ): los valores válidos son `page` y `column` .La manera en que se produzca la rotura de columna o página. Esta propiedad determina si ciertas propiedades CSS sobre columna y página-romper son honrados o ignorados. Cuando esta propiedad se establece en `column` , el contenido respeta las propiedades CSS relacionadas con romper en lugar de la página-fractura de columna.
+    
+        < nombre de preferencia = "PaginationBreakingMode" value = "page" / >
+        
+
+*   `PaginationMode`(string, el valor predeterminado de `unpaginated` ): los valores válidos son `unpaginated` , `leftToRight` , `topToBottom` , `bottomToTop` , y `rightToLeft` . Esta propiedad determina si contenido en la vista web se divide en páginas que llenan la uno pantalla a la vez, o se muestra como un punto de vista mucho desplazamiento. Si el conjunto a una forma paginada, esta propiedad cambia un esquema paginado en el contenido, causando la vista web para utilizar los valores de PageLength y GapBetweenPages a cachés su contenido.
+    
+        < nombre de preferencia = "PaginationMode" value = "paginar" / >
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/2b8e503f/docs/es/3.1.0/guide/platforms/ios/index.md
----------------------------------------------------------------------
diff --git a/docs/es/3.1.0/guide/platforms/ios/index.md b/docs/es/3.1.0/guide/platforms/ios/index.md
new file mode 100644
index 0000000..d654c24
--- /dev/null
+++ b/docs/es/3.1.0/guide/platforms/ios/index.md
@@ -0,0 +1,171 @@
+---
+
+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.
+---
+
+# iOS Platform Guide
+
+Esta guía le muestra cómo configurar el entorno de desarrollo SDK para desplegar aplicaciones Cordova para dispositivos iOS como el iPhone y iPad. Vea el siguiente para obtener más información específica de la plataforma:
+
+*   iOS configuración
+*   Actualizar iOS
+*   iOS WebViews
+*   iOS Plugins
+*   iOS herramientas de línea de comandos
+
+Las herramientas de línea de comandos anteriores se refieren a las versiones anteriores Cordova 3.0. Ver la interfaz de línea de comandos para obtener información sobre la interfaz actual.
+
+## Requisitos y apoyo
+
+Apple ® herramientas necesarias para crear aplicaciones iOS ejecutar sólo en el sistema operativo OS X de Mac basados en Intel. Xcode ® 4.5 (la versión mínima requerida) se ejecuta en OS X versión 10.7 (Lion) o mayor e incluye el iOS 6 SDK (Software Development Kit). Presentar aplicaciones para el Apple App Store℠ requiere las últimas versiones de las herramientas de Apple.
+
+Usted puede probar muchas de las características de Cordova usando el emulador de iOS instalado con el iOS SDK y Xcode, pero necesita un dispositivo real a completamente todas las características de la aplicación dispositivo de prueba antes de presentar a la App Store. El dispositivo debe tener por lo menos iOS 5.x instalado, la versión de iOS mínimo apoyado desde Cordova 2.3. Dispositivos de apoyo incluyen todos iPad ® modelos, iPhone ® 3GS y arriba y iPod ® Touch de 3ª generación o posterior. Para instalar aplicaciones en un dispositivo, también debe ser un miembro de Apple [iOS Developer Program][1], que cuesta $99 por año. Esta guía le muestra cómo implementar aplicaciones para el emulador de iOS, para lo cual no tienes que registrar con el programa para desarrolladores.
+
+ [1]: https://developer.apple.com/programs/ios/
+
+## Instalar el SDK
+
+Hay dos maneras de descargar Xcode:
+
+*   desde la [App Store][2], disponible mediante la búsqueda de "Xcode" en la aplicación de **La App Store** .
+
+*   de [Descargas de desarrollador de Apple][3], que requiere el registro como desarrollador de Apple.
+
+ [2]: https://itunes.apple.com/us/app/xcode/id497799835?mt=12
+ [3]: https://developer.apple.com/downloads/index.action
+
+Una vez instalado Xcode, varias herramientas de línea de comandos necesitan estar habilitada para que Córdoba ejecutar. En el menú de **Xcode** , seleccione **preferencias**y luego la pestaña **descargas** . Desde el panel **componentes** , pulse el botón **instalar** junto a la lista de **Herramientas de línea de comandos** .
+
+## Abrir un proyecto en el SDK
+
+Uso el `cordova` utilidad para configurar un nuevo proyecto, como se describe en la Córdoba del interfaz de comandos. Por ejemplo, en un directorio del código fuente:
+
+        $ cordova create hello com.example.hello "HelloWorld"
+        $ cd hello
+        $ cordova platform add ios
+        $ cordova prepare              # or "cordova build"
+    
+
+Una vez creado, puede abrir desde dentro de Xcode. Haga doble clic para abrir el `hello/platforms/ios/hello.xcodeproj` archivo. La pantalla debe verse así:
+
+![][4]
+
+ [4]: img/guide/platforms/ios/helloworld_project.png
+
+## Desplegar en emulador
+
+Para previsualizar la aplicación en el emulador de iOS:
+
+1.  Asegúrese de que el archivo *.xcodeproj* es seleccionado en el panel izquierdo.
+
+2.  Seleccione la aplicación **hello** en el panel inmediatamente a la derecha.
+
+3.  Seleccione el dispositivo deseado desde el menú de la barra de herramientas **Scheme**, como el iPhone Simulator 6.0 como destacado aquí:
+    
+    ![][5]
+
+4.  Presione el botón **Run** que aparece en la misma barra de herramientas a la izquierda del **Scheme**. Construye, implementa y ejecuta la aplicación en el emulador. Una aplicación separada emulador se abre para mostrar la aplicación:
+    
+    ![][6]
+    
+    Sólo un emulador puede ejecutar al mismo tiempo, así que si quieres probar la aplicación en un emulador diferente, tienes que dejar la aplicación del emulador y llevar un objetivo diferente dentro de Xcode.
+
+ [5]: img/guide/platforms/ios/select_xcode_scheme.png
+ [6]: img/guide/platforms/ios/HelloWorldStandard.png
+
+Xcode viene liado con emuladores para las ultimas versiones de iPhone y iPad. Las versiones más antiguas pueden estar disponibles en el **Xcode → preferencias → descargas → componentes** panel.
+
+## Desplegar en el dispositivo
+
+Para obtener más información acerca de varios requisitos para implementar en un dispositivo, consulte la sección *configuración de desarrollo y distribución de activos* de [Herramientas de flujo de trabajo guía para iOS][7]de Apple. Brevemente, necesitas hacer lo siguiente antes de implementar:
+
+ [7]: http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/00-About_the_iOS_Application_Development_Workflow/introduction.html#//apple_ref/doc/uid/TP40007959
+
+1.  Únete a la Apple iOS Developer Program.
+
+2.  Crear un *Perfil de Provisioning* dentro del [iOS Provisioning Portal][8]. Puede utilizar su *Asistente de Provisioning de desarrollo* para crear e instalar el perfil y requiere certificado Xcode.
+
+3.  Verificar que de la sección *Firma de código* *Identidad de firma de código* dentro de la configuración del proyecto se establece en su aprovisionamiento nombre de perfil.
+
+ [8]: https://developer.apple.com/ios/manage/overview/index.action
+
+Para desplegar en el dispositivo:
+
+1.  Utilice el cable USB para enchufar el dispositivo en tu Mac.
+
+2.  Seleccione el nombre del proyecto en la lista desplegable de la ventana Xcode **Scheme**.
+
+3.  Seleccione su dispositivo de la lista desplegable de **dispositivos**. Si está conectado vía USB, pero aún no aparece, pulse el botón **organizador** para resolver los errores.
+
+4.  Presione el botón **Run** para construir, implementar y ejecutar la aplicación en tu dispositivo.
+
+## Problemas comunes
+
+**Deprecation avisos:** Cuando una aplicación de interfaz de programación (API) es cambiado o reemplazado por otro API, es marcado como *obsoleto*. La API todavía funciona en el corto plazo, pero eventualmente se retira. Algunas de estas interfaces obsoletas se reflejan en Apache Cordova y Xcode emite advertencias sobre ellos cuando construir y desplegar una aplicación.
+
+Xcode de la advertencia sobre el `invokeString` método refiere a una funcionalidad que lanza una app desde una dirección URL personalizada. Mientras que el mecanismo para cargar desde una dirección URL personalizada ha cambiado, este código todavía está presente para proporcionar la funcionalidad al revés para aplicaciones creadas con versiones anteriores de Córdoba. La aplicación muestra no utiliza esta funcionalidad, así que estas advertencias pueden ser ignoradas. Para evitar que aparezcan estas advertencias, quitar el código que hace referencia a la invokeString obsoleta API:
+
+*   Edite el archivo *Classes/MainViewController.m* , rodean el siguiente bloque de código con `/*` y `*/` comentarios como se muestra a continuación, escriba el **comando + s** para guardar el archivo:
+    
+        theWebView:(UIWebView*) webViewDidFinishLoad (void) {/ / sólo son válidas si ___PROJECTNAME__-Info.plist especifica un protocolo para manejar / * si (self.invokeString) {/ / se pasa antes de que se desencadena el evento deviceready, así que se puede acceder en js cuando Recibes deviceready NSLog (@"DEPRECATED: window.invokeString - utilice la función window.handleOpenURL(url), que siempre se llama cuando la aplicación se ejecuta a través de una url de esquema personalizado.");
+          NSString * jsString = [NSString stringWithFormat:@"var invokeString = \" % @\ ";", self.invokeString];
+          [theWebView stringByEvaluatingJavaScriptFromString:jsString];
+        } * / / / Base color negro para fondo coincide con las aplicaciones nativas theWebView.backgroundColor = [UIColor blackColor];
+        
+        retorno [super webViewDidFinishLoad: theWebView];
+        }
+        
+
+*   Edite el archivo *Classes/AppViewDelegate.m* , comentar la siguiente línea insertando una doble barra como se muestra abajo, a continuación, escriba el **comando + s** para guardar el archivo:
+    
+        //Self.viewController.invokeString = invokeString;
+        
+
+*   Pulse **comando + b** para reconstruir el proyecto y eliminar las advertencias.
+
+<!-- Does this fix only last until the next "cordova prepare"? -->
+
+**Faltan encabezados**: errores de compilación relativos a cabeceras de faltantes el resultado de problemas con la ubicación de construir y puede estar fijados mediante Xcode preferencias:
+
+1.  Seleccione **Xcode → preferencias → ubicaciones de**.
+
+2.  En la sección de **Datos derivados**, pulse el botón **avanzado** y seleccione **único** como la **Ubicación de construir** como se muestra aquí:
+    
+    ![][9]
+
+ [9]: img/guide/platforms/ios/xcode_build_location.png
+
+Esta es la configuración predeterminada para una instalación nueva de Xcode, pero se puede ajustar diferentemente después de una actualización de una versión anterior de Xcode.
+
+Para más información, consulte la documentación de Apple:
+
+*   [IOS empezar a desarrollar aplicaciones hoy][10] proporciona una rápida visión de los pasos para el desarrollo de aplicaciones iOS.
+
+*   [Miembro del centro página][11] proporciona enlaces a varios iOS recursos técnicos incluyendo recursos técnicos, el portal de aprovisionamiento, guías de distribución y foros de la comunidad.
+
+*   [Herramientas de flujo de trabajo guía para iOS][7]
+
+*   [Xcode 4 Guía del usuario][12]
+
+*   [Videos de sesiones][13] de la Conferencia de desarrolladores amplia manzana mundial 2012 (WWDC2012)
+
+*   Se instala el [comando selección de xcode][14], que ayuda a especificar la versión correcta de Xcode si más de uno.
+
+ [10]: http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOS/index.html#//apple_ref/doc/uid/TP40011343
+ [11]: https://developer.apple.com/membercenter/index.action
+ [12]: http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/000-About_Xcode/about.html#//apple_ref/doc/uid/TP40010215
+ [13]: https://developer.apple.com/videos/wwdc/2012/
+ [14]: http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/xcode-select.1.html
+
+(Mac ® OS X ®, Apple ®, Xcode, App Store℠, iPad ®, iPhone ®, iPod ® y Finder ® son marcas registradas de Apple Inc.)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/2b8e503f/docs/es/3.1.0/guide/platforms/ios/plugin.md
----------------------------------------------------------------------
diff --git a/docs/es/3.1.0/guide/platforms/ios/plugin.md b/docs/es/3.1.0/guide/platforms/ios/plugin.md
new file mode 100644
index 0000000..9fde7b7
--- /dev/null
+++ b/docs/es/3.1.0/guide/platforms/ios/plugin.md
@@ -0,0 +1,196 @@
+---
+
+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.
+---
+
+# iOS Plugins
+
+Un plugin es una clase de Objective-C que extiende la clase `CDVPlugin`.
+
+Cada clase plugin debe estar registrado como un `<feature>` de la etiqueta en el `config.xml` archivo. Es a través de este mecanismo de ese JavaScript `exec` del método `service` parámetro asigna a una clase de Objective-C.
+
+## Asignación de clase plugin
+
+La porción de JavaScript de un plugin utiliza siempre el `cordova.exec` método como sigue:
+
+    exec(<successFunction>, <failFunction>, <service>, <action>, [<args>]);
+    
+
+Esto mariscales una solicitud de la `UIWebView` al lado de iOS nativas, más o menos hirviendo a llamar al método de `acción` en la clase de `servicio`, con los argumentos pasados en la matriz de `args`.
+
+Especifique el plugin como un `<feature>` etiqueta de proyecto de la aplicación Cordova-iOS `config.xml` archivo.
+
+    <feature name="LocalStorage">
+        <param name="ios-package" value="CDVLocalStorage" />
+    </feature>
+    
+
+La función `name` atributo debe coincidir con lo que usas en JavaScript `exec` llamada `service` parámetro y el `value` atributo debe coincidir con el nombre de clase de Objective-C del plugin. `<param name>`debería ser siempre `"ios-package"` . Si usted no cumple con esta configuración, el plugin puede compilar pero no será accesible por Córdoba.
+
+## Vida e inicialización de Plugin
+
+Para la vida de cada uno se crea una instancia de un objeto plugin `UIWebView` . Plugins no se instancian hasta que primero se hace referencia mediante una llamada desde JavaScript, a menos que `<param>` con un `onload` `name` atributo se establece en `"true"` en `config.xml` . Por ejemplo:
+
+    <feature name="Echo">
+        <param name="ios-package" value="Echo" />
+        <param name="onload" value="true" />
+    </feature>
+    
+
+No hay *ningún* señalado a inicializador de plugins. Por el contrario, debe usar plugins el `pluginInitialize` método para su lógica puesta en marcha.
+
+Plugins con solicitudes de larga duración, actividad (por ejemplo, medios de reproducción) del fondo, los oyentes o estado interno debe implementar el `onReset` método y detener o limpiar esas actividades. Este método se ejecuta cuando el `UIWebView` se desplaza a una nueva página o actualizaciones, que vuelve a cargar el JavaScript.
+
+## Escribir un iOS Cordova Plugin
+
+Tenemos fuego JavaScript apagado una solicitud plugin nativo al lado. Tenemos el iOS Objective-C plugin asigna correctamente mediante el archivo `config.xml`. Así qué ¿te parece el final iOS Objective-C Plugin clase?
+
+Lo obtiene despachó al plugin vía la función de JavaScript `exec` se pasa al método de `action` de la clase Plugin correspondiente. Un método de plugin tiene esta firma:
+
+    - (void)myMethod:(CDVInvokedUrlCommand*)command
+    {
+        CDVPluginResult* pluginResult = nil;
+        NSString* myarg = [command.arguments objectAtIndex:0];
+    
+        if (myarg != nil) {
+            pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+        } else {
+            pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Arg was null"];
+        }
+        [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+    }
+    
+
+1.  [CDVInvokedUrlCommand.h][1]
+
+2.  [CDVPluginResult.h][2]
+
+3.  [CDVCommandDelegate.h][3]
+
+ [1]: https://github.com/apache/cordova-ios/blob/master/CordovaLib/Classes/CDVInvokedUrlCommand.h
+ [2]: https://github.com/apache/cordova-ios/blob/master/CordovaLib/Classes/CDVPluginResult.h
+ [3]: https://github.com/apache/cordova-ios/blob/master/CordovaLib/Classes/CDVCommandDelegate.h
+
+## iOS tipos de mensaje CDVPluginResult
+
+Usando CDVPluginResult puede volver una variedad de tipos de resultados a su segunda prueba de JavaScript, utilizando métodos de la clase que se parecen:
+
+    + (CDVPluginResult*)resultWithStatus:(CDVCommandStatus)statusOrdinal messageAs...
+    
+
+Puede crear `String`, `Int`, `Double`, `Bool`, `Array`, `Dictionary`, `ArrayBuffer` y `Multipart` tipos. O, no conecte ningún argumento (sólo enviar un estado). O, devolverá un Error. Incluso puede elegir no enviar ningún resultado del plugin, en cuyo caso la devolución de llamada no se dispara.
+
+### Notas
+
+*   `messageAsArrayBuffer`Espera `NSData*` y se convierte en un `ArrayBuffer` para la devolución de llamada JavaScript (y `ArrayBuffers` envió a un plugin de JavaScript se convierten en`NSData*`).
+*   `messageAsMultipart` Espera un `NSArray *` que contengan cualquiera de las otras apoyado tipos y envía la matriz entera como la `argumentos` a la devolución de llamada JavaScript. 
+    *   Capricho: esto no es sólo "syntactic sugar" (aunque es dulce). De esta manera, todos los argumentos son serializa o deserializa según sea necesario. Por ejemplo, que es seguro volver `NSData*` como varias partes, pero no como `Array` /`Dictionary`.
+
+## IOS echo Plugin Plugin
+
+Nos gustaría añadir lo siguiente al proyecto de `config.xml` archivo:
+
+    <feature name="Echo">
+        <param name="ios-package" value="Echo" />
+    </feature>
+    
+
+Entonces nos gustaría añadir los siguientes archivos (`Echo.h` y `Echo.m`) en el directorio de Plugins dentro de nuestro directorio de aplicaciones Cordova-iOS:
+
+    /********* Echo.h Cordova Plugin Header *******/
+    
+    #import <Cordova/CDV.h>
+    
+    @interface Echo : CDVPlugin
+    
+    - (void)echo:(CDVInvokedUrlCommand*)command;
+    
+    @end
+    
+    /********* Echo.m Cordova Plugin Implementation *******/
+    
+    #import "Echo.h"
+    #import <Cordova/CDV.h>
+    
+    @implementation Echo
+    
+    - (void)echo:(CDVInvokedUrlCommand*)command
+    {
+        CDVPluginResult* pluginResult = nil;
+        NSString* echo = [command.arguments objectAtIndex:0];
+    
+        if (echo != nil && [echo length] > 0) {
+            pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:echo];
+        } else {
+            pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR];
+        }
+    
+        [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+    }
+    
+    @end
+    
+
+Echemos un vistazo al código. En la parte superior tenemos todas las necesarias importaciones de Córdoba. Nuestra clase se extiende desde `CDVPlugin` (muy importante).
+
+Este plugin soporta sólo una acción, el `echo` acción. En primer lugar, cogemos la cadena Eco usando el `objectAtIndex` método en nuestro `args` , diciendo queremos que el parámetro décimo en la matriz de argumentos. Hacemos un poco de control de parámetro: Asegúrese de que no es `nil` y asegúrese de que no es una cadena de longitud cero.
+
+Si lo es, volvemos a `PluginResult` con un `ERROR` estado. Si todos esos cheques pasan, entonces volvemos un `PluginResult` con un `OK` estado y pase en el `echo` que recibimos en el primer lugar como un parámetro de cadena.
+
+Finalmente, enviamos el resultado a `self.commandDelegate` , que ejecuta el `exec` callbacks de éxito o fracaso del método en el lado de JavaScript. Si se llama a la devolución de llamada de éxito, pasa en la `echo` parámetro.
+
+## Threading
+
+Plugin métodos se ejecutan en el mismo subproceso como la interfaz de usuario. Si tu plugin requiere una gran cantidad de procesamiento o requiere una llamada de bloquea, debe utilizar un subproceso de fondo. Por ejemplo:
+
+    - (void)myPluginMethod:(CDVInvokedUrlCommand*)command
+    {
+        // Check command.arguments here.
+        [self.commandDelegate runInBackground:^{
+            NSString* payload = nil;
+            // Some blocking logic...
+            CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:payload];
+            // The sendPluginResult method is thread-safe.
+            [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+        }];
+    }
+    
+
+## Funcionalidad avanzada Plugin
+
+Ver otros métodos que puede reemplazar en:
+
+*   [CDVPlugin.h][4]
+
+*   [CDVPlugin.m][5]
+
+ [4]: https://github.com/apache/cordova-ios/blob/master/CordovaLib/Classes/CDVPlugin.h
+ [5]: https://github.com/apache/cordova-ios/blob/master/CordovaLib/Classes/CDVPlugin.m
+
+Por ejemplo, puede conectar en el `pause` , `resume` , poner fin a la aplicación y `handleOpenURL` eventos.
+
+## Plugins de depuración
+
+Para depurar el lado Objective-C, utilizaría a depurador incorporado de Xcode. Para JavaScript, en iOS 5,0 puede utilizar [Weinre, un proyecto de Cordova Apache][6] o [iWebInspector, una utilidad de terceros][7]
+
+ [6]: https://github.com/apache/cordova-weinre
+ [7]: http://www.iwebinspector.com/
+
+Para iOS 6, utilizaría Safari 6.0 simplemente adjuntar a su aplicación corriendo en el iOS Simulator 6.
+
+## Errores comunes
+
+*   No olvides agregar asignación de su plugin en config.xml. Si se olvida, se registra un error en la consola de Xcode.
+
+*   No olvide agregar los hosts que conectarse en la lista blanca, como se describe en la guía de lista blanca de dominio. Si se olvida, se registra un error en la consola de Xcode.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/2b8e503f/docs/es/3.1.0/guide/platforms/ios/tools.md
----------------------------------------------------------------------
diff --git a/docs/es/3.1.0/guide/platforms/ios/tools.md b/docs/es/3.1.0/guide/platforms/ios/tools.md
new file mode 100644
index 0000000..cc5efeb
--- /dev/null
+++ b/docs/es/3.1.0/guide/platforms/ios/tools.md
@@ -0,0 +1,49 @@
+---
+
+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.
+---
+
+# iOS herramientas de línea de comandos
+
+El `cordova` la utilidad de línea de comandos es una herramienta de alto nivel que le permite construir aplicaciones a través de varias plataformas a la vez. Una versión anterior del marco Cordova ofrece conjuntos de herramientas de línea de comandos específicos de cada plataforma. Para usarlos como una alternativa a la CLI, tienes que descargar esta versión de Córdoba desde [cordova.apache.org][1]. La descarga contiene los archivos separados para cada plataforma. Ampliar la plataforma de destino. Las herramientas aquí descritas están normalmente disponibles en el nivel superior `bin` Directorio de otra manera, consulte el archivo **Léame** para obtener direcciones más detallada.
+
+ [1]: http://cordova.apache.org
+
+Las herramientas de línea de comandos de iOS se basan en scripts de shell y confían en Xcode tools de línea de comandos como `xcode-select` y `xcodebuild`.
+
+## Crear un proyecto
+
+Ejecute el comando `crear`, especificando la ruta existente para el proyecto, el identificador de paquete de reversa-dominio-estilo y nombre para mostrar de la aplicación.
+
+    $ ./path/to/cordova-ios/bin/create /path/to/my_new_project com.example.project_name ProjectName
+    
+
+## Construir un proyecto
+
+    $ /path/to/my_new_project/cordova/build
+    
+
+## Ejecutar la aplicación en el emulador
+
+    $ /path/to/my_new_project/cordova/run
+    
+
+## Liberando
+
+    $ /path/to/my_new_project/cordova/release
+    
+
+## Tala
+
+    $ /path/to/my_new_project/cordova/log
\ No newline at end of file