Elgg Core - en to es translation catalogue (548 entries)

en: $CONFIG and $vars['config']
es: $CONFIG y $vars['config']

en: $viewtype : The type of `view`_ e.g. 'default' or 'mobile'. $type : The type of entity - group, site, user, object. $subtype : Subtype of $type, e.g. blog, page. $size : Size - 'large', 'medium', 'small' or 'tiny'
es: ``$viewtype`` es el tipo de la `vista`_, como ``default`` (predeterminado) o ``mobile`` (móvil). ``$type`` es el tipo de la entidad: ``group`` (grupo), ``site`` (sitio), ``user`` (usuario) o ``object`` (objeto). ``$subtype`` es el subtipo de ``$type``, como ``blog`` o ``page`` (página). ``$size`` es el tamaño: ``large`` (grande), ``medium`` (mediano), ``small`` (pequeño) o ``tiny`` (enano).

en: 'Plugin'
es: 'Complemento'

en: 'entity' : The entity in question 'viewtype' : The type of `view`_ e.g. 'default' or 'mobile'. 'size' : The size.
es: ``entity``, la entidad en cuestión; ``viewtype``, el tipo de la `vista`_, como ``default`` (predeterminado) o ``mobile`` (móvil); ``size``, el tamaño.

en: **ACCESS_FRIENDS** Only the owner and his/her friends can see it
es: **ACCESS_FRIENDS:** Sólo el usuario propietario del objeto y sus contactos pueden verlo.

en: **ACCESS_LOGGED_IN** Any logged in user can see it
es: **ACCESS_LOGGED_IN:** Cualquier usuario registrado puede verlo.

en: **ACCESS_PRIVATE** Only the owner can see it
es: **ACCESS_PRIVATE:** Sólo el usuario propietario del objeto puede verlo.

en: **ACCESS_PUBLIC** Even visitors not logged in can see it
es: **ACCESS_PUBLIC:** Cualquier persona, con o sin cuenta en el sitio, puede verlo.

en: **Current 1.8 JavaScript modules will continue to work with Elgg**.
es: **Los módulos de JavaScript actuales de la versión 1.8 de Elgg seguirán funcionando.**

en: **``access_id``** An integer representing the access level of the object
es: **``access_id``:** Un número entero que representa el nivel de acceso del objeto.

en: **``description``** The description of the object
es: **``description``:** La descripción del objeto.

en: **``guid``** The entity's GUID; set automatically
es: **``guid``:** El identificador único de la entidad, definido de manera automática.

en: **``owner_guid``** The owning user's GUID
es: **``owner_guid``:** El identificador único del usuario propietario del objeto.

en: **``site_guid``** The owning site's GUID. This is set automatically when an instance of ``ElggObject`` gets created)
es: **``site_guid``:** El identificador único del sitio al que pertenece el objeto. Éste se define de manera automática al crear una instancia de ``ElggObject``.

en: **``subtype``** A single-word arbitrary string that defines what kind of object it is, for example ``blog``
es: **``subtype``:** Una cadena de texto arbitraria y sin espacios que define el tipo de objeto del que se trata, como ``blog``.

en: **``title``** The title of the object
es: **``title``:** El título del objeto.

en: **action, <action>**
es: **action, <acción>**

en: **annotate, <entity type>**
es: **annotate, <tipo de entidad>**

en: **comments, <entity_type>**
es: **comments, <tipo de entidad>**

en: **comments:count, <entity_type>**
es: **comments:count, <tipo de entidad>**

en: **container_permissions_check, <entity_type>**
es: **container_permissions_check, <tipo de entidad>**

en: **create, <entity type>**
es: **create, <tipo de entidad>**

en: **create, <relationship>**
es: **create, <relación>**

en: **cron, <period>**
es: **cron, <periodo>**

en: **delete, <entity type>**
es: **delete, <tipo de entidad>**

en: **delete, <relationship>**
es: **delete, <relación>**

en: **disable, <entity type>**
es: **disable, <tipo de entidad>**

en: **embed_get_items, <active_section>**
es: **embed_get_items, <sección activa>**

en: **enable, <entity type>**
es: **enable, <tipo de entidad>**

en: **entity:annotate, <entity_type>**
es: **entity:annotate, <tipo de entidad>**

en: **entity:icon:url, <entity_type>**
es: **entity:icon:url, <tipo de entidad>**

en: **forward, <reason>**
es: **forward, <motivo>**

en: **likes:count, <entity_type>**
es: **likes:count, <tipo de entidad>**

en: **members:list, <page_segment>**
es: **members:list, <segmento de página>**

en: **notify:entity:message, <entity_type> or is it <object_subtype>**
es: **notify:entity:message, <tipo o subtipo de objeto>**

en: **object:notifications, <object_subtype>**
es: **object:notifications, <subtipo de objeto>**

en: **permissions_check, <entity_type>**
es: **permissions_check, <tipo de entidad>**

en: **permissions_check:comment, <entity_type>**
es: **permissions_check:comment, <tipo de entidad>**

en: **permissions_check:metadata, <entity_type>**
es: **permissions_check:metadata, <tipo de entidad>**

en: **prepare, menu:<menu_name>**
es: **prepare, menu:<nombre del menú>**

en: **register, menu:<menu_name>**
es: **register, menu:<nombre del menú>**

en: **reportedcontent:add, <entity_type>**
es: **reportedcontent:add, <tipo de entidad>**

en: **reportedcontent:archive, <entity_type>**
es: **reportedcontent:archive, <tipo de entidad>**

en: **reportedcontent:delete, <entity_type>**
es: **reportedcontent:delete, <tipo de entidad>**

en: **search, <type>**
es: **search, <tipo>**

en: **search, <type>:<subtype>**
es: **search, <tipo>:<subtipo>**

en: **session:get, <key>**
es: **session:get, <clave>**

en: **update, <entity type>**
es: **update, <tipo de entidad>**

en: **view, <view_name>**
es: **view, <nombre de la vista>**

en: **widget_settings, <widget_handler>**
es: **widget_settings, <manejador de artilugio>**

en: 1. Define your module as asynchronous JavaScript
es: 1. Definir el módulo como JavaScript asíncrono

en: 1. Do not use ``elgg.provide()`` or ``elgg.require()`` anymore. They are fully replaced by ``define()`` and ``require()`` respectively. 2. Return the value of the module instead of adding to a global variable. 3. Static views (.css, .js) are automatically minified and cached by Elgg's simplecache system.
es: 1. No use ni ``elgg.provide()`` ni ``elgg.require()``. Están obsoletas, substituidas por ``define()`` y ``require()`` respectivamente. 2. Devuelva el valor del módulo en vez de añadirlo a una variable global. 3. Las vistas estáticas (ficheros CSS y JavaScript) se minimizan de manera automática y se cachean mediante el sistema de caché simple de Elgg.

en: 2. Tell Elgg to asynchronously execute your module in the current page
es: 2. Informar a Elgg de que debe ejecutar el módulo de manera asíncrona en la página actual

en: A basic module could look like this:
es: Un módulo básico tendrá el siguiente aspecto:

en: A default view for all entities has already been created, this is called EntityType/default.
es: Ya se crea una vista predeterminada para todas las entidades, llamada «TipoDeEntidad/default».

en: A few views and functions automatically generate security tokens:
es: Algunas vistas y funciones generan códigos aleatorios de seguridad de forma automática:

en: A theme is a type of :doc:`plugin </admin/plugins>` that overrides display aspects of Elgg.
es: Un tema es un tipo de doc:`complemento </admin/plugins>` que substituye los aspectos visibles de Elgg.

en: A url for an icon representing a given entity can be retrieved by the ``getIcon()`` method.
es: La dirección URL de un icono que representa una entidad concreta puede obtenerse mediante el método ``getIcon()``.

en: API authentication
es: Autenticación de la API

en: Action hooks
es: Ganchos de acciones

en: Actions must be registered before use. Use ``elgg_register_action`` for this:
es: Las acciones deben registrarse antes de poder usarlas. Para registrar acciones, use ``elgg_register_action``:

en: Add a function that prepares the form (see ``mod/file/lib/file.php`` for an example)
es: Añada una función que prepare el formulario. A modo de ejemplo, véase ``mod/file/lib/file.php``.

en: Add a security token to an object, URL, or query string:
es: Añadir un código aleatorio de seguridad a un objeto, URL, o texto de consulta:

en: Add new pages and customize URLs.
es: Añada páginas nuevas y personalice direcciones URL.

en: Add: ``action/:plugin/save``
es: Añadir: ``action/:plugin/save``.

en: Added: /page_handler/add/:container_guid
es: Añadido: /page_handler/add/:container_guid

en: Adding items to the Activity listing
es: Añadir elementos a la lista de actividad

en: Adding, reading and deleting annotations
es: Añadir, leer y eliminar anotaciones

en: Additionally, you may want to control what types of authentication are available on your site. This will also be covered.
es: Además, puede que desee controlar los tipos de autenticación disponibles en el sitio. Esto, también, se explica a continuación.

en: Adds XSRF tokens to the request body for security
es: Añade códigos aleatorios para dificultar los ataques de falsificación de peticiones entre sitios distintos al cuerpo de la solicitud.

en: Advanced features
es: Funcionalidades avanzadas

en: Ajax
es: AJAX

en: All: /page_handler/all
es: Todo: /page_handler/all

en: Allows whitelisting URLs to non-admins during maintenance mode
es: Permite a usuarios que no sean administradores añadir direcciones URL a la lista blanca durante el modo de mantenimiento.

en: Almost every page handler should have a page handler script. (Example: ``bookmarks/all => mod/bookmarks/pages/bookmarks/all.php``)
es: Casi todos los gestores de páginas deberían tener un script de gestión de páginas. Por ejemplo, ``bookmarks/all => mod/bookmarks/pages/bookmarks/all.php``.

en: Also, calling ``elgg_require_js("my/module")`` from PHP tells Elgg to execute the module code on the current page.
es: Además, al llamar a ``elgg_require_js("mi/modulo")`` desde PHP, Elgg ejecuta el código del módulo en la página actual.

en: Annotation events
es: Eventos de anotaciones

en: Annotations could be used, for example, to track ratings. To annotate an entity you can use the object's ``annotate()`` method. For example, to give a blog post a rating of 5, you could use:
es: Las anotaciones se pueden usar por ejemplo para llevar un seguimiento de puntuación. Para añadir una anotación a una entidad puede usar el método ``annotate()`` del objeto. Por ejemplo, para darle a un artículo de blog una puntuación de 5, puede utilizar:

en: As an example, let's write a function that returns the number of users that have viewed the site in the last x minutes.
es: Por ejemplo, escribamos una función que devuelva el número de usuarios que han visitado el sitio durante los últimos x minutos:

en: As of Elgg 1.8, the css is split into several files based on what aspects of the site you're theming. This allows you to tackle them one at a time, giving you a chance to make real progress without getting overwhelmed.
es: Desde la versión 1.8 de Elgg, el código CSS está dividido en varios ficheros en base a qué aspectos del sitio son los que cambia el tema. Esto le permite trabajar en el aspecto de los distintos elementos del tema de uno en uno, de forma que pueda progresar rápidamente sin necesidad de angustiarse.

en: As of Elgg 1.9, we encourage all developers to adopt the `AMD (Asynchronous Module Definition) <http://requirejs.org/docs/whyamd.html>`_ standard for writing JavaScript code in Elgg. The 1.8 version is still functional and is :ref:`described below<1.8-js>`.
es: Desde la versión 1.9 de Elgg, se recomienta que todos los desarrolladores adopten el estándar `AMD <http://requirejs.org/docs/whyamd.html>`_ para escribir código JavaScript en Elgg. La versión 1.8 aún es funcional y está :ref:`descrita a continuación<1.8-js>`.

en: As soon as you feel comfortable with Elgg's web services API framework, you will want to step back and design your API. What sort of data are you trying to expose? Who or what will be API users? How do you want them to get access to authentication keys? How are you going to document your API? Be sure to take a look at the APIs created by popular Web 2.0 sites for inspiration. If you are looking for 3rd party developers to build applications using your API, you will probably want to provide one or more language-specific clients.
es: En cuanto se habitúe a la infraestructura del API para servicios web de Elgg, querrá proceder a diseñar su API: decidir qué datos quiere exponer, quién y en qué consistirán los usuarios de la API, cómo accederán a las claves de autenticación, cómo escribirá la documentación del API, etc. Asegúrese de echarle una ojeada a las API creadas por sitios web 2.0 populares, a modo de inspiración. Si pretende que desarrolladores de terceros construyan aplicaciones utilizando su API, quizá debería plantearse ofrecer uno o varios clientes específicos de algún lenguaje de programación.

en: Automatically normalizes the request URL to http://localhost/elgg/action/example.
es: Normaliza de manera automática la URL de la solicitud, convirtiéndola en algo similar a «http://localhost/elgg/action/example».

en: Because of bugs in the Elgg core, some events may be thrown more than once on the same action. update, object is an example of an event that is thrown twice.
es: Debido a errores en el núcleo de Elgg, algunos eventos podrían desencadenarse más de una vez para la misma acción. ``update, object`` es un ejemplo de este problema, es un evento que se desencadena por duplicado.

en: Before a search this filters the types queried. This can be used to reorder the display of search results.
es: Antes de una búsqueda, esto filtra los tipos que se indiquen. Esto puede usarse para reordenar los resultados que se muestran en una búsqueda.

en: Before executing any action, Elgg triggers a hook:
es: Antes de ejecutar cualquier acción, Elgg desencadena un gancho:

en: Both the global ``$CONFIG`` variable and the ``$vars['config']`` parameter have been deprecated. They should be replaced with the ``elgg_get_config()`` function.
es: Tanto la variable global ``$CONFIG`` como el parámetro ``$vars['config']`` están obsoletos. Deberían substituirse por la función ``elgg_get_config()``.

en: Build an HTTP API for your site.
es: Construya una API HTTP para su sitio.

en: Building out your API
es: Expandir la API

en: But only when the plugin is active.
es: Pero sólo mientras el complemento esté activado.

en: But what about getting objects with a particular piece of metadata?
es: ¿Pero qué hay de obtener objetos que tienen un metadato concreto?

en: But what if you don't know the GUID? There are several options.
es: ¿Pero qué pasa si usted desconoce el identificador único? Pues existen varias opciones.

en: By GUID
es: Por identificador

en: By default, actions are only available to logged in users.
es: De manera predeterminada, las acciones sólo están disponibles para usuarios registrados.

en: By metadata
es: Por metadatos

en: By user, subtype or site
es: Por usuario, subtipo o sitio

en: Call ``elgg_push_breadcrumb()`` in the page handler scripts.
es: Llame a ``elgg_push_breadcrumb()`` en los scripts de gestión de páginas.

en: Call ``gatekeeper()`` and ``admin_gatekeeper()`` in the page handler function if required.
es: Llame a ``gatekeeper()`` y  a ``admin_gatekeeper()`` en la función del gestor de páginas si fuese necesario.

en: Call ``set_input()`` for entity guids in the page handler and use ``get_input()`` in the page handler scripts.
es: Llame a ``set_input()`` para identificadores de entidades en el gestor de páginas y use ``get_input()`` en los scripts de gestión de páginas.

en: Calls to ``elgg_define_js()`` must be in an ``init, system`` event handler.
es: Las llamadas a ``elgg_define_js()`` deben estar en un manejador del evento ``init, system``.

en: Check for the object in ``$vars['entity']``. Use ``elgg_instance_of()`` to make sure it's the type of entity you want.
es: Compruebe el objeto en ``$vars['entity']``. Use ``elgg_instance_of()`` para asegurarse de que se trata de el tipo de entidad que busca.

en: Clean up CSS/HTML
es: Haz limpieza de CSS y HTML

en: Client-side translations are loaded asynchronously. This means ``elgg.echo`` will not be ready until after the system is done initializing.
es: Las traducciones del lado del cliente se cargan de manera asíncrona. Esto significa que ``elgg.echo`` no estará listo hasta después de que el sistema haya terminado de iniciarse.

en: Compatible with 1.8
es: Compatible con la versión 1.8.

en: Core functions available in JS
es: Funciones fundamentales disponibles en JavaScript

en: Create a manifest.xml file describing your theme.
es: Cree un nuevo fichero ``manifest.xml`` que describa el tema.

en: Create a new directory under mod/
es: Cree una carpeta nueva dentro de ``mod/``.

en: Create a new start.php
es: Cree un nuevo ``start.php``.

en: Create your new plugin
es: Cree un complemento nuevo.

en: Create your plugin
es: Cree su complemento

en: Create your plugin as described in the :doc:`developer guide </guides/index>`.
es: Cree su complemento siguiendo las instrucciones descritas en la :doc:`guía para desarrolladores </guides/index>`.

en: Create, update, or delete content.
es: Los formularios y las acciones permiten crear, actualizar o eliminar contenido.

en: Creating an object
es: Crear un objeto

en: Customize Elgg's behavior with plugins.
es: Personalice el comportamiento de Elgg mediante complementos.

en: Customize the CSS
es: Personalice el CSS

en: Customize the look and feel of Elgg.
es: Personalice el aspecto de Elgg.

en: Customizing actions
es: Personalizar acciones

en: Customizing the front page
es: Personalizar la página principal

en: Database
es: Base de datos

en: Define your module as asynchronous JavaScript.
es: Definir el módulo como JavaScript asíncrono.

en: Define your module via a URL
es: Definir el módulo mediante una URL

en: Defines the input names and default values for form inputs.
es: Define los nombres de los campos de entrada y sus valores predeterminados.

en: Defining and loading a module in Elgg 1.9 takes two steps:
es: Para definir y cargar un módulo en Elgg 1.9 hace falta seguir dos pasos:

en: Defining modules as a view
es: Definir módulos como vistas

en: Delete the following core directories (same level as _graphics and engine):
es: Elimine las siguientes carpetas (se encuentran en el mismo nivel que «_graphics» o «engine»):

en: Delete: ``action/:plugin/delete``
es: Eliminar: ``action/:plugin/delete``.

en: Deprecated in 1.8! Use view, (view) instead
es: Obsoleto desde la versión 1.8 de Elgg. Use ``view, (view)`` en su lugar.

en: Determining the authentication available
es: Determinar el método de autenticación disponible

en: Developer Guides
es: Guías para desarrolladores

en: Display a status message to the user.
es: Mostrar un mensaje de estado al usuario.

en: Display an error message to the user.
es: Mostrar un mensaje de error al usuario.

en: Displaying entities
es: Mostrar entidades

en: Doing so forces some scripts to be loaded in ``<head>`` (performance)
es: Esta práctica obliga a algunos scripts a cargarse en la sección ``<head>`` de la página, lo cual afecta al rendimiento.

en: Doing this should generate something like the following markup:
es: Esto debería generar un código de etiquetas como el siguiente:

en: Don't use the "bundled" category with your plugins. That is only for plugins distributed with Elgg.
es: No utilice la categoría «bundled» (de serie) en sus complementos. Esa categoría corresponde sólo a complementos distribuidos junto con Elgg.

en: Each section will include information whether the change is backwards compatible with Elgg 1.8.
es: Cada sección incluirá información sobre si el cambio es compatible hacia atrás con la versión 1.8 de Elgg.

en: Edit: ``action/:plugin/save``
es: Editar: ``action/:plugin/save``.

en: Editing: /page_handler/edit/:guid
es: Edición: /page_handler/edit/:guid

en: Elgg 1.8 is the biggest leap forward in the development of Elgg since version 1.0. As such, there is more work to update core and plugins than with previous upgrades. There were a small number of API changes and following our standard practice, the methods we deprecated have been updated to work with the new API. The biggest changes are in the standardization of plugins and in the views system.
es: La versión 1.8 ha sido el mayor salto en el desarrollo de Elgg desde la versión 1.0. Es por ello que para actualizar el núcleo de Elgg y sus complementos hace falta más trabajo que en anteriores actualizaciones. Se produjeron algunos cambios pequeños en la API, y siguiendo con nuestra práctica habitual, los métodos que pasaron a quedar obsoletos se actualizaron para funcionar con la nueva API. Los cambios más importantes afectaron a la estandarización de complementos y al sistema de vistas.

en: Elgg 1.8: Default widgets
es: Elgg 1.8: Artilugios predeterminados

en: Elgg does some things automatically for you when you generate forms this way:
es: Elgg hace algunas cosas de manera automática por usted cuando genera formularios de esta manera:

en: Elgg forms submit to actions. Actions define the behavior for form submission.
es: Los formularios de Elgg envían información a las acciones. Las acciones definen el comportamiento ante los datos recibidos.

en: Elgg provides a powerful framework for building web services. This allows developers to expose functionality to other web sites and desktop applications along with doing integrations with third-party web applications. While we call the API RESTful, it is actually a REST/RPC hybrid similar to the APIs provided by sites like Flickr and Twitter.
es: Elgg ofrece una infraestructura perfecta para construir servicios web. Esto permite a los desarrolladores exponer funcionalidad del sitio a otros sitios web y aplicaciones, así como a sitios web y aplicaciones de terceros. Aunque definimos la API como RESTful, en realidad es un híbrido entre REST y RPC, similar a las API de sitios como Flickr o Twitter.

en: Elgg's web services API uses a type of `pluggable authentication module (PAM)`_ architecture to manage how users and developers are authenticated. This provides you the flexibility to add and remove authentication modules. Do you want to not use the default user authentication PAM but would prefer using OAuth? You can do this.
es: La API para servicios web de Elgg usa un tipo de arquitectura de `módulo de autenticación conectable («PAM» por sus siglas en inglés)`_ para gestionar la forma en que se autentifican los usuarios y desarrolladores. Esto le ofrece flexibilidad para añadir y eliminar módulos de autenticación. ¿No quiere usar el PAM predeterminado de autenticación de usuarios sino que prefiere usar OAuth? Pues puede hacerlo.

en: Embed
es: Incrustado

en: Entities
es: Entidades

en: Entities all have a method called ->getIcon($size).
es: Todas las entidades cuentan con un método ``getIcon($size)``.

en: Entity Icons
es: Iconos de entidades

en: Entity URL handlers
es: Gestores de direcciones URL de entidades

en: Entity URLs
es: Direcciones URL de entidades

en: Entity events
es: Eventos de entidades

en: Entity urls are provided by the ``getURL()`` interface and provide the Elgg framework with a common way of directing users to the appropriate display handler for any given object.
es: Las direcciones URL de entidades las devuelve la interfaz ``getURL()`` y ofrecen a la infraestructura Elgg una forma común de dirigir a los usuarios a los manejadores de vistas apropiados para cualquier objeto.

en: Example of (shortened) new version:
es: Ejemplo (resumido) de la nueva versión:

en: Example of (shortened) old version:
es: Ejemplo (resumido) de la versión anterior:

en: Example of new code:
es: Ejemplo de código de la nueva versión:

en: Example of new way:
es: Ejemplo del nuevo método:

en: Example of old code:
es: Ejemplo de código de la versión anterior:

en: Example of the new way:
es: Ejemplo del nuevo método:

en: Example of the old way in ``languages/en.php``:
es: Ejemplo del método anterior en ``languages/en.php``:

en: Example of the old way:
es: Ejemplo del método anterior:

en: Example:
es: Ejemplo:

en: Example: Bookmarks
es: Ejemplo: Marcadores

en: Example: Captcha
es: Ejemplo: CAPTCHA

en: Example: User registration
es: Ejemplo: Registro de una cuenta de usuario

en: Exposing methods
es: Exponer métodos

en: Exposing this function is the same as the previous except we require user authentication and we're going to make this use POST rather than GET HTTP requests.
es: Expondremos la función como ya hemos hecho anteriormente, con la diferencia de que esta vez exigiremos autenticación de usuario, y que la solicitud sea de tipo POST en vez de GET.

en: Extending ElggEntity
es: Extender ElggEntity

en: Extracts the values from a bookmark object if it's passed.
es: Extrae los valores de un objeto de marcador si lo recibe.

en: Extracts the values from a sticky form if it exists.
es: Extrae los valores de un formulario persistente si éste existe.

en: File
es: Fichero

en: Files and images
es: Ficheros e imágenes

en: Filters the SQL clauses used in _elgg_get_access_where_sql()
es: Filtra las cláusulas SQL utilizadas en ``_elgg_get_access_where_sql()``.

en: Filters the URL to which the user will be forwarded after login
es: Filtra el URL al que se redirigirá al usuario después de que éste acceda al sitio.

en: Filters the returned content of views
es: Filtra el contenido devuelto de las vistas.

en: For enhanced security, all actions require an XSRF token. Calls to action URLs that do not include security tokens will be ignored and a warning will be generated.
es: Para mayor seguridad, todas las acciones requieren un código aleatorio para dificultar ataques de falsificación de petición entre sitios distintos. Las llamadas a direcciones URL de acciones que no incluyan estos códigos se ignorarán y se generará un aviso.

en: For example, a profile page in the case of users.
es: Por ejemplo, una página de perfil en el caso de usuarios.

en: For example, the following start.php will add mytheme/css to Elgg's core css file:
es: Por ejemplo, el siguiente ``start.php`` añadirá ``mytheme/css`` al fichero CSS del núcleo de Elgg:

en: For example, to forward to the user's profile:
es: Por ejemplo, para redirigir al usuario a su perfil:

en: For group content, check the container_guid by using elgg_get_page_owner_entity().
es: Para el contenido de grupos, compruebe el identificador del contenedor (``container_guid``) mediante la función ``elgg_get_page_owner_entity()``.

en: Force a refresh of all XSRF tokens on the page.
es: Obligar a que se actualicen todos los códigos aleatorios de la página que se usan para dificultar los ataques de falsificación de peticiones entre sitios.

en: Forms + Actions
es: Formularios y acciones

en: From 1.7 to 1.8
es: De la versión 1.7 a la 1.8

en: From 1.8 to 1.9
es: De la versión 1.8 a la 1.9

en: Functions deprecated in 1.7 will produce visible errors in 1.8.
es: Las funciones marcadas como obsoletas en la versión 1.7 de Elgg producen errores visibles en la versión 1.8.

en: Get the GUID of the current page's owner.
es: Obtener el identificador único del propietario de la página actual.

en: Get the current page's language.
es: Devuelve el idioma de la página actual.

en: Give feedback to the user about the status of the action by using ``system_message`` for positive feedback or ``register_error`` for warnings and errors:
es: Ofrece información al usuario sobre el estado de la acción mediante ``system_message`` (cuando se trate de información positiva) o ``register_error`` (cuando se trate de avisos o errores):

en: Group list: /page_handler/group/:guid/all
es: Lista de grupos: /page_handler/group/:guid/all

en: Helper functions
es: Funciones de asistencia

en: Here is a list of the existing CSS views:
es: La siguiente es una lista de las vistas de CSS existentes:

en: Here is a simple Flickr widget that uses Flickr's JSON output.
es: A continuación se muestra un artilugio de Flickr sencillo que utiliza la salida en formato JSON de Flickr.

en: Here's a quick overview:
es: Resumiendo:

en: Hooks have already been defined, and will look in the following places for default values (in this order):
es: Los ganchos ya están definidos, y buscarán valores predeterminados en las siguientes rutas y en este orden:

en: If no icon can be provided for the data type a default one is used, defined either by your current theme or the Elgg default.
es: Si no se puede ofrecer un icono para un tipo de datos, se usa un icono predeterminado, definido o bien por el tema actual o bien el icono predeterminado de la instalación d Elgg.

en: If the action emits any system messages or errors, they will automatically be displayed when the response comes back.
es: Si la acción emite algún mensaje del sistema o de error, dicho mensaje se muestra automáticamente cuando se devuelve la respuesta.

en: If the photo would had been added for example into a photo album, we could add it by passing in also:
es: Por ejemplo, si la foto se pretendiese añadir a un álbum de fotos, se haría pasándole también:

en: If you add this code to a plugin and then go to http://yoursite.com/services/api/rest/xml/?method=system.api.list, you should now see your test.echo method listed as an API call. Further, to test the exposed method from a web browser, you could hit the url: http://yoursite.com/services/api/rest/xml/?method=test.echo&string=testing and you should see xml data like this:
es: Si añade este código a un complemento y a continuación accede a http://yoursite.com/services/api/rest/xml/?method=system.api.list, debería ver el método ``test.echo`` listado como una llamada de la API. Además, para probar el método expuesto desde un navegador, puede hacerlo desde la dirección URL http://yoursite.com/services/api/rest/xml/?method=test.echo&string=testing y debería ver datos XML como los siguientes:

en: If you already have an ``ElggUser`` – e.g. ``elgg_get_logged_in_user_entity``, which always has the current user's object when you're logged in – you can simply use:
es: Si ya tiene una instancia de ``ElggUser`` —que puede obtener, por ejemplo, mediante ``elgg_get_logged_in_user_entity`` el objeto del usuario actual— puede usar:

en: If you assign an array, all the values will be set for that metadata. This is how, for example, you set tags.
es: Si asigna un vector, todos los valores se definirán para ese metadato. Por ejemplo, así es como definiría etiquetas:

en: If you derive from one of the Elgg core classes, you'll need to tell Elgg how to properly instantiate the new type of object so that get\_entity() et al. will return the appropriate PHP class. For example, if I customize ElggGroup in a class called "Committee", I need to make Elgg aware of the new mapping. Following is an example class extension:
es: Si escribe una subclase de una de las clases fundamentales de Elgg, tendrá que informar a Elgg sobre cómo crear una instancia del nuevo tipo de objeto correctamente, de forma que ``get_entity()`` y otros métodos similares puedan devolver una clase de PHP en condiciones. Por ejemplo, si personaliza la clase ``ElggGroup`` en una subclase llamada ``Committee`` (comité), tiene que informar a Elgg sobre ella. Véase el siguiente ejemplo de extensión de una clase:

en: If you do need your own CSS, you should use your own namespace, rather than ``elgg-``.
es: Si de verdad necesita su propio CSS, debería usar si propio espacio de nombres, uno distinto de ``elgg-``.

en: If you do not delete these directories before an upgrade, you will have problems!
es: Tendrá problemas si no elimina estas carpetas antes de actualizar.

en: If you know the user ID you want to get objects for, or the subtype, or the site, you have several options. The easiest is probably to call the procedural function ``elgg_get_entities``:
es: Si conoce el identificador del usuario cuyos objetos está buscando, o el subtipo o el sitio de esos objetos, dispone de varias opciones para obtener esos objetos. La más fácil probablemente sea la de llamar a la función procedural ``elgg_get_entities``:

en: If you make changes that break BC, you must update the plugin version and the required Elgg release.
es: Si hace cambios que hacen el complemento incompatible con versiones anteriores con las que antes sí era compatible, debe actualizar la versión del complemento y la versión requerida de Elgg.

en: If you want to provide an icon for a new data type, or override an existing one you can do this simply through the views interface.
es: Si quiere ofrecer un icono para un nuevo tipo de datos o substituir un icono existente, no tiene más que usar la interfaz de vistas.

en: If your plugin uses the widget canvas, you can register default widget support with Elgg core, which will handle everything else.
es: Si su complemento utiliza el canvas del artilugio, puede registrar que ofrece artilugios predeterminados en el núcleo de Elgg, para dejar que Elgg se ocupe de todo lo demás.

en: If you’d like to contribute translations to Elgg, see :doc:`the contributors' guide </about/contributing>`.
es: Si quiere colaborar en la traducción de Elgg a algún idioma, échele un ojo a la :doc:`guía para colaboradores </about/contributing>`.

en: Implementing actions
es: Definir acciones

en: In Elgg 1.8 the language files needed to use the ``add_translation()`` function. In 1.9 it is enough to just return the array that was previously passed to the function as a parameter. Elgg core will use the file name (e.g. en.php) to tell which language the file contains.
es: En la versión 1.8 de Elgg, los ficheros de idioma necesitaban usar la función ``add_translation()``. A partir de la versión 1.9, basta con devolver el vector que previamente se pasó a la función como parámetro. El núcleo de Elgg se basará en el nombre del fichero (por ejemplo: «es.php») para determinar qué idioma contiene el fichero.

en: In all of these cases, you can use Elgg's API authentication functions to control access. Elgg provides two built-in methods to perform API authentication: key based and HMAC signature based. You can also add your own authentication methods. The key based approach is very similar to what Google, Flickr, or Twitter. Developers can request a key (a random string) and pass that key with all calls that require API authentication. The keys are stored in the database and if an API call is made without a key or a bad key, the call is denied and an error message is returned.
es: En todos estos casos, puede usar las funciones de autenticación de la API para controlar el acceso. Elgg provide dos métodos de serie para realizar autenticaciones contra la API: mediante una clave y mediante una firma HMAC. También puede incluir sus propios métodos de autenticación. El método de autenticación mediante una clave es muy similar al que usan servicios como Google, Flickr o Twitter. Los desarrolladores pueden solicitar una clave (una cadena de texto aleatoria) y incluir la clave en las llamadas a la API que requieren autenticación. Las claves se almacenan en una base de datos y si una llamada a la API no incluye la clave o incluye una clave incorrecta, la llamada a la API se contesta con un mensaje de error.

en: In elgg_view_layout(), filters the layout name
es: En ``elgg_view_layout()``, filtra el nombre de la disposición.

en: In elgg_view_page(), filters $vars['head']
es: En ``elgg_view_page()``, filtra ``$vars['head']``.

en: In elgg_view_page(), filters the page shell name
es: En ``elgg_view_page()``, filtra el nombre del terminal de la página.

en: In elgg_view_page(), this filters $vars before it's passed to the page shell view (page/\*). To stop sending the X-Frame-Options header, unregister the handler _elgg_views_send_header_x_frame_options() from this hook.
es: En ``elgg_view_page()``, esto filtra ``$vars`` antes de que se pase a la vista terminal de la página (page/\*). Para evitar enviar la cabecera ``X-Frame-Options``, elimine del registro el manejador ``_elgg_views_send_header_x_frame_options()`` desde este gancho.

en: In elgg_view_page(), this filters the output return value
es: En ``elgg_view_page()``, esto filtra el valor de salida que se devuelve.

en: In file_get_simple_type(), filters the return value
es: En ``file_get_simple_type()``, filtra el valor devuelto.

en: In get_default_access(), filters the return value
es: En ``get_default_access()``, filtra el valor devuelto.

en: In order for entities to be displayed in `listing functions`_ you need to provide a view for the entity in the views system.
es: Para mostrar entidades en `funciones de lista`_ necesita proveer una vista para la entidad en el sistema de vistas.

en: In rare cases, you may need to generate tokens manually:
es: En algunos casos excepcionales, puede que necesite generar esos códigos manualmente:

en: In the examples we are upgrading an imaginary "Photos" plugin.
es: En los ejemplos estamos actualizando un complemento imaginario, «Photos» (fotos).

en: In the plugin hook handler, push an array into the return value defining your default widget support and when to create default widgets. Arrays require the following keys to be defined:
es: En el manejador, devuelva un vector que indique que ofrece artilugios predeterminados y cuándo crear los artilugios predeterminados. El vector puede contener las siguientes claves:

en: In the start.php you will need something like the following:
es: Necesitará algo como lo siguiente en ``start.php``:

en: In your action file, use the ``$_FILES`` global to access the uploaded file:
es: En el fichero de acciones, use la variable global ``$_FILES`` para acceder al fichero enviado:

en: Include page handler scripts from the page handler
es: Incluya scripts de gestión de páginas desde el gestor de páginas

en: Initialise the widget
es: Prepare el artilugio en el inicio

en: Inline scripts in core or bundled plugins are considered legacy bugs.
es: Los scripts in situ en el núcleo de Elgg o en los complementos que se incluyen junto con el núcleo están considerados código viejo pendiente de renovar.

en: Internationalization
es: Internacionalización

en: It adds some anti-csrf tokens (``__elgg_ts`` and ``__elgg_token``) to help keep your actions secure
es: Añade algunos códigos aleatorios (``__elgg_ts`` y ``__elgg_token``) para evitar falsificaciones de peticiones entre sitios distintos, ayudando así a mantener la seguridad de las acciones.

en: It also supports variable replacement using sprintf syntax:
es: También permite la substitución de variables mediante la sintaxis de ``sprintf``:

en: It automatically looks for the body of the form in the ``forms/example`` view.
es: Busca de manera automática el cuerpo del formulario en la vista ``forms/example``.

en: It sets the action to the appropriate url based on the name of the action you pass to it
es: Rellena la acción con el URL correspondiente basándose en el nombre de la acción que usted le pasó.

en: It's however recommended to add the ``<id>`` tag. It's value should be the name of the directory where the plugin is located inside the ``mod/`` directory.
es: De todas formas, se recomienda añadir la etiqueta ``<id>``. Su valor debería ser el nombre de la carpeta que contiene el complemento dentro de la carpeta ``mod/``.

en: Javascript API
es: API de JavaScript

en: Key-based authentication
es: Autenticación mediante clave

en: Language files
es: Ficheros de idioma

en: Let's write our wire posting function:
es: Escribamos la función para publicar en el Wire:

en: List of events in core
es: Lista de eventos fundamentales

en: List of plugin hooks in core
es: Lista de ganchos de complementos en el núcleo

en: Load a library on the current page with ``elgg_load_js``:
es: Para cargar una biblioteca en la página actual, use ``elgg_load_js``:

en: Loading an object
es: Cargar un objeto

en: Look for patterns that can be moved into core if you need significant CSS.
es: Si necesita mucho código CSS, busque patrones que podrían añadirse al núcleo de Elgg.

en: Make sure there are views for ``$vars['full_view'] == true`` and ``$vars['full_view'] == false``. ``$vars['full_view']`` replaced ``$vars['full]``.
es: Asegúrese de que hay vistas para ``$vars['full_view'] == true`` y ``$vars['full_view'] == false``. ``$vars['full_view']`` ha substituido a ``$vars['full]``.

en: Make sure you have the corrosponding directories within your plugin views structure:
es: Asegúrese de que tiene las carpetas correspondientes dentro de la estructura de vistas del complemento:

en: Make the delete action accept ``action/:handler/delete?guid=:guid`` so the metadata entity menu has the correct URL by default.
es: Haga que la acción de eliminar acepte ``action/:handler/delete?guid=:guid`` de forma que el menú de entidades de metadatos tenga la dirección URL correcta de manera predeterminada.

en: Make your UI translatable into many different languages.
es: Haz posible traducir la interfaz de tu sitio a cualquier idioma.

en: Make your forms sticky (see the file plugin's upload action and form prepare function).
es: Persista los formularios. A modo de ejemplo, véanse la acción de enviar (upload) del complemento de ficheros y su función para preparar el formulario.

en: Make your plugin more compatible with community themes.
es: Su complemento es más compatible con los temas de la comunidad.

en: Many registration functions simply added an ``elgg_`` prefix for consistency, and should be easy to update.
es: A muchas funciones de registro simplemente se les añadió el prefijo ``elgg_`` por motivos de consistencia, y actualizarlas no debería ser difícil.

en: Members
es: Miembros

en: Metadata cannot be persisted to the database until the entity has been saved, but for convenience, ElggEntity can cache it internally and save it when saving the entity.
es: Los metadatos no se pueden persistir a la base de datos hasta que la entidad se ha guardado, pero por comodidad, ``ElggEntity`` puede cachearlos de manera interna y guardarlos al guardar la entidad.

en: Metadata events
es: Eventos de metadatos

en: Migrating JS from Elgg 1.8 to AMD / 1.9
es: Traducir código JavaScript de la versión 1.8 de Elgg a la 1.9 (AMD)

en: Modules defined by creating views are immediately available for use and require no registration. To register a module named ``my/module``, create the view ``views/default/js/my/module.js``.
es: Los módulos definidos mediante la creación de vistas estás disponibles para usarse de manera inmediata y no hay que registrarlos. Para registrar un módulo llamado ``mi/modulo``, cree la vista ``views/default/js/mi/modulo.js``.

en: Move form bodies to the ``forms/:action`` view to use Evan's new ``elgg_view_form``.
es: Mueva los cuerpos de los formularios a la vista ``forms/:action`` para usar el nuevo ``elgg_view_form`` de Evan.

en: Multiple widgets
es: Varios artilugios

en: NOTE: using HTML checkboxes to set widget flags is problematic because if unchecked, the checkbox input is omitted from form submission. The effect is that you can only set and not clear flags. The "input/checkboxes" view will not work properly in a widget's edit panel.
es: Nota: Usar casillas para cambiar opciones de artilugios puede dar lugar a problemas, ya que los datos de las casillas no e envían junto con el resto de datos del formulario cuando las casillas no están marcadas. Como resultado, puede activar opciones pero no puede desactivarlas. La vista ``input/checkboxes`` no funcionará correctamente en el panel de edición de un artilugio.

en: Namespace action files and action names (example: ``mod/blog/actions/blog/save.php`` => ``action/blog/save``)
es: Use espacios de nombre para ficheros y nombres de acciones. Por ejemplo, ``mod/blog/actions/blog/save.php`` → ``action/blog/save``.

en: No changes are needed if your plugin is compatible with 1.8.
es: Si su complemento es compatible con la versión 1.8 de Elgg, no necesita hacer ningún cambio en este fichero.

en: No need to set page owner if the URLs are in the standardized format.
es: No es necesario definir el dueño de una página si las direcciones URL están en el formato estándar.

en: Normalize a URL relative to the elgg root:
es: Modificar una URL para que sea relativa a la raíz del sitio Elgg:

en: Not compatible with 1.8
es: No es compatible con la versión 1.8.

en: Note: it is possible to add multiple widgets for a plugin. You just initialize as many widget directories as you need.
es: Nota: Se pueden añadir varios artilugios desde un único complemento. Simplemente prepare tantas carpetas de artilugios como necesite.

en: Notes
es: Notas

en: Notifications
es: Notificaciones

en: Now if you invoke ``get_entity()`` with the GUID of a committee object, you'll get back an object of type Committee.
es: Ahora, si llama a ``get_entity()`` con el identificador único de un objeto de comité, obtendrá un objeto de tipo ``Committee``.

en: Now when you call ``elgg_view_form('example')``, Elgg will produce:
es: Ahora, cuando ejecute ``elgg_view_form('example')``, Elgg producirá lo siguiente:

en: Now, let's expose it and make the number of minutes an optional parameter:
es: Ahora, expongamos la función y convirtamos el número de minutos en un parámetro opcional:

en: Object hooks
es: Ganchos de objetos

en: Often you’ll want to do something in response to a successful action:
es: A menudo querrá usted hacer algo como respuesta a una acción completada correctamente:

en: Once an AMD module is defined, you can use ``require(["my/module"])`` from JavaScript to access its "exported" value.
es: Una vez definido un módulo AMD, puede usar ``require(["mi/modulo"])`` desde JavaScript para acceder a su valor “exportado”.

en: Once you have created your edit and view pages, you need to initialize the plugin widget. This is done within the plugins init() function.
es: Una vez creadas las páginas de edición y de la vista, tiene que preparar el artilugio del complemento. Para ello, utilice la función ``init()``.

en: One of the biggest changes in Elgg 1.9 is the notifications system. The new system allows more flexible and scalable way of sending notifications.
es: Uno de los cambios más importantes en la versión 1.9 de Elgg es el del sistema de notificaciones. El nuevo sistema de notificaciones ofrece formas más flexibles y escalables de enviar notificaciones.

en: Only the key changes are included. For example some of the deprecated functions are not mentioned here separately.
es: Sólo se incluyen los cambios fundamentales. Por ejemplo, algunas de las funciones que están ahora obsoletas no se mencionan en esta sección.

en: Other
es: Otro

en: Output the translation of the key in the current language.
es: Imprimir la traducción de la clave al idioma actual.

en: Overriding icons via a handler
es: Substituir iconos mediante un manejador

en: Overriding the url for a specific instance
es: Substituir la dirección URL de una instancia específica

en: Overview
es: Resumen

en: Page handler scripts should not contain HTML.
es: Los scripts de gestión de páginas no deberían contener HTML.

en: Page handlers should not contain HTML.
es: Los gestores de páginas no deberían contener HTML.

en: Parse a URL into its component parts:
es: Analiza una URL y divídela en partes:

en: Permission hooks
es: Ganchos de permisos

en: Permissions
es: Permisos

en: Persist user-generated content and settings with Elgg's generic storage API.
es: Persiste contenido y opciones de usuarios mediante la API de almacenamiento genérico de Elgg.

en: Please note that you will not be able to test this using a web browser as you did with the other methods. You need to write some client code to do this. There is some example client code in ``/engine/lib/api.php``. Take a look at `send\_api\_post\_call()`_. You can also do a search for clients that have been written for the APIs of Flickr or Twitter or any other similar API. You will find a wide variety written in almost any language you can think of.
es: Nótese que no va a poder probar esto mediante un navegador web como ha hecho previamente con otros métodos. Para esta solicitud necesita escribir código de cliente. Encontrará un ejemplo de cliente en ``/engine/lib/api.php``. Observe la función `send\_api\_post\_call()`_. También puede buscar clientes que funcionen con las API de Flickr, Twitter o cualquier otra API similar. Encontrará una amplia variedad escritos en casi todos los lenguajes de programación que se le puedan ocurrir.

en: Plugins
es: Complementos

en: Plugins can have a view hierarchy, any file that exists here will replace any files in the existing core view hierarchy... so for example, if my plugin has a file:
es: Los complementos pueden tener una jerarquía de vistas, todo fichero que exista aquí substituirá a cualquier fichero en la jerarquía de vistas del núcleo de Elgg. Por ejemplo, si el complemento tiene un fichero:

en: Pre-1.8 Notes
es: Notas sobre versiones anteriores a la 1.8

en: Prepare your plugin for the next version of Elgg.
es: Prepare su complemento para la siguiente versión de Elgg.

en: Put the content of your form in your plugin’s ``forms/example`` view:
es: Sitúe el contenido del formulario en la vista ``forms/example`` del complemento:

en: Redirect to a new page.
es: Redirigir a una página nueva.

en: Redirect to the referring page by using the ``REFERRER`` constant:
es: Redirija al usuario a la página de la que vino mediante la constante ``REFERRER``:

en: Reduce maintenance costs, since you can delete most custom CSS.
es: Se reducen los costes de mantenimiento, puesto que puede eliminar la mayor parte de su código CSS personalizado.

en: Register third-party libraries with ``elgg_register_js``:
es: Para registrar bibliotecas de terceros, use ``elgg_register_js``:

en: Registering actions
es: Registrar acciones

en: Relationship events
es: Eventos de relaciones

en: Replacing icons via the views interface
es: Substituir iconos mediante la interfaz de vistas

en: Reported Content
es: Contenido denunciado

en: Response formats
es: Formatos de respuesta

en: Retrieving a single annotation can be done with ``get_annotation()`` if you have the annotation's ID. If you delete an ElggEntity of any kind, all its metadata, annotations, and relationships will be automatically deleted as well.
es: Para obtener una única anotación se puede usar ``get_annotation()`` siempre que disponga del identificador único de la anotación. Si elimina una instancia de ``ElggEntity`` de cualquier tipo, se eliminarán también y de manera automática todos sus metadatos, anotaciones y relaciones.

en: Return ``true`` to short circuit the view if the entity is missing or wrong.
es: Devuelva ``true`` para cancelar la vista directamente si falta la entidad o ésta no es correcta.

en: Returns the logged in user as an JS ElggUser object.
es: Devuelve el usuario actual como un objeto ElggUser de JavaScript.

en: Returns the logged in user's guid.
es: Devuelve el identificador único del usuario actual.

en: Right now, the only other PAMs publicly available besides those provided by the Elgg core are the OAuth PAMs. See `Justin Richer's OAuth plugin`_ for more detail.
es: En estos momentos, los únicos PAM disponibles públicamente aparte de los que forman parte del núcleo de Elgg son los PAM de OAuth. Para más información, véase el `complemento de OAuth de Justin Richer`_.

en: Routing
es: Encaminamiento

en: Saving the object will automatically populate the ``$object->guid`` property if successful. If you change any more base properties, you can call ``$object->save()`` again, and it will update the database for you.
es: Al guardar el objeto, se le dará automáticamente un valor a su propiedad ``guid`` si la operación de guardado se completa correctamente. Si cambia más propiedades de serie, puede llamar al método ``save()`` del objeto de nuevo, y la base de datos se actualizará de acorde a sus cambios.

en: Search
es: Buscar

en: Security
es: Seguridad

en: See ``/engine/lib/deprecated-1.7.php`` for the full list.
es: Véase la lista completa en ``/engine/lib/deprecated-1.7.php``.

en: See ``/engine/lib/deprecated-1.8.php`` for the full list.
es: Véase la lista completa en ``/engine/lib/deprecated-1.8.php``.

en: See how the community_plugins plugin was updated to use the new system: https://github.com/Elgg/community_plugins/commit/bfa356cfe8fb99ebbca4109a1b8a1383b70ff123
es: Así se actualizó el complemento «community_plugins» para usar el nuevo sistema: https://github.com/Elgg/community_plugins/commit/bfa356cfe8fb99ebbca4109a1b8a1383b70ff123

en: See how the community_plugins plugin was updated: https://github.com/Elgg/community_plugins/commit/f233999bbd1478a200ee783679c2e2897c9a0483
es: Así se actualizó el complemento «community_plugins»: https://github.com/Elgg/community_plugins/commit/f233999bbd1478a200ee783679c2e2897c9a0483

en: See the administator guides for :doc:`how to upgrade a live site </admin/upgrading>`.
es: Échele una ojeada a las guías para administradores sobre :doc:`cómo actualizar un sitio </admin/upgrading>`.

en: See the blog or file widgets for examples.
es: Puede tomar como ejemplos los artilugios de blogs o de ficheros.

en: Server-side API
es: API del lado del servidor

en: Set the enctype of the form to multipart/form-data:
es: Elija « multipart/form-data» como el «enctype» del formulario:

en: Signature-based authentication
es: Autenticación mediante firma

en: Similarly, ``mod/bookmarks/pages/edit.php`` uses the same function, but passes the entity that is being edited as an argument:
es: De manera semejante, ``mod/bookmarks/pages/edit.php`` usa la misma función, pero le pasa la entidad que se está editando como argumento:

en: Simple Example
es: Ejemplo simple

en: Simple sticky forms require little logic to determine the input values for the form. This logic is placed at the top of the form body view itself.
es: Los formularios persistentes simples requieren un poco de lógica para determinar los campos de entrada del formulario. La lógica se coloca en la parte superior del cuerpo de la vista del propio formulario.

en: Since we are providing this function to allow developers to test their API clients, we will require neither API authentication nor user authentication. This call registers the function with the web services API framework:
es: Dado que ofrecemos esta función para permitir a los desarrolladores probar sus clientes para la API, no necesitaremos ni autenticación de la API ni autenticación de usuarios. La siguiente llamada registra la función en la infraestructura de la API para servicios web:

en: Single entity: /page_handler/view/:guid/:title
es: Entidad suelta: /page_handler/view/:guid/:title

en: So far you have been allowing developers to pull data out of your Elgg site. Now we'll move on to pushing data into Elgg. In this case, it is going to be done by a user. Maybe you have created a desktop application that allows your Users to post to the wire without going to the site. You need to expose a method for posting to the wire and you need to make sure that a user cannot post using someone else's account. Elgg provides a token-based approach for user authentication. It allows a user to submit their username and password in exchange for a token using the method ``auth.gettoken``. This token can then be used for some amount of time to authenticate all calls to the API before it expires by passing it as the parameter ``auth_token``. If you do not want to have your users trusting their passwords to 3rd-party applications, you can also extend the current capability to use an approach like OAuth.
es: De momento hemos estado permitiendo a los desarrolladores obtener datos del sitio. Ahora procederemos a permitirles enviar datos. En este caso, los datos se añadirán de parte de un usuario. Imagine que ha creado una aplicación que permite a los usuarios publicar en el Wire y que usted necesita asegurarse de que un usuario no publica nada desde la cuenta de otra persona. Elgg ofrece un método de autenticación de usuarios mediante códigos aleatorios (tokens). Este método permite que un usuario envíe su nombre de usuario y contraseña mediante el método ``auth.gettoken`` y a cambio obtenga un código. Durante un cierto período de tiempo, el usuario puede usar el código recibido para autenticar todas las llamadas a la API antes de que el código caduque, pasando el código como valor del parámetro ``auth_token``.  Si no quiere que los usuarios les faciliten sus contraseñas a aplicaciones de terceros, también puede extender la funcionalidad actual para utilizar un método como OAuth.

en: Some things to note
es: Cosas a tener en cuenta

en: Starting in Elgg 1.8, we've provided you with some development tools to help you with theming: Turn on the “Developers” plugin and go to the “Theme Preview” page to start tracking your theme's progress.
es: Desde la versión 1.8 de Elgg, se ofrecen algunas herramientas de desarrollo para ayudar a desarrollar temas. Active el complemento de «Desarrolladores» y acceda a la página «Vista previa del tema» para observar el progreso del tema.

en: Sticky forms
es: Formularios persistentes

en: Sticky forms are forms that retain user input if saving fails. They are "sticky" because the user's data "sticks" in the form after submitting, though it was never saved to the database. This greatly improves the user experience by minimizing data loss. Elgg 1.8 includes helper functions so you can make any form sticky.
es: Los formularios persistentes son formularios que mantienen los datos introducidos por el usuario si algo evita que se puedan guardar los datos. Son «persistentes» porque los datos del usuario «persisten» en el formulario una vez enviado, a pesar de que dichos datos no han sido guardados en la base de datos. Esto mejora de manera drástica la experiencia de usuario minimizando la pérdida de datos. Elgg 1.8 incluye funciones de asistencia que le permiten convertir en persistente cualquier formulario.

en: Sticky forms are implemented in Elgg 1.8 by the following functions:
es: Los formularios persistentes se añadieron a Elgg 1.8 mediante las siguientes funciones:

en: Store page handler scripts in ``mod/:plugin/pages/:page_handler/:page_name.php``
es: Guarde los scripts de gestión de páginas en ``mod/:plugin/pages/:page_handler/:page_name.php``

en: Structure
es: Estructura

en: System events
es: Eventos del sistema

en: System hooks
es: Ganchos del sistema

en: TODO: Include directly from lib/bookmarks.php
es: Por hacer: incluir directamente desde «lib/bookmarks.php».

en: TODO: Screenshot
es: Por hacer: captura de pantalla.

en: Tell Elgg to asynchronously execute your module in the current page.
es: Informar a Elgg de que debe ejecutar el módulo de manera asíncrona en la página actual.

en: The `HMAC Authentication`_ is similar to what is used with `OAuth`_ or Amazon's S3 service. This involves both the public and private key. If you want to be very sure that the API calls are coming from the developer you think they are coming from and you want to make sure the data is not being tampered with during transmission, you would use this authentication method. Be aware that it is much more involved and could turn off developers when there are other sites out there with key-based authentication.
es: La `autenticación HMAC`_ es similar a `OAuth`_ o a lo que usa el servicio S3 de Amazon. El método requiere dos claves, una pública y una privada. Si quiere asegurarse de que las llamadas a la API provienen de el desarrollador del que cree que provienen y quiere asegurarse de que los datos no han sido manipulados durante su transmisión, este es el método de autenticación para usted. Tenga en cuenta de todas formas que usar este método es más laborioso, y que los desarrolladores podrían optar por sitios alternativos al suyo que permitan autenticación mediante clave.

en: The ``elgg_register_entity_url_handler()`` function has been deprecated. In 1.9 you should use the ``'entity:url', 'object'`` plugin hook instead.
es: La función ``elgg_register_entity_url_handler()`` ha pasado a estar obsoleta en la versión 1.9 de Elgg, donde se recomienda usar el gancho de complementos ``'entity:url', 'object'`` en us lugar.

en: The ``mod/example/actions/example.php`` script will now be run whenever a form is submitted to ``http://localhost/elgg/action/example``.
es: El script ``mod/example/actions/example.php`` se ejecutará a partir de ahora cada vez que se envíe un formulario a ``http://localhost/elgg/action/example``.

en: The ``object/:subtype`` view
es: La vista ``object/:subtype``

en: The basic flow of using sticky forms is: Call ``elgg_make_sticky_form($name)`` at the top of actions for forms you want to be sticky. Use ``elgg_is_sticky_form($name)`` and ``elgg_get_sticky_values($name)`` to get sticky values when rendering a form view. Call ``elgg_clear_sticky_form($name)`` after the action has completed successfully or after data has been loaded by ``elgg_get_sticky_values($name)``.
es: El flujo básico de uso de formularios persistentes consiste en: (1) Llamar a ``elgg_make_sticky_form($name)`` al principio de las acciones para formularios que desee hacer persistentes, (2) usar ``elgg_is_sticky_form($name)`` y ``elgg_get_sticky_values($name)`` para obtener los valores persistidos a la hora de generar la vista del formulario y (3) llamar a ``elgg_clear_sticky_form($name)`` una vez la acción se completase correctamente o después de que los datos se cargasen mediante ``elgg_get_sticky_values($name)``.

en: The bundled plugin Bookmarks' save form and action is an example of a complex sticky form.
es: La acción y formulario de guardado incluidos en el complemento «Marcadores» son un ejemplo de un formulario persistente complejo.

en: The captcha module uses this to intercept the ``register`` and ``user/requestnewpassword`` actions and redirect them to a function which checks the captcha code. This check returns ``true`` if valid or ``false`` if not (which prevents the associated action from executing).
es: El módulo CAPTCHA usa lo siguiente para interceptar las acciones `register`` y ``user/requestnewpassword`` y las redirige a una función que comprueba el código del CAPTCHA. Si el código es correcto, la comprobación devuelve ``true``, mientras que si no lo es devuelve ``false``, lo que evita que se ejecute la acción asociada.

en: The default handler is to use the default export interface.
es: El gestor predeterminado consiste en usar la interfaz de exportación predeterminada.

en: The default language is “en” for English.
es: El idioma predeterminado es «en» (inglés).

en: The final way to replace icons is via a handler to a plugin hook.
es: La última de las posibles formas de substituir iconos consiste en usar un manejador para un gancho de complementos.

en: The first step is registering a callback function for the *rest, init* plugin hook:
es: El primer paso consiste en registrar una llamada de retorno (callback) para el gancho de complementos *rest, init*:

en: The first way is to add extra stuff to an existing view via the extend view function from within your start.php’s initialization function.
es: La primera forma consiste en añadir cosas adicionales a una vista existente mediante la función de extender la vista desde dentro de la función de inicio de ``start.php``.

en: The form view for the save bookmark action uses ``elgg_extract()`` to pull values from the ``$vars`` array:
es: La vista de formulario para la acción de guardar un marcador usa ``elgg_extract()`` para obtener valores del vector ``$vars``:

en: The forms API is discussed in more detail in :doc:`/guides/actions`.
es: La API de los formularios se describe con más detalle en :doc:`/guides/actions`.

en: The function ``elgg_get_entities_from_metadata`` allows fetching entities with metadata in a variety of ways.
es: La función ``elgg_get_entities_from_metadata`` permite obtener entidades por metadatos de varias maneras.

en: The function to use to expose a method is `expose\_function()`_. As an example, let's assume you want to expose a function that echos text back to the calling application. The function could look like this
es: Para exponer métodos use la función `expose\_function()`_. Por ejemplo, partamos de que quiere exponer una función que devuelve texto a la aplicación que la llama. La función podría ser la siguiente:

en: The group URL should use the ``pages/:handler/owner.php`` script.
es: La dirección URL del grupo debería usar el script ``pages/:handler/owner.php``.

en: The hook should return a url.
es: El gancho debería devolver una dirección URL.

en: The hook triggered is:
es: El gancho desencadenado es:

en: The library file defines ``bookmarks_prepare_form_vars()``. This function accepts an ``ElggEntity`` as an argument and does 3 things:
es: El fichero de la biblioteca define ``bookmarks_prepare_form_vars()``. Esta función acepta una instancia de ``ElggEntity`` como argumento y hace 3 cosas:

en: The main Elgg index page runs a plugin hook called 'index,system'. If this returns true, it assumes that another front page has been drawn and doesn't display the default page.
es: La página principal de Elgg ejecuta un gancho de complementos llamado ``index,system``. Si el gancho devuelve ``true``, se asume que ya se ha dibujado otra página principal, y no se muestra la página predeterminada.

en: The manifest file
es: El fichero «manifest»

en: The method triggers a `plugin hook`_ - 'entity:icon:url'. This is passed the following parameters:
es: El método desencadena un `gancho de complementos`_, ``entity:icon:url``, que recibe los siguientes parámetros:

en: The object subtype is a special property. This is an arbitrary string that describes what the object is. For example, if you were writing a blog plugin, your subtype string might be *blog*. It's a good idea to make this unique, so that other plugins don't accidentally try and use the same subtype. For the purposes of this document, let's assume we're building a simple forum. Therefore, the subtype will be *forum*:
es: El subtipo del objeto es una propiedad especial. Se trata de una cadena de texto arbitraria que describe qué es el objeto. Por ejemplo, si estuviese escribiendo un complemento para blogs, su subtipo podría ser *blog*. Lo ideal es que la palabra sea única, de forma que otros complementos no la usen también de manera accidental. Para el propósito de esta documentación, partamos de la idea de crear un foro muy simple, para el que usaremos el subtipo *forum* («foro» en inglés):

en: The page handler scripts prepares the form variables and calls ``elgg_view_form()`` passing the correct values:
es: Los scripts del gestor de páginas prepara las variables del formulario y llama a ``elgg_view_form()`` pasándole los valores correctos:

en: The registration action sets creates the sticky form and clears it once the action is completed:
es: La acción de registro crea el formulario persistente y lo vacía una vez se completa la acción:

en: The registration form view first sets default values for inputs, then checks if there are sticky values. If so, it loads the sticky values before clearing the sticky form:
es: La vista del formulario de registro establece en primer lugar los valores predeterminados de los campos de entrada, y a continuación comprueba si entre ellos hay campos con valores persistidos. De haber campos con valores persistidos, el formulario carga dichos valores antes de vaciar el formulario persistente:

en: The save action checks the input, then clears the sticky form upon success:
es: La acción de guardar comprueba los campos de entrada, y luego vacía el formulario persistente cuando se completa correctamente:

en: The url is set using the ``elgg\_register\_entity\_url\_handler()`` function. The function you register must return the appropriate url for the given type - this itself can be an address set up by a page handler.
es: La dirección URL se define durante la función ``elgg\_register\_entity\_url\_handler()``. La función que registre debe devolver la dirección URL apropiada para el tipo indicado, que puede ser una dirección configurada por un gestor de páginas.

en: The user will be warned if their session has expired.
es: El usuario recibirá un aviso si la sesión ha caducado.

en: The view for settings is now ``plugins/:plugin/settings`` (previously ``settings/:plugin/edit``).
es: La vista de configuración ha pasado a ser ``plugins/:plugin/settings`` (antes era ``settings/:plugin/edit``).

en: The view for user settings is now ``plugins/:plugin/usersettings`` (previously ``usersettings/:plugin/edit``).
es: La vista de configuración de usuario ha pasado a ser ``plugins/:plugin/usersettings`` (antes era ``usersettings/:plugin/edit``).

en: The web services API framework provides three different response formats by default: xml, json, and serialized php. You can request the different formats for substituting “json” or “php” for “xml” in the above URLs. You can also add additional response formats by defining new viewtypes.
es: La infraestructura de la API para servicios web ofrece tres formatos de respuesta distintos de manera predeterminada: XML, JSON, y PHP serializado. Para obtener la respuesta en uno de estos formatos, substituya «xml» por «json» o «php» en las direcciones URL anteriores. También puede definir nuevos tipos de vistas para añadir formatos de respuesta adicionales.

en: Themes
es: Temas

en: Then in the callback function, you register the PAMs that you want to use:
es: A continuación, en la función de llamada de retorno registre los PAM que quiera utilizar:

en: Then, create an index page (/pluginname/pages/index.php) and use that to put the content you would like on the front page of your Elgg site.
es: A continuación, cree la página principal (``/pluginname/pages/index.php``) y úsela para poner el contenido que le gustaría tener en la página principal de su sitio Elgg.

en: There are a number of configuration values set in the elgg object:
es: En el objeto ``elgg`` existen ciertos valores de configuración:

en: There are two ways you can modify views:
es: Existen dos maneras de modificar vistas:

en: Therefore, you can override it by registering a function to the 'index,system' plugin hook and then returning true from that function.
es: Por lo tanto, puede substituir la página principal registrando una función para el gancho de complementos ``index,system`` y devolviendo ``true`` desde esa función.

en: These are refreshed periodically so should always be up-to-date.
es: Éstos se actualizan de manera periódica, por lo que deberían estar siempre al día.

en: They are not cacheable (performance)
es: No se pueden guardar en caché, lo cual afecta al rendimiento.

en: They are not testable (maintainability)
es: No es posible escribir pruebas para ellos, lo cual dificulta mantenerlos.

en: This does a few things under the hood:
es: Esto realiza algunas operaciones internamente:

en: This function automatically normalizes the URL.
es: Esta función normaliza de manera automática la URL.

en: This function is now available and if you check ``system.api.list``, you will see that it requires API authentication. If you hit the method with a web browser, it will return an error message about failing the API authentication. To test this method, you need an API key. Fortunately, there is a plugin called apiadmin that creates keys for you. It is available in the Elgg plugin repository. It will return a public and private key and you will use the public key for this kind of API authentication. Grab a key and then do a GET request with your browser on this API method passing in the key string as the parameter ``api_key``. It might look something like this: http://yoursite.com/services/api/rest/xml/?method=users.active&api_key=1140321cb56c71710c38feefdf72bc462938f59f.
es: La función está ahora disponible, y si consulta ``system.api.list`` podrá comprobar que la función requiere autenticación contra la API. Si intenta acceder al método mediante un navegador web, obtendrá un mensaje de error que le informará de que no ha sido posible autenticar la llamada contra la API. Para probar el método, necesita una clave de la API. Por suerte, existe un complemento, «apiadmin», que creará una clave para usted. El complemento está disponible en el repositorio de complementos de Elgg. El complemento ofrece dos claves, una pública y otra privada, y usted podrá utilizar la pública para autenticarse contra la API por este método. Obtenga una clave y realice una solicitud de tipo GET a esta función con su navegador web pasándole a la función la clave como valor del parámetro ``api_key``. Este podría ser su aspecto: http://yoursite.com/services/api/rest/xml/?method=users.active&api_key=1140321cb56c71710c38feefdf72bc462938f59f.

en: This function is the exact counterpart to ``elgg_echo`` in PHP.
es: Esta función es el equivalente para JavaScript del ``elgg_echo`` de PHP.

en: This gives you total control over the way elgg looks and behaves. It gives you the option to either slightly modify or totally replace existing views.
es: Esto le da control total sobre la forma en que Elgg se comporta, así como su aspecto. Le ofrece la opción de modificar ligeramente o substituir completamente las vistas existentes.

en: This guide assumes basic familiarity with:
es: Esta guía asume que usted está ya familiarizado con:

en: This guide assumes you are familiar with:
es: Esta guía asume que usted está ya familiarizado con:

en: This hook is used to assemble an array of tabs to be passed to the navigation/tabs view for the members pages.
es: Este gancho se usa para crear un vector de pestañas a pasarle a la vista de navegación o pestañas para los miembros de las páginas.

en: This is automatically called every 5 minutes by default.
es: De manera predeterminada, esto se ejecuta de manera automática cada 5 minutos.

en: This is done as follows:
es: Esto se hace como se detalla a continuación:

en: This is handy as it provides a generic interface which allows the Elgg framework to draw an icon for your data - it also allows you to override icons for existing data types - for example providing `Gravatar support for user icons`_.
es: Esto es muy útil, dado que provee una interfaz genérica que permite al framework Elgg dibujar un icono para sus datos y le permite substituir iconos para tipos de datos existentes. Por ejemplo, puede aprovechar esta funcionalidad para `ofrecer compatibilidad con Gravatar para los iconos de los usuarios`_.

en: This lets a plugin extend an existing action without the need to replace the whole action. In the case of the captcha plugin it allows the plugin to provide captcha support in a very loosely coupled way.
es: Esto permite a un complemento extender una acción existente sin necesidad de substituir la acción por completo. En el caso de complemento CAPTCHA, esto le permite al complemento ofrecer la funcionalidad de CAPTCHA sin necesidad de reescribir toda la acción y actualizar su definición cada vez que ésta cambie en Elgg.

en: This method accepts a $size variable, which can be either 'large', 'medium', 'small' or 'tiny'.
es: Este método acepta la variable ``$size`` (tamaño), que puede ser ``large`` (grande), ``medium`` (mediano), ``small`` (pequeño) o ``tiny`` (enano).

en: This method lets you perform some additional logic in order to decide better which url to return.
es: Este método le permite definir una cierta lógica en el proceso de determinación de la dirección URL del icono a devolver.

en: This requires a valid security token in 1.8, but not in 1.9.
es: Para esto hace falta un código de seguridad correcto en la versión 1.8 y anteriores, pero no en la versión 1.9 y posteriores.

en: This template was extracted from the definition of ElggFile.
es: Este modelo se extrajo de la definición de ``ElggFile``.

en: This view should contain the URL to the image only.
es: Esta vista sólo debería contener la dirección URL de la imagen.

en: This will include and execute the linked code.
es: Esto incluirá y ejecutará el código enlazado.

en: This will override any URLs previously registered under this name.
es: Esto substituirá cualquier URL previamente registrada bajo este nombre.

en: This will return an array of ``ElggEntity`` objects that you can iterate through. ``elgg_get_entities`` paginates by default, with a limit of 10; and offset 0.
es: Esto devolverá un vector de instancias de ``ElggEntity`` por el que usted puede iterar. ``elgg_get_entities`` usa divide los resultados en grupos de manera predeterminada, con un límite de 10 resultados por grupo, y empezando desde 0.

en: To announce default widget support in your plugin, register for the ``get_list, default_widgets`` plugin hook:
es: Para anunciar que su complemento ofrece artilugios predeterminados, registre un manejador para el gancho de complementos ``get_list, default_widgets``:

en: To call an action via javascript without actually submitting a form, use ``elgg.action``:
es: Para llamar a una acción mediante JavaScript sin enviar realmente un formulario, use «elgg.action»:

en: To change the wording of any phrase, provide a new mapping in your plugin’s ``{language}.php`` file for the associated key:
es: Para cambiar una frase, añada una nueva asociación al fichero ``<idioma>.php`` del complemento para la clave asociada:

en: To create a widget, create two views:
es: Para crear un artilugio, cree dos vistas:

en: To create an API for your Elgg site, you need to do 3 things:
es: Para crear una API para su sitio, necesita lo siguiente:

en: To create an object in your code, you need to instantiate an ``ElggObject``. Setting data is simply a matter of adding instance variables or properties. The built-in properties are:
es: Para crear un objeto desde código, tiene que crear una instancia de ``ElggObject``. Definir sus datos es simplemente cuestión de añadir variables o propiedades a la instancia. Las propiedades de serie son:

en: To display an entity, create a view EntityType/subtype where EntityType is one of the following:
es: Para mostrar una entidad, cree una vista llamada «TipoDeEntidad/subtipo» donde «TipoDeEntidad» es uno de los siguientes:

en: To force which language should be used for translation, set the third parameter:
es: Para especificar un idioma concreto al que traducir el texto indicado, use el tercer parámetro:

en: To handle the page /members/$page_segment, handle this hook and return the HTML of the list.
es: Para gestionar la página ``/members/$page_segment``, maneja este gancho y devuelve el HTML de la lista.

en: To make an action available to logged out users, pass ``“public”`` as the third parameter:
es: Para permitir que una acción esté disponible para un usuario que no está identificado en el sitio, pase como tercer parámetro el valor ``"public"``.

en: To output a form, use the elgg_view_form function like so:
es: Para mostrar un formulario, utilice ``elgg_view_form()`` de la siguiente manera:

en: To override the icon of a specific instance of an entity in a non-permanent and one off way, you can use the entity's ``setIcon()`` method.
es: Para substituir el icono de una instancia específica de una entidad de una manera temporal de un sólo uso, puede usar el método ``setIcon()`` de la entidad.

en: To redirect the page once you've completed your actions, use the ``forward`` function:
es: Para redirigir la página una vez completadas las acciones, use la función ``forward``:

en: To restrict an action to only administrators, pass ``”admin”`` for the last parameter:
es: Para restringir la acción a sólo administradores, pase el valor ``"admin"`` como último parámetro:

en: To retrieve the ratings on the blog post, use ``$blogpost->getAnnotations('rating')`` and if you want to delete an annotation, you can operate on the ``ElggAnnotation`` class, eg ``$annotation->delete()``.
es: Para obtener las puntuaciones del artículo, use ``$blogpost->getAnnotations('rating')`` y si quiere eliminar una de las anotaciones puede hacerlo sobre la clase ``ElggAnnotation`` usando el método ``$annotation->delete()``.

en: Tools
es: Herramientas

en: Traditional JavaScript (1.8)
es: JavaScript tradicional (1.8)

en: Translate interface text
es: Traducir texto de la interfaz.

en: Translations are stored in PHP files in the ``/languages`` directory of your plugin. Each file corresponds to a language. The format is ``/languages/{language-code}.php`` where ``{language-code}`` is the ISO 639-1 short code for the language. For example:
es: Las traducciones se almacenan en ficheros PHP dentro de la carpeta ``/languages`` del complemento. Cada fichero corresponde a un idioma. El formato es ``/languages/<código del idioma>.php`` donde ``<código del idioma>`` es el código ISO 639-1 del idioma. Por ejemplo:

en: True if the user is logged in and is an admin.
es: Devuelve ``true`` si el usuario está identificado como administrador.

en: True if the user is logged in.
es: Devuelve ``true`` si el usuario está identificado.

en: Twitter API
es: API de Twitter

en: URLs can be relative to the Elgg root:
es: Las direcciones URL pueden ser relativas a la raíz de Elgg:

en: Unless you are overriding core’s or another plugin’s language strings, it is good practice for the language keys to start with your plugin name. For example: “yourplugin:success,” “yourplugin:title,” etc. This helps avoid conflicts with other language keys.
es: A menos que esté substituyendo las cadenas de texto del núcleo de Elgg o de otro complemento, la mejor práctica consiste en que las claves de los mensajes empiecen con el nombre de su complemento. Por ejemplo, «sucomplemento:success», «sucomplemento:title», etc. Esto ayuda a evitar conflictos con otras claves de mensajes.

en: Update action structure
es: Actualizar la estructura de las acciones

en: Update deprecated functions
es: Actualice las funciones que se hayan quedado obsoletas

en: Update forms
es: Actualice los formularios

en: Update manifest.xml
es: Actualice el fichero manifest.xml

en: Update settings and user settings views
es: Actualice las vistas de configuración global y de usuario

en: Update the URLs throughout the plugin. (Don't forget to remove ``/pg/``!)
es: Actualice las direcciones URL en todo el complemento. No se olvide de eliminar ``/pg/``.

en: Update the group profile module
es: Actualice el módulo de perfiles de grupos

en: Update the widget views
es: Actualice las vistas de artilugios

en: Updating core
es: Actualizar el núcleo

en: Updating plugins
es: Actualizar complementos

en: Upgrading Plugins
es: Actualizar complementos

en: Use ``elgg_view(‘object/elements/summary’, array(‘entity’ => $entity));`` and ``elgg_view_menu(‘entity’, array(‘entity’ => $entity));`` to help format. You should use very little markup in these views.
es: Use ``elgg_view(‘object/elements/summary’, array(‘entity’ => $entity));`` y ``elgg_view_menu(‘entity’, array(‘entity’ => $entity));`` como ayuda para dar formato. Debería usar poco o ningún lenguaje de etiquetas en estas vistas.

en: Use http://el.gg/manifest17to18 to automate this.
es: Use http://el.gg/manifest17to18 para automatizar la tarea.

en: Use input views in form bodies rather than html. This helps with theming and future-proofing.
es: Use las vistas de introducción de datos en los cuerpos de los formularios en vez de usar HTML. Esto ayudará a que el complemento sea compatible con los temas, y a que sea más fácil de mantener ante cambios futuros.

en: Use standardized page handlers and scripts
es: Use gestores de páginas y scripts estandarizados

en: Use standardized routing with page handlers
es: Use encaminamientos estándar con gestores de páginas

en: Use the ``get_input`` function to get access to request parameters:
es: Use la función ``get_input`` para obtener acceso a los parámetros de la solicitud:

en: Use the blog or file plugins for examples. This will help with making your plugin themeable by the new CSS framework.
es: Use los complementos de blogs y de ficheros a modo de ejemplo. Le ayudarán a hacer posible cambiar el tema del complemento usando la nueva infraestructura CSS.

en: Use the content page layout in page handler scripts:
es: Use la disposición de página del contenido en los scripts de gestión de páginas:

en: Use the following action URLs:
es: Use las siguientes direcciones URL de acciones:

en: Use the input/file view in your form’s content view.
es: Use la vista «input/file» en la vista de contenido del formulario.

en: User authentication
es: Autenticación de usuarios

en: User events
es: Eventos de usuario

en: User hooks
es: Ganchos de usuarios

en: User’s content: /page_handler/owner/:username
es: Contenido del usuario: /page_handler/owner/:username

en: User’s friends' content: /page_handler/friends/:username
es: Contenido de contactos del usuario: /page_handler/friends/:username

en: Using inline scripts is strongly discouraged because:
es: Se desaconseja rotundamente usar scripts in situ por los siguientes motivos:

en: View extension
es: Extensión de vistas

en: View overloading
es: Substitución de vistas

en: Views
es: Vistas

en: Views are in the format:
es: Las vistas están en el siguiente formato:

en: We do not anticipate any backwards compatibility issues with this new direction and will fix any issues that do come up. The old system will still be functional in Elgg 1.9, but developers are encouraged to begin looking to AMD as the future of JS in Elgg.
es: No esperamos que haya ningún problema de compatibilidad hacia atrás con esta nueva forma de trabajar, y si surge algún problema en este aspecto procuraremos arreglarlo. El sistema anterior seguirá funcionando en la versión 1.9 de Elgg, pero recomendamos a los desarrolladores que empiecen a verse AMD, pues es el futuro del JavaScript en Elgg.

en: We have added many CSS patterns to the base CSS file (modules, image block, spacing primitives). We encourage you to use these patterns and classes wherever possible. Doing so should:
es: Se han añadido muchos patrones de CSS al fichero CSS base (módulos, bloques de imágenes, primitivas de espaciado). Se recomienda usar dichos patrones y clases siempre que sea posible. De esa forma:

en: We use hyphens rather than underscores in classes/ids and encourage you do the same for consistency.
es: Usamos guiones en vez de guiones bajos en las clases e identificadores, y le recomendamos que haga lo mismo por consistencia.

en: Web services
es: Servicios web

en: When an object triggers an event that matches the event, entity\_type, and entity\_subtype parameters passed, Elgg core will look for default widgets that match the widget\_context and will copy them to that object's owner\_guid and container\_guid. All widget settings will also be copied.
es: Cuando un objeto desencadena un evento que coincide con el valor de los parámetros ``event``, ``entity_type`` y ``entity_subtype`` que se pasen, el núcleo de Elgg buscará artilugios predeterminados que coincidan con el valor de ``widget_context`` indicado, y los copiará en las propiedades ``owner_guid`` y ``container_guid`` del objeto. También se copiará la configuración del artilugio.

en: When testing, you may find it useful to register the ``pam_auth_session`` PAM so that you can easily test your methods from the browser. Be careful not to use this PAM on a production site because it could open up your users to a `CSRF attack`_.
es: A la hora de hacer pruebas, puede que le resulte útil registrar el PAM ``pam_auth_session`` para poder probar fácilmente sus métodos desde el navegador web. Pero tenga cuidado de no usar este PAM en un sitio de producción, pues podría exponer a sus usuarios a un `ataque de falsificación de peticiones entre sitios distintos`_.

en: Where
es: Donde:

en: Where ``$action`` is the action being called. If the hook returns ``false`` then the action will not be executed.
es: Donde ``$action`` es la acción a la que se llama. Si el gancho devuelve ``false``, la acción no se llega a ejecutar.

en: Where:
es: Donde:

en: Widget edit page:
es: Página de edición del artilugio:

en: Widget view page:
es: Página de vista del artilugio:

en: Widgets
es: Artilugios

en: Widgets are content areas that users can drag around their page to customize the layout. They can typically be customized by their owner to show more/less content and determine who sees the widget. By default Elgg provides plugins for customizing the profile page and dashboard via widgets.
es: Los artilugios son zonas de contenido que los usuarios pueden arrastrar por su página para personalizar su disposición. Normalmente su dueño puede personalizarlos para mostrar más o menos contenido, y controlar quien puede verlos. De manera predeterminada, Elgg ofrece complementos para personalizar la página de perfil y de inicio mediante artilugios.

en: With the addition of the `OAuth`_ plugin, Elgg also fully supports the OAuth 1.0a authorization standard. Clients can then use standard OAuth libraries to make any API calls to the site.
es: Gracias al complemento `OAuth`_, Elgg también es compatible con el estándar de autenticación OAuth 1.0a. Los clientes pueden usar las bibliotecas estándar de OAuth para realizar llamadas a la API del sitio.

en: You can also access the tokens from javascript:
es: También puede acceder a los códigos de seguridad desde JavaScript:

en: You can also add the optional ``target_guid`` parameter which tells the target of the create action.
es: También puede hacer uso del parámetro opcional ``target_guid`` para indicar el destinatario de la acción de crear.

en: You can also update functions deprecated in 1.8.
es: También puede actualizar funciones que se marcaron como obsoletas en la versión 1.8.

en: You can define a module by creating a view or registering a URL.
es: Para definir un módulo, puede crear una vista o registrar un URL.

en: You can define an existing AMD module using ``elgg_define_js()``. Traditional (browser-globals) JavaScript files can also be defined as AMD modules if you shim them by setting ``exports`` and optionally ``deps``.
es: Puede definir un módulo AMD existente mediante ``elgg_define_js()``. Los ficheros de JavaScript tradicionales (globales del navegador) también se pueden definir como módulos AMD si los corrige definiendo ``exports`` y, de manera opcional, ``deps``.

en: You can leave out ``owner_guid`` to get all objects and leave out subtype or type to get objects of all types/subtypes.
es: Puede omitir ``owner_guid`` para obtener todos los objetos u omitir el subtipo o el tipo para obtener objetos de todos los tipos o subtipos.

en: You can set metadata on an object just like a standard property. Let's say we want to set the SKU of a product:
es: Puede definir metadatos en un objeto como haría con cualquier propiedad de serie. Digamos que queremos definir la edición (SKU) de un producto:

en: You can set the debug level to “warning” to get visual reminders of deprecated functions.
es: Puede cambiar el nivel de depuración a «warning» (aviso) para recibir de manera visual recordatorios sobre el uso de funciones obsoletas.

en: You can then use the :doc:`database` api to load entities and perform actions on them accordingly.
es: Puede usar la API :doc:`database` para cargar entidades y realizar acciones sobre ellas.

en: You may want to control access to some of the functions that you expose. Perhaps you are exposing functions in order to integrate Elgg with another open source platform on the same server. In that case, you only want to allow that other application access to these methods. Another possibility is that you want to limit what external developers have access to your API. Or maybe you want to limit how many calls a developer can make against your API in a single day.
es: Puede que le interese controlar el acceso a algunas de la funciones que expone. Puede que esté exponiendo funciones para poder integrar Elgg con otra plataforma libre en el mismo servidor. En este caso, sólo quiere permitir que esa otra aplicación pueda acceder a estos métodos. Otra posibilidad es que limite qué desarrolladores externos tienen acceso a la API. O quizá quiere limitar el número de llamadas a la API que los desarrolladores pueden hacer cada día.

en: [TYPE]: is the elgg type of the object - "user", "group", "object" or "site". [SUBTYPE]: is the specific subtype of the object, or "default" for the default icon for the given type. [SIZE]: the size, one of the following "master", "large", "medium", "small", "topbar" or "tiny".
es: [tipo] es el tipo de Elgg del objeto, que puede ser ``group`` (grupo), ``site`` (sitio), ``user`` (usuario) o ``object`` (objeto). [subtipo] es el subtipo específico del objeto, o ``default`` para el icono predeterminado del tipo indicado. [tamaño] es el tamaño, que puede ser ``master`` (principal), ``large`` (grande), ``medium`` (mediano), ``small`` (pequeño), ``topbar`` (barra superior) o ``tiny`` (enano).

en: ``access_id`` is another important property. If you don't set this, your object will be private, and only the creator user will be able to see it. Elgg defines constants for the special values of ``access_id``:
es: ``access_id`` es otra propiedad importante. Se no le da usted valor a esta propiedad, el objeto será privado, y sólo el usuario creador del objeto podrá verlo. Elgg define constantes para valores especiales de ``access_id``:

en: ``content.php`` is responsible for all the content that will output within the widget. The edit.php file contains any extra edit functions you wish to present to the user. You do not need to add access level as this comes as part of the widget framework.
es: ``content.php`` se encarga de todo el contenido que se mostrará dentro del artilugio. El fichero ``edit.php`` contiene cualquier otras funciones de edición que quiera ofrecer al usuario. No tiene por qué añadirle nivel de acceso al artilugio, pues el control de acceso es parte íntegra de la infraestructura de artilugios.

en: ``elgg.echo(key, args, language)``
es: ``elgg.echo(clave, argumentos, idioma)``

en: ``elgg.register_error(message)``
es: ``elgg.register_error(mensaje)``

en: ``elgg.system_message(message)``
es: ``elgg.system_message(mensaje)``

en: ``elgg_clear_sticky_form($name)`` Tells the engine to discard all sticky input on a form.
es: ``elgg_clear_sticky_form($name):`` Le indica al motor de Elgg que debe descartar todos los campos de entrada persistentes del formulario.

en: ``elgg_echo($key, $args, $language)``
es: ``elgg_echo($clave, $argumentos, $idioma)``

en: ``elgg_get_sticky_values($name)`` Returns all sticky values saved for $name by elgg_make_sticky_form().
es: ``elgg_get_sticky_values($name):`` Devuelve todos los valores persistentes almacenados para ``$name`` por ``elgg_make_sticky_form()``.

en: ``elgg_is_sticky_form($name)`` Checks if $name is a valid sticky form.
es: ``elgg_is_sticky_form($name):`` Comprueba si ``$name`` es un formulario persistente válido.

en: ``elgg_make_sticky_form($name)`` Tells the engine to make all input on a form sticky.
es: ``elgg_make_sticky_form($name):`` Le indica al motor de Elgg que todos los campos de entrada del formulario deben ser persistentes.

en: ``icon/``\ **``[TYPE]``**\ ``/``\ **``[SUBTYPE]``**\ ``/``\ **``[SIZE]``**
es: ``icon/``\ **``[tipo]``**\ ``/``\ **``[subtipo]``**\ ``/``\ **``[tamaño]``**

en: called after group update and return false to delete group. Called after object update and return false to delete the object. Called after site update and return false to delete site. Called after user update and returning false deletes the user. Called before entity update and returning false prevents update.
es: En el caso de los tipos de entidad predeterminados, se desencadena después de que se actualice la entidad del tipo indicado. Devuelva ``false`` para eliminar la entidad. En el resto de los casos, se desencadena antes de actualizar la entidad. Devuelva ``false`` para impedir dicha actualización.

en: called after the annotation has been created. Return false to delete the annotation.
es: Se desencadena junto después de que se cree una anotación en la entidad del tipo indicado. Devuelva ``false`` para eliminar la anotación.

en: called after the annotation has been updated. Return false to delete the annotation. (That doesn't sound like a good idea)
es: Se desencadena tras actualizar una anotación. Devuelva ``false`` para eliminar dicha anotación.

en: called after the metadata has been created. Return false to delete the metadata that was just created.
es: Se desencadena tras crear un metadato. Devuelva ``false`` para eliminar dicho metadato.

en: called after the metadata has been updated. Return false to delete the metadata. (That doesn't sound like a good idea)
es: Se desencadena tras actualizar un metadato. Devuelva ``false`` para eliminar dicho metadato.

en: called after the relationship has been created. Returning false deletes the relationship that was just created.
es: Se desencadena tras crear una relación. Devuelva ``false`` para eliminar dicha relación.

en: called before annotation is deleted. Return false to prevent deletion.
es: Se desencadena junto antes de que se elimine una anotación. Devuelva ``false`` para evitar que se elimine.

en: called before entity deletion and returning false prevents deletion.
es: Se desencadena antes de que se elimine la entidad del tipo indicado. Devuelva ``false`` para evitar que se elimine la entidad.

en: called before metadata is deleted. Return false to prevent deletion.
es: Se desencadena junto antes de que se elimine un metadato. Devuelva ``false`` para evitar que se elimine.

en: called before the annotation has been created. Return false to prevent annotation of this entity.
es: Se desencadena junto antes de que se cree una anotación en la entidad del tipo indicado. Devuelva ``false`` para evitar que se añada la anotación a la entidad.

en: called before the relationship is deleted. Return false to prevent it from being deleted.
es: Se desencadena junto antes de que se elimine una relación. Devuelva ``false`` para evitar que se elimine.

en: called for user, group, object, and site entities after creation. Return true or entity is deleted.
es: Se desencadena cuando se crea una entidad del tipo indicado. Devuelva ``false`` para eliminar la entidad.

en: called just before the first content is produced. Is triggered by elgg_view().
es: Se desencadena justo antes de que se produzca el primer contenido. Lo desencadena ``elgg_view()``.

en: css/admin: A completely separate theme for the admin area (usually not overridden).
es: ``css/admin``: Un tema completamente separado para la zona de administración (rara vez se substituye).

en: css/elements/buttons: Provides a way to style all the different kinds of buttons your site will use. There are 5 kinds of buttons that plugins will expect to be available: action, cancel, delete, submit, and special.
es: ``css/elements/buttons``: Permite cambiar el estilo de todos los distintos botones que usa el sitio. Existen 5 tipos de botones a disposición de los complementos: ``action`` (acción), ``cancel`` (cancelar), ``delete`` (eliminar), ``submit`` (enviar), y ``special`` (especial).

en: css/elements/chrome: This file has some miscellaneous look-and-feel classes.
es: ``css/elements/chrome``: Este fichero tiene clases varias relacionadas con el aspecto del sitio.

en: css/elements/components: This file contains many “css objects” that are used all over the site: media block, list, gallery, table, owner block, system messages, river, tags, photo, and comments.
es: ``css/elements/components``: Este fichero contiene muchos «objetos CSS» que se utilizan en todo el sitio: bloques de sonido y vídeo, listas, galerías, tablas, bloques del propietario, mensajes del sistema, río, etiquetas, fotos y comentarios.

en: css/elements/core: Contains base styles for the more complicated “css objects”. If you find yourself wanting to override this, you probably need to report a bug to Elgg core instead (DO NOT OVERRIDE).
es: ``css/elements/core``: Contiene estilos de base para los “objetos CSS” más complicados. Si encuentra alguna razón para modificar este fichero, mejor será que informe de ello a los desarrolladores de Elgg para que hagan cambios que le ofrezcan a usted una solución mejor (**no se debe substituir**).

en: css/elements/forms: This file determines what your forms and input elements will look like.
es: ``css/elements/forms``: Este fichero determina el aspecto de los formularios y los controles de introducción de datos.

en: css/elements/icons: Contains styles for the sprite icons and avatars used on your site.
es: ``css/elements/icons``: Contiene estilos para los iconos y avatares usados en el sitio.

en: css/elements/layout: Determines what your page layout will look like: sidebars, page wrapper, main body, header, footer, etc.
es: ``css/elements/layout``: Determina el aspecto de la disposición de la página: barras laterales, encapsulador de la página, cuerpo principal, cabecera, pié de página, etc.

en: css/elements/modules: Lots of content in Elgg is displayed in boxes with a title and a content body. We called these modules. There are a few kinds: info, aside, featured, dropdown, popup, widget. Widget styles are included in this file too, since they are a subset of modules.
es: ``css/elements/modules``: Gran parte del contenido de Elgg se muestra en cajas con un título y un cuerpo. A estas cajas las llamamos «módulos». Existen varios tipos: ``info`` (información), ``aside`` (aparte), ``featured`` (destacado), ``dropdown`` (desplegable), ``popup`` (flotante), ``widget`` (artilugio). Los estilos de los artilugios también se incluyen en este fichero, dado que son un tipo especial de módulos.

en: css/elements/navigation: This file determines what all your menus will look like.
es: ``css/elements/navigation``: Este fichero determina el aspecto de los menús.

en: css/elements/reset: Contains a reset stylesheet that forces elements to have the same default
es: ``css/elements/reset``: Contiene un estilo de restablecimiento que obliga a los elementos a tener un valor predeterminado idéntico los unos a los otros.

en: css/elements/typography: This file determines what the content and headings of your site will look like.
es: ``css/elements/typography``: Este fichero determina el aspecto del contenido y las cabeceras del sitio.

en: css/elgg: Compiles all the core css/elements/\* files into one file (DO NOT OVERRIDE).
es: ``css/elgg``: Compila todos los ficheros del núcleo de ``core/elements/\*`` en un único fichero (**no se debe substituir**).

en: css/ie6: Custom rules for ie6 and below.
es: ``css/ie6``: Reglas personalizadas para Internet Explorer 6 y versiones anteriores de dicho navegador.

en: css/ie7: Custom rules for ie7 and below.
es: ``css/ie7``: Reglas personalizadas para Internet Explorer 7 y versiones anteriores de dicho navegador.

en: css/rtl: Custom rules for users viewing your site in a right-to-left language.
es: ``css/rtl``: Reglas personalizadas para usuarios que están viendo el sitio en un idioma con escritura que va de derecha a izquierda.

en: elgg\_register\_entity\_url\_handler(): This function is new in 1.8. It deprecates register\_entity\_url\_handler(), which you should use if developing for a pre-1.8 version of Elgg.
es: elgg\_register\_entity\_url\_handler(): Esta función se introdujo en la versión 1.8. Esta nueva función substituye a register\_entity\_url\_handler(), ahora obsoleta. Use la función vieja sólo para versiones de Elgg anteriores a la 1.8.

en: entity\_subtype - The entity subtype to create new widgets for. The can be ELGG\_ENTITIES\_ANY\_VALUE to create for all entity types.
es: ``entity_subtype`` es el subtipo de la entidad para la que crear los nuevos artilugios. Su valor puede ser ``ELGG_ENTITIES_ANY_VALUE`` para crearlo para todos los tipos de entidad.

en: entity\_type - The entity type to create new widgets for.
es: ``entity_type`` es el tipo de la entidad para la que crear los nuevos artilugios.

en: event - The Elgg event to create new widgets for. This is usually “create.”
es: ``event`` es el evento de Elgg para el que crear los nuevos artilugios. Su valor suele ser ``create``.

en: expose methods
es: Exponer métodos.

en: first event triggered. Triggered before plugins have been loaded.
es: Primer evento que se desencadena, y lo hace antes de que se hayan cargado los complementos.

en: it will replace:
es: Este fichero substituirá a:

en: name - The name of the widgets page. This is displayed on the tab in the admin interface.
es: ``name`` es el nombre de la página de artilugios. Ésta se muestra en la pestaña de la interfaz de administración.

en: object: for entities derived from ElggObject user: for entities derived from ElggUser site: for entities derived from ElggSite group: for entities derived from ElggGroup
es: ``object``, rara entidades derivadas de ``ElggObject``; ``user``, para entidades derivadas de ``ElggUser``; ``site``, para entidades derivadas de ``ElggSite``; o ``group``, para entidades derivadas de ``ElggGroup``.

en: plugins tend to use this event for initialization (extending views, registering callbacks, etc.)
es: Los complementos suelen usar este evento para prepararse (extender vistas, registrar llamadas de retorno, etc.).

en: return false to override setting a cookie.
es: Devuelve ``false`` para cambiar el comportamiento respecto a definir una cookie.

en: return false to prevent activation of the plugin.
es: Devuelve ``false`` para evitar la activación del complemento.

en: return false to prevent deactivation of the plugin.
es: Devuelve ``false`` para evitar la desactivación del complemento.

en: return false to prevent disable
es: Devuelva ``false`` para impedir que se desactive la entidad.

en: return false to prevent enable
es: Devuelva ``false`` para impedir que se active la entidad.

en: return true to ban user
es: Devuelva ``true`` para expulsar al usuario.

en: return true to unban user
es: Devuelva ``true`` para cancelar la expulsión del usuario.

en: setup API authentication
es: Configurar la autenticación de la API.

en: setup user authentication
es: Configurar la autenticación de usuarios.

en: triggered after the page has been sent to the user. Expensive operations could be done here and not make the user wait. Note: Depending upon your server configuration the PHP output might not be shown until after the process is completed. This means that any long-running processes will still delay the page load.
es: Se desencadena después de enviar la página al usuario. Las operaciones que requieran más tiempo pueden hacerse aquí para no hacer esperar al usuario. Nota: Dependiendo de la configuración del servidor, la salida de datos de PHP podría no mostrarse hasta después de que se termine el proceso. Esto significa que cualquier proceso que requiera un tiempo importante seguiría retrasando la carga de la página.

en: triggered during login. Returning false prevents the user from logging
es: Se desencadena durante la identificación del usuario en el sitio. Puede devolver ``false`` para evitar que el usuario consiga acceder al sitio.

en: triggered during logout. Returning false should prevent the user from logging out.
es: Se desencadena durante el cierre de la sesión del usuario en el sitio. Puede devolver ``false`` para evitar que el usuario consiga cerrar la sesión.

en: triggered just after the plugins are loaded. Rarely used. init, system is used instead.
es: Se desencadena justo después de que se carguen los complementos. No se suele utilizar, sino que en su lugar suele utilizarse ``init, system``.

en: update\_subtype(): This function is new in 1.8. In prior versions, you would need to edit the database by hand if you updated the class name associated with a given subtype.
es: update\_subtype(): Esta función se introdujo en la versión 1.8. En versiones anteriores era necesario editar la base de datos manualmente en caso de haber cambiado el nombre de la clase asociada con un subtipo concreto.

en: user has changed profile
es: El usuario ha cambiado su perfil.

en: user has changed profile icon
es: El usuario ha cambiado el icono de su perfil.

en: user joined a group
es: El usuario se ha unido a un grupo.

en: user left a group
es: El usuario ha dejado un grupo.

en: when a user registers, the user's account is disabled. This event is triggered to allow a plugin to determine how the user should be validated (for example, through an email with a validation link).
es: Cuando un usuario se registra, la cuenta del usuario está desactivada de manera predeterminada. Este evento se desencadena para permitir a un complemento determinar cómo se debería validar el usuario (por ejemplo, mediante un mensaje de correo electrónico con un enlace de validación).

en: widget\_columns - How many columns the widgets page will use.
es: ``widget_columns`` es el número de columnas que usará la página de artilugios.

en: widget\_context - The context the widgets page is called from. (If not explicitly set, this is your plugin's id.)
es: ``widget_context`` es el contexto desde el que se llama a la página de artilugios. Si no se indica de manera explícita, su valor será el identificador del complemento.
