# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2013, Various
# This file is distributed under the same license as the Elgg package.
# 
# Translators:
# Adrián Chaves Fernández <adriyetichaves@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: Elgg Core\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-07-10 19:59-0700\n"
"PO-Revision-Date: 2014-08-12 11:29+0000\n"
"Last-Translator: Srokap <srokap@gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/elgg-core/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

# 5204f276d0164c328ee0c0b98d8019ee
#: ../../design/amd.rst:2
msgid "AMD"
msgstr "AMD"

# 0b590feef7174c228c9a4d569b579d84
# c7c794db9a1941c5a79a9085d69c27e5
# 485c58065ccc4fea9085d86971630e26
#: ../../design/amd.rst:8 ../../design/database.rst:10
#: ../../design/events.rst:8
msgid "Overview"
msgstr "Resumen"

# 76d78144148443faa97cda4d78793168
#: ../../design/amd.rst:10
msgid ""
"There are two JavaScript system in Elgg: the deprecated 1.8 system, and the "
"newer `AMD (Asynchronous Module Definition) "
"<http://requirejs.org/docs/whyamd.html>`_ compatible system introduced in "
"1.9."
msgstr "En Elgg hay dos sistemas de JavaScript: el sistema de la versión 1.8, obsoleto, y el nuevo sistema compatible con `AMD <http://requirejs.org/docs/whyamd.html>`_ y fue introducido en la versión 1.9."

# b6d4c89cb49b4b32ae6e487ec5314433
#: ../../design/amd.rst:13
msgid "This discusses the benefits of using AMD in Elgg."
msgstr "A continuación se discuten los beneficios de usar AMD en Elgg."

# 5bdbd3befccb4f2d812d30dd94e60dad
#: ../../design/amd.rst:16
msgid "Why AMD?"
msgstr "¿Por qué AMD?"

# ab07c8882a7e4d9f808dea2b9be4e17f
#: ../../design/amd.rst:18
msgid ""
"We have been working hard to make Elgg's JavaScript more maintainable and "
"useful. We made some strides in 1.8 with the introduction of the \"elgg\" "
"JavaScript object and library, but have quickly realized the approach we "
"were taking was not scalable. The size of `JS on the web is growing "
"<http://httparchive.org/trends.php?s=All&minlabel=Feb+11+2011&maxlabel=Feb+1+2013#bytesJS&reqJS>`_"
" quickly, and JS in Elgg is growing too. We want Elgg to be able to offer a "
"solution that makes JS development as productive and maintainable as "
"possible going forward."
msgstr "Hemos estado trabajando duro para que el código JavaScript de Elgg sea más fácil de mantener y más útil. Hicimos algunos intentos en la versión 1.8 con la introducción del objeto y biblioteca de JavaScript «elgg», pero en seguida nos dimos cuenta de que esa estrategia se nos iba a quedar corta. `El tamaño de JavaScript en internet está creciendo rápidamente <http://httparchive.org/trends.php?s=All&minlabel=Feb+11+2011&maxlabel=Feb+1+2013#bytesJS&reqJS>`_, y lo mismo le está pasando al código JavaScript de Elgg. Queremos que Elgg pueda ofrecer una solución que haga del desarrollo con JavaScript todo lo productivo y fácil de mantener posible de cara al futuro."

# 35a7a8220c394b378e31c033ce858d7c
#: ../../design/amd.rst:25
msgid ""
"The `reasons to choose AMD <http://requirejs.org/docs/whyamd.html>`_ are "
"plenteous and well-documented. Let's highlight just a few of the most "
"relevant reasons as they relate to Elgg specifically."
msgstr "Los `motivos para elegir AMD <http://requirejs.org/docs/whyamd.html>`_ son muchos y están bien documentados. A continuación nos limitaremos a subrayar algunos de los más relevantes y más relacionados con Elgg."

# 229bbd0492aa4cdba65859c17c0cd0ab
#: ../../design/amd.rst:30
msgid "1. Simplified dependency management"
msgstr "1. Simplifica la gestión de dependencias."

# 6677d64a7f18466ab8510fe534435751
#: ../../design/amd.rst:31
msgid ""
"AMD modules load asynchronously and execute as soon as their dependencies "
"are available, so this eliminates the need to specify \"priority\" and "
"\"location\" when registering JS libs in Elgg. Also, you don't need to worry"
" about explicitly loading a module's dependencies in PHP. The AMD loader "
"(RequireJS in this case) takes care of all that hassle for you. It's also "
"possible have `text dependencies <http://requirejs.org/docs/api.html#text>`_"
" with the RequireJS text plugin, so client-side templating should be a "
"breeze."
msgstr "Los módulos de AMD se cargan de manera asíncrona y se ejecutan en cuanto sus dependencias están disponibles, lo que elimina la necesidad de especificar la «prioridad» o la «localización» a la hora de registrar bibliotecas JavaScript en Elgg. Además, no tiene que preocuparse de cargar explícitamente las dependencias de un módulo desde PHP. El cargador de AMD (RequireJS en este caso) se encarga de todo ello por usted. También se pueden tener `dependencias de texto <http://requirejs.org/docs/api.html#text>`_ con el complemento de texto de RequireJS, de forma que utilizar modelos del lado del cliente será pan comido."

# 4d0371ad44e64db2aef5d5bd91c4464c
#: ../../design/amd.rst:39
msgid "2. AMD works in all browsers. Today."
msgstr "2. AMD ya funciona en todos los navegadores."

# 80ee691f32654694bf2840081719f8af
#: ../../design/amd.rst:40
msgid ""
"Elgg developers are already writing lots of JavaScript. We know you want to "
"write more. We cannot accept waiting 5-10 years for a native JS modules "
"solution to be available in all browsers before we can organize our "
"JavaScript in a maintainable way."
msgstr "Los desarrolladores de Elgg ya están escribiendo un montón de JavaScript. Y sabemos que usted quiere escribir más. No podemos aceptar esperarnos entre 5 y 10 años a que esté disponible en todos los navegadores una solución de módulos de JavaScript nativos para ponernos a organizar nuestro JavaScript para que sea fácil de mantener."

# 9a5f9818f2154d799b33e2f2151e7f64
#: ../../design/amd.rst:45
msgid "3. You do not need a build step to develop in AMD."
msgstr "3. No hace falta ningún paso de construcción para desarrollar con AMD."

# 652869c0e3ad4791b5e4c75ef60c5660
#: ../../design/amd.rst:46
msgid ""
"We like the edit-refresh cycle of web development. We wanted to make sure "
"everyone developing in Elgg could continue experiencing that joy. "
"Synchronous module formats like Closure or CommonJS just weren't an option "
"for us. But even though AMD doesn't require a build step, *it is still very "
"build-friendly*. Because of the ``define()`` wrapper, it's possible to "
"concatenate multiple modules into a single file and ship them all at once in"
" a production environment. [*]_"
msgstr "Nos gusta el ciclo de editar y actualizar que caracteriza al desarrollo web. Queríamos asegurarnos de que todos los que desarrollasen con Elgg pudiesen continuar disfrutando de ello. Los formatos de módulos síncronos como Closure o CommonJS eran simplemente inviables para nosotros. Pero aunque AMD no necesita un paso de construcción, *es perfectamente compatible con procesos de construcción*. Gracias a la envoltura de ``define()`` se pueden concatenar varios módulos en un único fichero y distribuirlos todos a la vez en un ambiente de producción. [*]_"

# 4d46224e885b463a855710224151c7ad
#: ../../design/amd.rst:52
msgid ""
"AMD is a battle-tested and well thought out module loading system for the "
"web today. We're very thankful for the work that has gone into it, and are "
"excited to offer it as the standard solution for JavaScript development in "
"Elgg starting with Elgg 1.9."
msgstr "AMD es un sistema de carga de módulos a prueba de balas y bien diseñado, pensado para la web actual. Estamos muy agradecidos por el esfuerzo que sus desarrolladores han puesto en él, y estamos emocionados ante la idea de ofrecerlo como la solución estándar para el desarrollo con JavaScript en Elgg empezando con la versión 1.9."

# afe8ccdaaa104adf8c7a544b4d9733d7
#: ../../design/amd.rst:56
msgid ""
"This is not currently supported by Elgg core, but we'll be looking into it "
"since reducing round-trips is critical for a good first-view experience, "
"especially on mobile devices."
msgstr "Esto aún no es compatible con el núcleo de Elgg, pero estamos investigando cómo solucionarlo, ya que no tener que dar tantas vueltas resulta fundamental para una buena primera impresión, sobre todo en dispositivos móviles."

# 21b4143490704855a9bf4843495dbdc7
#: ../../design/database.rst:2
msgid "Database"
msgstr "Base de datos"

# d065fc58edc2409cb7ed570a8d4b180d
#: ../../design/database.rst:4
msgid "A thorough discussion of Elgg's data model design and motivation."
msgstr "Una discusión a conciencia del diseño y la motivación del modelo de datos de Elgg."

# b0271b49ae174dabb31fecb7281f2e36
#: ../../design/database.rst:12
msgid ""
"In Elgg, everything runs on a unified data model, based on atomic units of "
"data called entities."
msgstr "En Elgg, todo funciona sobre un modelo de datos unificado, basado en unidades atómicas de datos denominadas «entidades»."

# df247bcaee094cb99d7c66ae0b8f061d
#: ../../design/database.rst:15
msgid ""
"Plugins are strongly discouraged from dealing with database issues "
"themselves, which makes for a more stable system that also has visible "
"benefits for the end user. Content created by different plugins can be mixed"
" together in consistent ways, which are programmed using generic principles "
"- in other words, plugins are faster to develop, and are at the same time "
"much more powerful."
msgstr "Se recomienda encarecidamente que los complementos no interactúen de manera directa con la base de datos, por el bien de la estabilidad del sistema y de beneficios visibles para los usuarios. El contenido generado por complementos diferentes se puede mezclar de manera consistente si los complementos están desarrollados usando principios genéricos. Es decir, de esta forma los complementos se desarrollan más rápido, y al mismo tiempo brindan mayores funcionalidades."

# d55fa514064c41f9a4a57662964b9809
#: ../../design/database.rst:22
msgid ""
"Every entity in the system inherits the ``ElggEntity`` class. This class "
"controls access permissions, ownership and so on."
msgstr "Toda entidad del sistema hereda de la clase ``ElggEntity``. Esta clase controla los permisos de acceso, los propietarios y demás."

# 2b1880374e654e9dafa44bd012a3e30a
#: ../../design/database.rst:27
msgid "You can extend entities with extra information in two ways:"
msgstr "Existen dos maneras de extender las entidades con información adicional:"

# b43df8c79bac485fadab850b6c63c5bc
#: ../../design/database.rst:30
msgid "``Metadata``: This is information you can add to an object to"
msgstr "``Metadatos``: Puedes añadirle esta información a un objeto para"

# 3d73589de44648e2a47142806ec9ea3a
#: ../../design/database.rst:30
msgid ""
"describe it further. For example, tags, an ISBN number, a file location or "
"language information would fall under metadata."
msgstr "describirlo en más detalle. Por ejemplo con etiquetas, un número ISBN, la ruta de un fichero o información lingüística que correspondería a los metadatos."

# d02ba8c1732041f6bb07937a299e48e6
#: ../../design/database.rst:34
msgid "``Annotations``: Information generally added by third parties which"
msgstr "``Anotaciones``: Información añadida generalmente por terceros y que"

# f8f48c0f141c4ec4ac3692e225f0e01d
#: ../../design/database.rst:33
msgid ""
"adds to the information provided by the entity. For example, ratings are "
"annotations (and comments were before 1.9)."
msgstr "amplía la información que ofrece la entidad. Por ejemplo, las calificaciones son anotaciones (y también los comentarios hasta la versión 1.9)."

# 839b8c38492744d9acc23ad425a1b7b0
#: ../../design/database.rst:37
msgid "Entities"
msgstr "Entidades"

# f60f4b3d0f874633b64e88f0026edac7
#: ../../design/database.rst:39
msgid "ElggEntity is the base class for the Elgg data model."
msgstr "«ElggEntity» es la clase base del modelo de datos de Elgg."

# e46ff4ae57cc48e6ac1433352bfe2923
#: ../../design/database.rst:42
msgid "Users, Objects, Groups, Sites"
msgstr "Usuarios, objetos, grupos y sitios"

# 3e5abfb8d6784427be2edefc5d0b4436
#: ../../design/database.rst:44
msgid ""
"``ElggEntity`` has four main specializations, which provide extra properties"
" and methods to more easily handle different kinds of data."
msgstr "``ElggEntity`` cuenta con cuatro especializaciones principales que ofrecen propiedades adicionales y métodos para manejar de forma más sencilla distintos tipos de datos."

# 8426fe69974242f789b7ee8bd0cfdc9a
#: ../../design/database.rst:47
msgid ""
"``ElggObject``: content like blog posts, uploaded files and bookmarks "
"``ElggUser``: a system user ``ElggSite``: each Elgg site within an Elgg "
"installation ``ElggGroup``: multi-user collaborative systems (called "
"\"Communities\" in prior versions of Elgg)"
msgstr "``ElggObject``: Contenido como artículos de blogs, ficheros o marcadores. ``ElggUser``: Un usuario del sistema. ``ElggSite``: cada sitio de Elgg dentro de una instalación de Elgg. ``ElggGroup``: Sistemas de colaboración entre varios usuarios (denominado «Comunidades» en versiones anteriores de Elgg)."

# d4e1f7c14e764e409f4fa81d5dcaf03e
#: ../../design/database.rst:53
msgid ""
"The benefit of such an approach is that, apart from modelling data with "
"greater ease, a common set of functions is available to handle objects, "
"regardless of their (sub)type."
msgstr "Lo bueno de esta estrategia es que, aparte de facilitar el modelado de datos, ofrece un grupo de funciones para manejar objetos, independientemente de su subtipo."

# e42770f6ffcb4fef83e7b854beae200e
#: ../../design/database.rst:57
msgid ""
"Each of these have their own properties that they bring to the table: "
"ElggObjects have a title and description, ElggUsers have a username and "
"password, and so on. However, because they all inherit ElggEntity, they each"
" have a number of core properties and behaviours in common."
msgstr "Cada uno de estos objetos aporta sus propias propiedades: «ElggObjects» tiene un título y una descripción, «ElggUsers» tiene un nombre de usuario y una contraseña, etc. Sin embargo, como todos heredan de «ElggEntity», todos ellos tienen una serie de propiedades y comportamientos básicos en común."

# 81a676f485c648668a0df60ca8545962
#: ../../design/database.rst:62
msgid "A numeric Globally Unique IDentifier (See `GUIDs`_)."
msgstr "Un identificador numérico único (véase `Identificadores únicos`_)."

# 5ad0f0713f9e43fb82731af9fef45e52
#: ../../design/database.rst:63
msgid ""
"Access permissions. (When a plugin requests data, it never gets to touch "
"data that the current user doesn't have permission to see.)"
msgstr "Permisos de acceso. Cuando un complemento solicita datos, no puede conseguir acceso a datos para los que el usuario actual no tiene permisos."

# 553a041938354497a2ee8581968ef3a2
#: ../../design/database.rst:65
msgid ""
"An arbitrary subtype. For example, a blog post is an ElggObject with a "
"subtype of \"blog\". Subtypes aren't predefined; they can be any unique way "
"to describe a particular kind of entity. \"blog\", \"forum\", \"foo\", "
"\"bar\", \"loafofbread\" and \"pyjamas\" are all valid subtypes."
msgstr "Un subtipo arbitrario. Por ejemplo, un artículo de blog es un «ElggObject» de subtipo «blog». Los subtipos no están predefinidos, pueden ser cualquier forma única de identificar un tipo de entidad. Son ejemplos de subtipos válidos «blog», «foro» o «pato»."

# bb48f34710a74c27b0d11b2342e62c5c
#: ../../design/database.rst:69
msgid "An owner."
msgstr "Un propietario."

# 43aa0e2029264badbe246665b2fdaf82
#: ../../design/database.rst:70
msgid "The site that the entity belongs to."
msgstr "El sitio al que pertenece la entidad."

# b09bbf570be246d680b6acc90a719202
#: ../../design/database.rst:71
msgid ""
"A container, usually used to associate a group's content with the group."
msgstr "Un contenedor, usado habitualmente para asociar el contenido de un grupo con el grupo."

# 55f1299f2ae84109bb92abb8c85f988f
#: ../../design/database.rst:74
msgid "GUIDs"
msgstr "Identificadores únicos"

# cff3052e50054cc2a29925219da40af1
#: ../../design/database.rst:76
msgid ""
"A GUID is an integer that uniquely identifies every entity in an Elgg "
"installation (a Globally Unique IDentifier). It's assigned automatically "
"when the entity is first saved and can never be changed."
msgstr "Un identificador único (GUID) es un número entero que identifica de manera inequívoca cada entidad de una instalación de Elgg. Se asigna de manera automática cuando la entidad se guarda por primera vez, y no se puede volver a cambiar nunca."

# 1b4a09d93ef14028bdd939da35973c64
#: ../../design/database.rst:80
msgid ""
"Some Elgg API functions work with GUIDs instead of ``ElggEntity`` objects."
msgstr "Algunas funciones de la API de Elgg funcionan con identificadores en vez de con instancias de ``ElggEntity``."

# 53ae8b6be506461e9206a4b94d4c1a70
#: ../../design/database.rst:83
msgid "ElggObject"
msgstr "ElggObject"

# a3da59870faa486a9bb78585135714df
#: ../../design/database.rst:85
msgid ""
"The ``ElggObject`` entity type represents arbitrary content within an Elgg "
"install; things like blog posts, uploaded files, etc."
msgstr "El tipo de entidad ``ElggObject`` representa contenido arbitrario dentro de la instalación de Elgg. Puede representar, por ejemplo, artículos de blog, ficheros, etc."

# c271343ce67e4dc29c78e457708d3c87
#: ../../design/database.rst:88
msgid "Beyond the standard ElggEntity properties, ElggObjects also support:"
msgstr "Además de las propiedades estándar de ``ElggEntity``, ``ElggObject`` ofrece las siguientes propiedades:"

# b3f9cb500eac4cd5a020e9fa316b4486
#: ../../design/database.rst:90
msgid "``title`` The title of the object (HTML escaped text)"
msgstr "``title``: El título el objeto en texto escapado para HTML."

# b83f122514d9472e929a74b00daee86b
#: ../../design/database.rst:91
msgid "``description`` A description of the object (HTML)"
msgstr "``description`` Una descripción del objeto en HTML."

# b011c9653a394917be5088685335b968
#: ../../design/database.rst:93
msgid "Most other data about the object is generally stored via metadata."
msgstr "La mayor parte del resto de los datos sobre el objeto se almacenan mediante metadatos."

# e9ab5b9005804759bebc4a51c7e48fb6
#: ../../design/database.rst:96
msgid "ElggUser"
msgstr "ElggUser"

# 353f55f7bca846eea415c98fd4d72954
#: ../../design/database.rst:98
msgid ""
"The ``ElggUser`` entity type represents users within an Elgg install. These "
"will be set to disabled until their accounts have been activated (unless "
"they were created from within the admin panel)."
msgstr "El tipo de entidad ``ElggUser`` representa a un usuario de la instalación de Elgg. Estos usuarios se marcan como desactivados hasta que se activan sus cuentas, a menos que sean creados desde el panel de administración."

# 71e6ec0e9bd74afa8b91ced74afb841a
#: ../../design/database.rst:102
msgid "Beyond the standard ElggEntity properties, ElggUsers also support:"
msgstr "Además de las propiedades estándar de ``ElggEntity``, ``ElggUser`` ofrece las siguientes propiedades:"

# e8275330144d4c3aa97d17d64a366292
#: ../../design/database.rst:104
msgid "``name`` The user's plain text name. e.g. \"Hugh Jackman\""
msgstr "``name``: El nombre del usuario en texto plano. Por ejemplo: «Antonio García Fernández»."

# 45b371f1a97e4af2bfee711560922031
#: ../../design/database.rst:105
msgid "``username`` Their login name. E.g. \"hjackman\""
msgstr "``username``: Nombre con el que el usuario accede al sistema. Por ejemplo, «antoniogf»."

# bea42d09ab1d40b782db091e684d915b
#: ../../design/database.rst:106
msgid "``password`` A hashed version of their password"
msgstr "``password``: Una suma (hash) de la contraseña."

# 003f1b46370a4e9ba016c12c890f833e
#: ../../design/database.rst:107
msgid "``salt`` The salt that their password has been hashed with"
msgstr "``salt``: El código aleatorio (salt) con el que se creó la suma de la contraseña."

# f7f848a65e2844759b24623655f79549
#: ../../design/database.rst:108
msgid "``email`` Their email address"
msgstr "``email``: La dirección de correo electrónico."

# eafcf34d65b54d8ebf35221fd7493768
#: ../../design/database.rst:109
msgid "``language`` Their default language code."
msgstr "``language``: El código del idioma predeterminado."

# 6eaf354309fb425bb112c8d881e79b92
#: ../../design/database.rst:110
msgid "``code`` Their session code (moved to a separate table in 1.9)."
msgstr "``code``: El código de la sesión, que a partir de la versión 1.9 está en una tabla separada."

# 3aa9b85d66b54d8d8e2be77171d2cbba
#: ../../design/database.rst:111
msgid "``last_action`` The UNIX timestamp of the last time they loaded a page"
msgstr "``last_action``: La fecha en formato UNIX de la última vez que el usuario cargó una página."

# 9a3a7f93b12b4f28b1d71bc67da568f1
#: ../../design/database.rst:112
msgid "``prev_last_action`` The previous value of ``last_action``"
msgstr "``prev_last_action``: El valor anterior de ``last_action``."

# bccc483077b74593b38479c2bfa6c0bd
#: ../../design/database.rst:113
msgid "``last_login`` The UNIX timestamp of their last log in"
msgstr "``last_login``: Fecha en formato UNIX de la última vez que el usuario accedió al sistema."

# 8d3ea590d5af4f05a1c929b0a5a9fb3b
#: ../../design/database.rst:114
msgid "``prev_last_login`` the previous value of ``last_login``"
msgstr "``prev_last_login``: El valor anterior de ``last_login``."

# aaba7a53c43d4a2b8ea2d494226fe447
#: ../../design/database.rst:117
msgid "ElggSite"
msgstr "ElggSite"

# b801a6ef258d4b309499c7e624b46b14
#: ../../design/database.rst:119
msgid ""
"The ``ElggSite`` entity type represents sites within your Elgg install. Most"
" installs will have only one."
msgstr "El tipo de entidad ``ElggSite`` representa sitios dentro de la instalación de Elgg. En la mayoría de las instalaciones sólo se dispone de un único sitio."

# 01e26641aeeb4c9292a48977a2a3596e
#: ../../design/database.rst:122
msgid "Beyond the standard ElggEntity properties, ElggSites also support:"
msgstr "Además de las propiedades estándar de ``ElggEntity``, ``ElggSite`` ofrece las siguientes propiedades:"

# 551f9074aecb4f2c90fb0a3e724f9322
#: ../../design/database.rst:124
msgid "``name`` The site name"
msgstr "``name``: El nombre del sitio."

# 9cab86ca5fab415aaa0e26af2f124e01
#: ../../design/database.rst:125
msgid "``description`` A description of the site"
msgstr "``description``: Una descripción del sitio."

# 773ef170a6f74a7d9b667483a4800d0d
#: ../../design/database.rst:126
msgid "``url`` The address of the site"
msgstr "``url``: La dirección URL del sitio."

# 5dc079c8a21d4b69b13953d61ae8e6ef
#: ../../design/database.rst:129
msgid "ElggGroup"
msgstr "ElggGroup"

# 660f7a6365224c73b0ed297c46b3c81d
#: ../../design/database.rst:131
msgid ""
"The ``ElggGroup`` entity type represents an association of Elgg users. Users"
" can join, leave, and post content to groups."
msgstr "El tipo de entidad ``ElggGroup`` representa una asociación de usuarios de Elgg. Los usuarios pueden unirse a grupos, marcharse de ellos, o publicar contenido en ellos."

# 4e85013a9f8743488b3c773d6e3b545e
#: ../../design/database.rst:134
msgid "Beyond the standard ElggEntity properties, ElggGroups also support:"
msgstr "Además de las propiedades estándar de ``ElggEntity``, ``ElggGroup`` ofrece las siguientes propiedades:"

# 397d4df71f77431fb6124e2731140b7f
#: ../../design/database.rst:136
msgid "``name`` The group's name (HTML escaped text)"
msgstr "``name``: El nombre del grupo en texto escapado para HTML."

# 87a5b6a9b0bf4d5298a929525e16c2a0
#: ../../design/database.rst:137
msgid "``description`` A description of the group (HTML)"
msgstr "``description`` Una descripción del grupo en HTML."

# fb7166acdf1643ac85868273ab333476
#: ../../design/database.rst:139
msgid "``ElggGroup`` has addition methods to manage content and membership."
msgstr "``ElggGroup`` cuenta con métodos adicionales para gestionar su contenido y usuarios."

# 81c803f7a894402ab91bf33b51c56f52
#: ../../design/database.rst:142
msgid "The Groups plugin"
msgstr "El complemento de grupos"

# 9c67afb21f9a43839e0935f3046f7255
#: ../../design/database.rst:144
msgid ""
"Not to be confused with the entity type ``ElggGroup``, Elgg comes with a "
"plugin called \"Groups\" that provides a default UI/UX for site users to "
"interact with groups. Each group is given a discussion forum and a profile "
"page linking users to content within the group."
msgstr "Elgg incluye un complemento llamado «Grupos» que no debe confundirse con el tipo de entidad ``ElggGroup``. El complemento provee la interfaz predeterminada con la que los usuarios del sitio pueden interactuar con los grupos. Cada grupo recibe un foro de discusiones y una página de perfil que pone a los usuarios en contacto con el contenido del grupo."

# 881a7a5563974dcfb17e55451c953c94
#: ../../design/database.rst:149
msgid ""
"You can alter the user experience via the traditional means of extending "
"plugins or completely replace the Groups plugin with your own."
msgstr "Usted puede cambiar la experiencia del usuario mediante los medios tradicionales de extender los complementos, o substituyendo el complemento de «Grupos» por su propio complemento."

# 011a94960b444c579273d32f7050e111
#: ../../design/database.rst:152
msgid ""
"Because ``ElggGroup`` can be subtyped like all other ElggEntities, you can "
"have multiple types of groups running on the same site."
msgstr "Dado que ``ElggGroup`` puede tener un subtipo al igual que el resto de entidades, puede tener múltiples tipos de grupos en un mismo sitio."

# 3da579aece7b4391ab0743e5cc718302
#: ../../design/database.rst:156
msgid "Writing a group-aware plugin"
msgstr "Desarrollar un complemento compatible con grupos"

# 977a22d171b742bc843cefcd30f61d0d
#: ../../design/database.rst:158
msgid ""
"Plugin owners need not worry too much about writing group-aware "
"functionality, but there are a few key points:"
msgstr "Los desarrolladores de complementos no tienen por qué preocuparse mucho por que sus complementos sean compatibles con los grupos o sus funcionalidades, pero aquí van algunas claves a tener en cuenta:"

# 2dcd15eaf74449e8bf6266d6d2bec693
#: ../../design/database.rst:162
msgid "Adding content"
msgstr "Añadir contenido"

# f41a9ad6d3d44d8a97f5d902dc6bda22
#: ../../design/database.rst:164
msgid ""
"By passing along the group as ``container_guid`` via a hidden input field, "
"you can use a single form and action to add both user and group content."
msgstr "Incluyendo el identificador del grupo como ``container_guid`` mediante un campo de entrada oculto, puede usar un mismo formulario para añadir contenido tanto a un usuario como a un grupo."

# 68affa5ec4a84aadb404fafb9021d21a
#: ../../design/database.rst:167
msgid ""
"Use `can_write_to_container "
"<http://reference.elgg.org/entities_8php.html#16a972909c7cb75f646cb707be001a6f>`_"
" to determine whether or not the current user has the right to add content "
"to a group."
msgstr "Use `can_write_to_container <http://reference.elgg.org/entities_8php.html#16a972909c7cb75f646cb707be001a6f>`_ para determinar si el usuario actual tiene o no permisos para añadir contenido a un grupo."

# 3240b1d414f54fd7936157cb8b980f57
#: ../../design/database.rst:172
msgid ""
"Be aware that you will then need to pass the container GUID or username to "
"the page responsible for posting and the accompanying value, so that this "
"can then be stored in your form as a hidden input field, for easy passing to"
" your actions. Within a \"create\" action, you'll need to take in this input"
" field and save it as a property of your new element (defaulting to the "
"current user's container):"
msgstr "Tenga en cuenta que entonces tendrá que pasarle el identificador del contenedor o el nombre del usuario a la página responsable de publicar el contenido y el valor que lo acompañe, de forma que se pueda almacenar en su formulario como un campo de entrada oculto, para pasar fácilmente sus acciones. Dentro de una acción de crear, necesitará obtener este campo de entrada y guardarlo como una propiedad del nuevo elemento cuyo valor predeterminado es el contenedor del usuario actual:"

# 09df194b879641988ab8709640709b7a
#: ../../design/database.rst:200
msgid "Usernames and page ownership"
msgstr "Nombres de usuario y propiedad de las páginas"

# 0c7510cb6b0c477c9973c7944693a917
#: ../../design/database.rst:202
msgid ""
"Groups have a simulated username of the form *group:\\ GUID*, which you can "
"get the value of by checking ``$group->username``. If you pass this username"
" to a page on the URL line as part of the ``username`` variable (i.e., "
"``/yourpage?username=group:nnn``), Elgg will automatically register that "
"group as being the owner of the page (unless overridden)."
msgstr "Los grupos tienen un nombre de usuario simulado con la forma *group:\\ identificador*, un valor al que se puede acceder mediante ``$grupo->username``. Si pasa este nombre de usuario a una página en la línea de la URL como parte de la variable ``username`` (es decir, ``/su_página?username=group:nnn``), Elgg registrará automáticamente la página como propiedad del grupo (salvo que se indique un propietario distinto de manera explícita)."

# df4e47a07a3f47f5824b1bad14de7e92
#: ../../design/database.rst:209
msgid "Juggling users and groups"
msgstr "Alternando entre usuarios y grupos"

# b0535a18fe2e44ae88c59579d7f88a86
#: ../../design/database.rst:211
msgid ""
"In fact, ``[[Engine/DataModel/Entities/ElggGroup|ElggGroup]]`` simulates "
"most of the methods of ``[[Engine/DataModel/Entities/ElggUser|ElggUser]]``. "
"You can grab the icon, name etc using the same calls, and if you ask for a "
"group's friends, you'll get its members. This has been designed specifically"
" for you to alternate between groups and users in your code easily."
msgstr "Lo cierto es que ``ElggGroup`` simula la mayor parte de los métodos de ``ElggUser``. Puede obtener el icono del grupo, el nombre u otros datos con los mismos métodos, y si pide los contactos de un grupo, obtendrá sus miembros. Esto ha sido diseñado de manera específica para que usted pueda alternar entre usuarios y grupos de manera sencilla desde código."

# 29e3e8e560f0458bb44296026e434a35
#: ../../design/database.rst:219
msgid "Menu options"
msgstr "Opciones de menú"

# 643d116350d943928719e9ce7ac8d3f2
#: ../../design/database.rst:221
msgid "***This section is deprecated as of Elgg 1.8***"
msgstr "***Esta sección está obsoleta desde Elgg 1.8***"

# cde6f5378d134b8db8c9cfffd971e09b
#: ../../design/database.rst:223
msgid ""
"The final piece of the puzzle, for default groups, is to add a link to your "
"functionality from the group's profile. Here we'll use the file plugin as an"
" example."
msgstr "Para los grupos predeterminados, la pieza final del rompecabezas es añadir un enlace a la funcionalidad que usted desarrolla desde el perfil del grupo. A continuación se mostrará cómo utilizando el complemento de ficheros como ejemplo."

# 2aafd44b0fa54b549aba853cd6e223a7
#: ../../design/database.rst:227
msgid ""
"This involves creating a view within your plugin - in this case file/menu - "
"which will extend the group's menu. File/menu consists of a link within "
"paragraph tags that points to the file repository of the page\\_owner():"
msgstr "Esto supone crear una vista dentro de su complemento —en este caso «fichero/menú»— que extenderá el menú del grupo. «Fichero/menú» consiste en un enlace entre etiquetas de párrafo que apunta al repositorio de ficheros del ``page\\_owner()``:"

# bf8877d2100b4974b0eaef77091605a6
#: ../../design/database.rst:240
msgid ""
"You can then extend the group's menu view with this one, within your "
"plugin's input function (in this case file\\_init):"
msgstr "A continuación puede extender la vista del menú del grupo con la siguiente, dentro de la función de entrada de su complemento (en este caso ``file\\_init``):"

# 6a22a9e913aa44a6bffb1e13bbc6560f
#: ../../design/database.rst:248
msgid "Ownership"
msgstr "Propiedad"

# de43e41c1c88408da42624fb07733569
#: ../../design/database.rst:250
msgid ""
"Entities have a ``owner_guid`` GUID property, which defines its owner. "
"Typically this refers to the GUID of a user, although sites and users "
"themselves often have no owner (a value of 0)."
msgstr "Las entidades tienen una propiedad, ``owner_guid``, cuyo valor es el identificador único del propietario de la entidad. Habitualmente el identificador corresponde a un usuario, aunque tanto el propio sitio como sus usuarios no suelen tener propietario (el valor de la propiedad es ``0``)."

# 3ccb21a705d741069ee768863c9da2e6
#: ../../design/database.rst:254
msgid ""
"The ownership of an entity dictates, in part, whether or not you can access "
"or edit that entity."
msgstr "La propiedad de una entidad determina, en parte, si un usuario puede o no acceder a la entidad o modificarla."

# 34590979d745448b94fdce76c4af0194
#: ../../design/database.rst:258
msgid "Containers"
msgstr "Contenedores"

# 7ce79508b7234a6e8d898311f2ab94c9
#: ../../design/database.rst:260
msgid ""
"In order to easily search content by group or by user, content is generally "
"set to be \"contained\" by either the user who posted it, or the group to "
"which the user posted. This means the new object's ``container_guid`` "
"property will be set to the GUID of the current ElggUser or the target "
"ElggGroup."
msgstr "Para poder buscar contenido fácilmente por usuario o por grupo, el contenido se define generalmente como «contenido» por el usuario que lo publicó o el grupo en el que se publicó. Eso significa que a la propiedad ``container_guid`` de los nuevos objetos se le dará como valor el identificador único de la instancia de ``ElggUser`` actual o de la instancia de ``ElggGroup`` de destino."

# d905d86c9c6e411e9ea89bbec4ef677e
#: ../../design/database.rst:265
msgid ""
"E.g., three blog posts may be owned by different authors, but all be "
"contained by the group they were posted to."
msgstr "Por ejemplo, tres artículos de blog podrían pertenecer a autores distintos, pero estar todos contenidos por el grupo en el que se publicaron."

# 03515ea21ccb4a398c7bf47e92671878
#: ../../design/database.rst:268
msgid ""
"Note: This is not always true. Comment entities are contained by the object "
"commented upon, and in some 3rd party plugins the container may be used to "
"model a parent-child relationship between entities (e.g. a \"folder\" object"
" containing a file object)."
msgstr "Nota: Esto no es siempre cierto. Las entidades de comentarios son propiedad del que comentan, y en algunos complementos de terceros el contenedor podría usarse para modelar una relación de padre-hijo entre entidades (por ejemplo, un objeto «carpeta» que contiene un objeto «fichero»)."

# 881daf4f5efa41cc8de6f76861e391c3
#: ../../design/database.rst:274
msgid "Annotations"
msgstr "Anotaciones"

# 8be571650c944236b3b8b5ced6bafbb0
#: ../../design/database.rst:276
msgid ""
"Annotations are pieces of data attached to an entity that allow users to "
"leave ratings, or other relevant feedback. A poll plugin might register "
"votes as annotations. Before Elgg 1.9, comments and group discussion replies"
" were stored as annotations."
msgstr "Las anotaciones son fragmentos de datos anexados a una entidad y que permiten a los usuarios indicar puntuaciones o añadir con ellas otro tipo de información relevante a la entidad a la que se añaden. Un complemento de encuestas podría, por ejemplo, registrar los votos como anotaciones. Antes de Elgg 1.9, los comentarios y las respuestas a discusiones de grupo se almacenaban como anotaciones."

# 26e51ee5748641d5847328fc9dc7baf8
#: ../../design/database.rst:281
msgid "Annotations are stored as instances of the ``ElggAnnotation`` class."
msgstr "Las anotaciones se almacenan como instancias de la clase ``ElggAnnotation``."

# 6609e373608941a18c4ec753ae4cdc2b
#: ../../design/database.rst:283
msgid "Each annotation has:"
msgstr "Cada anotación cuenta con:"

# 01262200192c4c50a2ff474fb347ae9d
#: ../../design/database.rst:285
msgid "An internal annotation type (like *comment*)"
msgstr "Un tipo de anotación interno (como *comment*, «comentario»)."

# 5486743ad2d3479c841acdfe6326e155
#: ../../design/database.rst:286
msgid "A value (which can be a string or integer)"
msgstr "Un valor (que puede ser una cadena de texto o un número entero)."

# d1ed86269ac04b8eafffcc9a85b88e88
#: ../../design/database.rst:287
msgid "An access permission distinct from the entity it's attached to"
msgstr "Un permiso de acceso distinto del de la entidad a la que está anexado."

# af8393e28146446c8e1e1cd341638051
#: ../../design/database.rst:288
msgid "An owner"
msgstr "Un propietario."

# 39b8f45a7b2543ee8e6f992fbb1042cd
#: ../../design/database.rst:291
msgid "Adding an annotation"
msgstr "Añadir una anotación"

# 609085b073024f0497f05696ce5f4c86
#: ../../design/database.rst:293
msgid ""
"The easiest way to annotate is to use the ``annotate`` method on an entity, "
"which is defined as:"
msgstr "La forma más sencilla de añadir una anotación a una entidad es usar el método ``annotate`` de dicha entidad. La declaración de dicho método es la siguiente:"

# 4317483959814b3eb990c844e1f71a48
#: ../../design/database.rst:306
msgid "For example, to leave a rating on an entity, you might call:"
msgstr "Por ejemplo, para dejar una puntuación en una entidad, puede llamar a:"

# 61d1d6b937a84490b855837c08047ec0
#: ../../design/database.rst:313
msgid "Reading annotations"
msgstr "Leer anotaciones"

# 2f39cf059daa4c9099c98a594c5889ed
#: ../../design/database.rst:315
msgid ""
"To retrieve annotations on an object, you can call the following method:"
msgstr "Para obtener las anotaciones de un objeto, puedes llamar al método siguiente:"

# 72ae37c25e9e4ce38801da54f0449cf4
#: ../../design/database.rst:326
msgid ""
"If your annotation type largely deals with integer values, a couple of "
"useful mathematical functions are provided:"
msgstr "Por si el tipo de tu anotación lidia en gran medida con números enteros, tiene a su disposición una serie de funciones matemáticas que pueden resultarle útiles:"

# 8d8f4a1947f7420f8236167b8214c33b
#: ../../design/database.rst:337
msgid "Useful helper functions"
msgstr "Funciones de asistencia útiles"

# 8f75cac6632743efb28d9eda0ee1c5b6
#: ../../design/database.rst:340
msgid "Comments"
msgstr "Comentarios"

# 64e29e7370404c35835471ef0f92f311
#: ../../design/database.rst:342
msgid ""
"If you want to provide comment functionality on your plugin objects, the "
"following function will provide the full listing, form and actions:"
msgstr "Si quiere ofrecer la funcionalidad de dejar comentarios en los objetos de su complemento, la siguiente función se lo facilitará, formulario y acciones:"

# 2d6efd92149f4991ae7f7f56a9f1f633
#: ../../design/database.rst:351
msgid "Metadata"
msgstr "Metadatos"

# 704ddf10fb3e4b249019bf4f9b7f35ea
#: ../../design/database.rst:353
msgid ""
"Metadata in Elgg allows you to store extra data on an ``entity`` beyond the "
"built-in fields that entity supports. For example, ``ElggObjects`` only "
"support the basic entity fields plus title and description, but you might "
"want to include tags or an ISBN number. Similarly, you might want users to "
"be able to save a date of birth."
msgstr "En Elgg, los metadatos le permiten almacenar alguna información adicional en una ``entidad`` más allá de los campos predeterminados que ofrece la entidad. Por ejemplo, las instancias de ``ElggObject`` sólo ofrecen los campos de entidad básicos y campos para un título y una descripción, pero puede que quieras incluir etiquetas o un número ISBN. De manera similar, puede que quieras que los usuarios tengan la posibilidad de guardar una fecha de cumpleaños."

# ba477369617d405f9f065f554bce29c8
#: ../../design/database.rst:359
msgid ""
"Under the hood, metadata is stored as an instance of the ``ElggMetadata`` "
"class, but you don't need to worry about that in practice (although if "
"you're interested, see the ``ElggMetadata`` class reference). What you need "
"to know is:"
msgstr "Internamente, los metadatos se almacenan como una instancia de ``ElggMetadata``, pero usted no tiene que preocuparse de eso en la práctica (pero si le interesa, échele una ojeada la la documentación de referencia de la clase). Lo único que necesita saber es que:"

# b35069a6c2094fc6acb8de47f62fe424
#: ../../design/database.rst:364
msgid ""
"Metadata has an owner and access ID, both of which may be different to the "
"owner of the entity it's attached to"
msgstr "Los metadatos tienen un identificador de acceso y un identificador de propietario, y los valores de ambos campos podrían ser distintos de los valores de dichos campos en la entidad a la que los metadatos se han añadido."

# 9a0126cd48204ff8a72a3735865852a7
#: ../../design/database.rst:366
msgid ""
"You can potentially have multiple items of each type of metadata attached to"
" a single entity"
msgstr "Usted podría tener varios elementos de cata tipo de metadatos anexados a una única entidad."

# b6e77e4505194a8c8979abefb651d414
#: ../../design/database.rst:370
msgid "The simple case"
msgstr "El caso más simple"

# 26795af0ba2f46158e357f2285744014
# 604768e0e4a44c98929e2aa27f233fdc
#: ../../design/database.rst:373 ../../design/database.rst:442
msgid "Adding metadata"
msgstr "Añadir metadatos"

# 4cf58e43021642a88a5e6a4e00119ada
#: ../../design/database.rst:375
msgid "To add a piece of metadata to an entity, just call:"
msgstr "Para añadir un metadato a una entidad, llama a:"

# bbe1155ab2594fc0a98b73f3ccf4bd85
#: ../../design/database.rst:381
msgid "For example, to add a date of birth to a user:"
msgstr "Por ejemplo, para añadir una fecha de cumpleaños a un usuario:"

# 136643eb57c84161acf0cbe8b4eb7f1d
#: ../../design/database.rst:387
msgid "Or to add a couple of tags to an object:"
msgstr "O para añadir un par de etiquetas a un objeto:"

# e941581fd34347c0872bf81bfcdc0c09
#: ../../design/database.rst:393
msgid "When adding metadata like this:"
msgstr "Al añadir metadatos mediante el procedimiento anterior:"

# 16a78c0d258b45a6ac2b189565930c3d
#: ../../design/database.rst:395
msgid "The owner is set to the currently logged-in user"
msgstr "El usuario actual se convierte en el propietario de los metadatos."

# 7d68837a23a4407ab19c1ab27e3b699b
#: ../../design/database.rst:396
msgid "Access permissions are inherited from the entity"
msgstr "Los permisos de acceso se heredan de la entidad."

# 790ed3857c044e479317fa7357158ca3
#: ../../design/database.rst:397
msgid "Reassigning a piece of metadata will overwrite the old value"
msgstr "Al reasignar un metadato, este substituye cualquier valor previo de ese mismo metadato."

# 98c96d395e6b4df28f9140e95191b789
#: ../../design/database.rst:399
msgid ""
"This is suitable for most purposes. Be careful to note which attributes are "
"metadata and which are built in to the entity type that you are working "
"with. You do not need to save an entity after adding or updating metadata. "
"You do need to save an entity if you have changed one of its built in "
"attributes. As an example, if you changed the access id of an ElggObject, "
"you need to save it or the change isn't pushed to the database."
msgstr "Esto funciona bien para la mayoría de los casos. Tenga cuidado de anotar qué atributos son metadatos y cuales son parte integral del tipo de entidad con el que está trabajando. No tiene por qué guardar una entidad después de añadirle o actualizar sus metadatos. Pero si lo que ha cambiado son sus atributos integrales, debe guardar la entidad para preservar sus cambios. Por ejemplo, si ha cambiado el identificador de acceso de un objeto de tipo ``ElggObject``, tiene que guardar el objeto, o de lo contrario el cambio no se hará efectivo en la base de datos."

# 932e19f4725f44a09c2acac8140af01b
# 0cb5df5f755048b79b842a142165167c
#: ../../design/database.rst:408 ../../design/database.rst:484
msgid "Reading metadata"
msgstr "Leer metadatos"

# 8faa4d32a48c4e86aa5fa2a32522d426
#: ../../design/database.rst:410
msgid "To retrieve metadata, treat it as a property of the entity:"
msgstr "Para obtener un metadato, haga lo mismo que haría con una propiedad de la entidad:"

# 14018dabdd9c492bb5ffde9edccf5b92
#: ../../design/database.rst:416
msgid ""
"Note that this will return the absolute value of the metadata. To get "
"metadata as an ElggMetadata object, you will need to use the methods "
"described in the *finer control* section below."
msgstr "Nota: El método anterior devolverá el valor absoluto del metadato. Para obtener el metadato como una instancia de ``ElggMetadata``, use los métodos descritos en la sección *Un mayor control* más adelante."

# 8b820dc980674c81acb7c1f33e091bba
#: ../../design/database.rst:420
msgid ""
"If you stored multiple values in this piece of metadata (as in the \"tags\" "
"example above), you will get an array of all those values back. If you "
"stored only one value, you will get a string or integer back. Storing an "
"array with only one value will return a string back to you. E.g."
msgstr "Si almacena varios valores en este metadato (como en el ejemplo de las etiquetas), obtendrá un vector (array) con todos esos valores. Si sólo almacenó un valor, obtendrá una cadena de texto o un número entero. Si almacenó un vector con un único valor, el metadato devolverá una cadena de texto. Por ejemplo:"

# cb7824286c08416383c600e978f4e353
#: ../../design/database.rst:432
msgid "To always get an array back, simply cast to an array;"
msgstr "Para obtener siempre un vector, no tiene más que invocar el método como tal:"

# cf1f6be5e20b425f82041bc581a1460e
#: ../../design/database.rst:439
msgid "Finer control"
msgstr "Un mayor control"

# a39a84e34e6e41009b7b09b8dfafda1e
#: ../../design/database.rst:444
msgid ""
"If you need more control, for example to assign an access ID other than the "
"default, you can use the ``create_metadata`` function, which is defined as "
"follows:"
msgstr "Si necesita más control para, por ejemplo, asignar un identificador de acceso distinto del identificador predeterminado, puede usar la función ``create_metadata``, que está declarada así:"

# 4e234f4d9aa4435ea680fb8baa3ca225
#: ../../design/database.rst:460
msgid ""
"For single values, you can therefore write metadata as follows (taking the "
"example of a date of birth attached to a user):"
msgstr "Para valores individuales, puede escribir el metadato de la siguiente manera (siguiendo con el ejemplo de la fecha de cumpleaños anexada a un usuario):"

# 312ec26d279d40fdbf3687e2704800ea
#: ../../design/database.rst:467
msgid ""
"For multiple values, you will need to iterate through and call "
"``create_metadata`` on each one. The following piece of code comes from the "
"profile save action:"
msgstr "Para varios valores, tendrá que iterar por ellos y llamar a ``create_metadata`` una vez por cada valor. El siguiente código ha sido extraído de Elgg, concretamente de la acción de guardar de los perfiles:"

# 26ceb8a2971740b290cc15eaeb8b1cec
#: ../../design/database.rst:480
msgid ""
"Note that the *allow multiple* setting is set to *false* in the first "
"iteration and *true* thereafter."
msgstr "Nota: El parámetro *allow_múltiple* (permitir varios) se pone a *false* en la primera iteración y a *true* (verdadero) en las siguientes."

# 4a8daea177614190903e3317adc57c2b
#: ../../design/database.rst:486
msgid ""
"``elgg_get_metadata`` is the best function for retrieving metadata as "
"ElggMetadata objects:"
msgstr "``elgg_get_metadata`` es la mejor función para obtener metadatos como instancias de ``ElggMetadata``:"

# 1e91fb6cbe674b9abd23c2244564841f
#: ../../design/database.rst:489
msgid "E.g., to retrieve a user's DOB"
msgstr "Por ejemplo, para obtener la fecha de cumpleaños (*DOB*) de un usuario:"

# 6ef6ff291ca0465a8c8f9ebf54428973
#: ../../design/database.rst:498
msgid "Or to get all metadata objects:"
msgstr "O para obtener todos los objetos de metadatos:"

# 213705d0ca194e368efab8005f0b5b09
#: ../../design/database.rst:510
msgid "Common mistakes"
msgstr "Errores habituales"

# 96028737bf014b55984f2318edb10225
#: ../../design/database.rst:513
msgid "\"Appending\" metadata"
msgstr "“Anexar” metadatos"

# bf3d84962cd8480a8c2b958f4db3052a
#: ../../design/database.rst:515
msgid ""
"Note that you cannot \"append\" values to metadata arrays as if they were "
"normal php arrays. For example, the following will not do what it looks like"
" it should do."
msgstr "No puede “anexar” valores a vectores de metadatos como si fuesen simples vectores de PHP. Por ejemplo, el siguiente código no hace lo que parece que debería hacer:"

# 54be2a0f922842bb8eb5d75441f9c44b
#: ../../design/database.rst:524
msgid "Trying to store hashmaps"
msgstr "Intentar almacenar mapas de sumas («hashmaps»)"

# b7b8de13c9f7435698b61fa8f336d292
#: ../../design/database.rst:526
msgid ""
"Elgg does not support storing ordered maps (name/value pairs) in metadata. "
"For example, the following does not work as you might first expect it to:"
msgstr "Elgg no permite almacenar mapas ordenados (parejas con nombre y valor) en metadatos. Por ejemplo, el siguiente código no funcionaría como uno cabría esperar en un principio:"

# 385b790f3c854c32b7185da0b8a68034
#: ../../design/database.rst:535
msgid "You can instead store the information like so:"
msgstr "En vez de eso, puede hacer lo siguiente para almacenar la información:"

# 2adafb54af364856b6d673cf5c312f81
#: ../../design/database.rst:544
msgid "Storing GUIDs in metadata"
msgstr "Almacenar identificadores únicos en metadatos"

# b57bd90671d34ccca79c1860a96856b6
#: ../../design/database.rst:546
msgid ""
"Though there are some cases to store entity GUIDs in metadata, "
"`Relationships`_ are a much better construct for relating entities to each "
"other."
msgstr "Aunque existen algunos casos en los que tiene sentido almacenar identificadores únicos en metadatos, las `relaciones`_ son una construcción mucho mejor para relacionar unas entidades con otras."

# 319dde8bab1044d5a358cdabe6094805
#: ../../design/database.rst:551
msgid "Relationships"
msgstr "Relaciones"

# 1609f2311d3542fb9be5b83091c9c166
#: ../../design/database.rst:553
msgid ""
"Relationships allow you to bind entities together. Examples: an artist has "
"fans, a user is a member of an organization, etc."
msgstr "Las relaciones permiten asociar entidades las unas con las otras. Por ejemplo: un artista que tiene fans, un usuario que es miembro de una organización, etc."

# 6c58ef874076490983f2bc5db687af2a
#: ../../design/database.rst:556
msgid ""
"The class ``ElggRelationship`` models a directed relationship between two "
"entities, making the statement:"
msgstr "La clase ``ElggRelationship`` modela una relación con dirección entre dos entidades, dando lugar a la expresión:"

# 28fe6bee8200460199f20b2523e11f52
#: ../../design/database.rst:559
msgid "\"**{subject}** is a **{noun}** of **{target}**.\""
msgstr "«**{sujeto}** es un **{substantivo}** de **{objeto}**.»"

# d629f0dee06d48288ea690684bb2ade9
#: ../../design/database.rst:562
msgid "API name"
msgstr "Nombre en el API"

# 3827a29866274551bd06f087de9faace
#: ../../design/database.rst:562
msgid "Models"
msgstr "Modela"

# a0f20ae37b8146eca38f4618bfe058fe
#: ../../design/database.rst:562
msgid "Represents"
msgstr "Representa"

# 878c2219a330446aa9a3ca03d585389f
#: ../../design/database.rst:564
msgid "``guid_one``"
msgstr "``guid_one``"

# f3b6ac7949244d5ca968cfe5a9a1a518
#: ../../design/database.rst:564
msgid "The subject"
msgstr "Sujeto"

# e9642ba252644dae9758be148b94e697
#: ../../design/database.rst:564
msgid "Which entity is being bound"
msgstr "La entidad que se está relacionando."

# 05a084cdba2d4edfaa6c49cf85240829
#: ../../design/database.rst:565
msgid "``relationship``"
msgstr "``relationship``"

# c6e9a303b801482589d24cd71d8232df
#: ../../design/database.rst:565
msgid "The noun"
msgstr "Substantivo"

# cbc30a32607f44388cd9f6f54d8e7fb1
#: ../../design/database.rst:565
msgid "The type of relationship"
msgstr "El tipo de la relación."

# cc09d8c776dd4f5194d81f01175c6324
#: ../../design/database.rst:566
msgid "``guid_two``"
msgstr "``guid_two``"

# 6bcc98d4e27941c9ad14c129e6be680f
#: ../../design/database.rst:566
msgid "The target"
msgstr "Objeto"

# a573d50f9ee24ee898cadac13a4d97e2
#: ../../design/database.rst:566
msgid "The entity to which the subject is bound"
msgstr "La entidad con la que se relaciona el sujeto."

# 17cc06e23ee54a9594283957a417273b
#: ../../design/database.rst:569
msgid ""
"The type of relationship may alternately be a verb, making the statement:"
msgstr "Alternativamente, el tipo de relación puede ser un verbo, dando lugar a la expresión:"

# ec2f1c9889ab4222b7ce4c1dd02b9851
#: ../../design/database.rst:571
msgid "\"**{subject}** **{verb}** **{target}**.\""
msgstr "«**{sujeto}** **{verbo}** **{objeto}**.»"

# 8b3542938bee43e69ac944dd8ad13e8b
#: ../../design/database.rst:573
msgid "E.g. User A \"likes\" blog post B"
msgstr "Por ejemplo, el usuario A «está de acuerdo con» el comentario B."

# b3c9d095f9c6456a9b4d5223764bce91
#: ../../design/database.rst:575
msgid ""
"**Each relationship has direction.** Imagine an archer shoots an arrow at a "
"target; The arrow moves in one direction, binding the subject (the archer) "
"to the target."
msgstr "**Toda relación tiene una dirección.** Imagínese un arquero disparando una flecha al objeto. La flecha se mueve en una dirección, relacionando el sujeto (el arquero) con el objeto."

# 36c8a7543592421c885b6d7facb24ade
#: ../../design/database.rst:579
msgid ""
"**A relationship does not imply reciprocity**. **A** follows **B** does not "
"imply that **B** follows **A**."
msgstr "**Las relaciones no implicar reciprocidad**. Que **A** siga a **B** no significa que **B** siga a **A**."

# a758f897d32841d1bd8bbc0670b577d7
#: ../../design/database.rst:582
msgid ""
"**Relationships_ do not have access control.** They're never hidden from "
"view and can be edited with code at any privilege level, with the caveat "
"that *the entities* in a relationship may be invisible due to access "
"control!"
msgstr "**Las relaciones_ carecen de control de acceso.** Nunca se les ocultan a las vistas, y pueden editarse mediante código independientemente del nivel de privilegios, con la pega de que las *entidades* de la relación podrían sí ser invisibles por culpa del control de acceso."

# 0b4076f2713b48b1a2e89e76708d4cac
#: ../../design/database.rst:588
msgid "Working with relationships"
msgstr "Trabajar con relaciones"

# 6c54387c92264f74a28719339818aa1e
#: ../../design/database.rst:591
msgid "Creating a relationship"
msgstr "Crear una relación"

# f20c0ea63f30474dbd5c0e0f32f7f876
#: ../../design/database.rst:593
msgid ""
"E.g. to establish that \"**$user** is a **fan** of **$artist**\" (user is "
"the subject, artist is the target):"
msgstr "Por ejemplo, para establecer que «**$user** es un **fan** de **$artist**», donde $user (usuario) es el sujeto y $artist (artista) el objeto:"

# 2af4dff0cacc437691b23a766d820cf2
#: ../../design/database.rst:604
msgid ""
"This triggers the event [create, relationship], passing in the created "
"``ElggRelationship`` object. If a handler returns ``false``, the "
"relationship will not be created and ``$success`` will be ``false``."
msgstr "Esto desencadena el evento [create, relationship], pasando a éste el objeto de tipo ``ElggRelationship`` creado. Si un manejador devuelve ``false``, la relación no se creará y ``$success`` (que indica si todo fue correctamente) pasará a ser ``false``."

# 9db5d32cc351439abae0e8d74b34b44a
#: ../../design/database.rst:610
msgid "Verifying a relationship"
msgstr "Verificar una relación"

# e01ee039018b43dc9577deff8f32b911
#: ../../design/database.rst:612
msgid "E.g. to verify that \"**$user** is a **fan** of **$artist**\":"
msgstr "Por ejemplo, para verificar que «**$user** es **fan** de **$artist**»:"

# f29022b7a9534403881e7d00aa3deefe
#: ../../design/database.rst:620
msgid ""
"Note that, if the relationship exists, ``check_entity_relationship()`` "
"returns an ``ElggRelationship`` object:"
msgstr "Tenga en cuenta que, si la relación existe, ``check_entity_relationship()`` devuelve una instancia de ``ElggRelationship``:"

# 88179d8fb14b4508afdd4f40928116c2
#: ../../design/database.rst:631
msgid "Deleting a relationship"
msgstr "Eliminar una relación"

# fb3336ecc3934bd1bd29defe707a21a8
#: ../../design/database.rst:633
msgid ""
"E.g. to be able to assert that \"**$user** is no longer a **fan** of "
"**$artist**\":"
msgstr "Por ejemplo, para poder asegurarse de que «**$user** ya no es **fan** de **$artist**»:"

# cf2dbf8ef2074ea5a8056b419a58e0cf
#: ../../design/database.rst:639
msgid ""
"This triggers the event [delete, relationship], passing in the associated "
"``ElggRelationship`` object. If a handler returns ``false``, the "
"relationship will remain, and ``$was_removed`` will be ``false``."
msgstr "Esto desencadena el evento [delete, relationship], pasando a éste el objeto de tipo ``ElggRelationship`` asociado. Si un manejador devuelve ``false``, la relación seguirá existiendo y ``$was_removed`` («se eliminó») pasará a ser ``false``."

# 23a8192bab994cfd83122fc19f0a95d4
#: ../../design/database.rst:644
msgid "Other useful functions:"
msgstr "Otras funciones útiles:"

# db38c68876994912ab714cafeba7e49d
#: ../../design/database.rst:646
msgid "``delete_relationship()`` : delete by ID"
msgstr "``delete_relationship()`` : eliminar la relación con el identificador indicado."

# e3324ae11dfb4763a97985f9bfc11a80
#: ../../design/database.rst:647
msgid ""
"``remove_entity_relationships()`` : delete those relating to an entity "
"(*note:* in versions before Elgg 1.9, this did not trigger delete events)"
msgstr "``remove_entity_relationships()`` : eliminar aquellas entidades que estén relacionadas con una entidad determinada. Nota: en versiones de Elgg anteriores a la 1.9 esto no desencadenaba los eventos de eliminación."

# b42c438d8b8b40369cdb72b06902a86d
#: ../../design/database.rst:650
msgid "Finding relationships and related entities"
msgstr "Encontrar relaciones y entidades relacionadas"

# 7308320f27b74ddc91937cd80a0421a3
#: ../../design/database.rst:652
msgid ""
"Below are a few functions to fetch relationship objects and/or related "
"entities. A few are listed below:"
msgstr "A continuación se presentan algunas funciones para obtener objetos de relaciones y entidades relacionadas:"

# 561851f32d62445aa9102fdc11f98367
#: ../../design/database.rst:655
msgid ""
"``get_entity_relationships()`` : fetch relationships by subject or target "
"entity"
msgstr "``get_entity_relationships()``: obtener relaciones que tengan la entidad indicada como sujeto o objeto."

# 3810211bf28942e7a73eff88a666533e
#: ../../design/database.rst:656
msgid "``get_relationship()`` : get a relationship object by ID"
msgstr "``get_relationship()``: obtener el objeto de relación con el identificador indicado."

# 5c386d5e6689471ba2ffaf15db08fa5b
#: ../../design/database.rst:657
msgid ""
"``elgg_get_entities_from_relationship()`` : fetch entities in relationships "
"in a variety of ways"
msgstr "``elgg_get_entities_from_relationship()``: obtener entidades en relaciones de varias formas."

# 4827df5caeca4771bc328d76a28addf3
#: ../../design/database.rst:661
msgid "Access Control"
msgstr "Control de acceso"

# 84e9a0dd600548bcb238c93a7382dd5c
#: ../../design/database.rst:663
msgid ""
"Granular access controls are one of the fundamental design principles in "
"Elgg, and a feature that has been at the centre of the system throughout its"
" development. The idea is simple: a user should have full control over who "
"sees an item of data he or she creates."
msgstr "Los controles de acceso granular son uno de los principio de diseño fundamentales de Elgg, y una funcionalidad que ha estado en el centro de el sistema a lo largo de su desarrollo. La idea es sencilla: un usuario debería tener todo el control sobre quién puede ver un dato que ha creado dicho usuario."

# eeeb4fe3fb9d46edbc3b9e6938efc1d1
#: ../../design/database.rst:669
msgid "Access controls in the data model"
msgstr "Controles de acceso en el modelo de datos"

# 98232720685d48f992dd08e80c365a36
#: ../../design/database.rst:671
msgid ""
"In order to achieve this, every entity, annotation and piece of metadata "
"contains an ``access_id`` property, which in turn corresponds to one of the "
"pre-defined access controls or an entry in the ``access_collections`` "
"database table."
msgstr "Para conseguir esto, toda entidad, anotación y metadato contiene una propiedad ``access_id`` (identificador de acceso) que se corresponde con uno de los controles de acceso predefinidos o una entrada en la tabla ``access_collections`` de la base de datos."

# 1e4658d9ed564d79a08a7b53b8dee4ac
#: ../../design/database.rst:677
msgid "Pre-defined access controls"
msgstr "Controles de acceso predefinidos"

# 62f467a7abc243d2a89f3dcca9275a12
#: ../../design/database.rst:679
msgid "**0** Private."
msgstr "**0** Privado."

# 46550933a386465fa5ade468ebff340c
#: ../../design/database.rst:680
msgid "**1** Logged in users."
msgstr "**1** Usuarios registrados."

# 438464e886fe442a843151cdcb6bb302
#: ../../design/database.rst:681
msgid "**2** Public data."
msgstr "**2** Público."

# f8ce51fa5ecf48d9a63ab1be19f44dd8
#: ../../design/database.rst:684
msgid "User defined access controls"
msgstr "Controles de acceso definidos por los usuarios"

# f42da4186c694fca95a0c97ea814bc6b
#: ../../design/database.rst:686
msgid ""
"You may define additional access groups and assign them to an entity, "
"annotation or metadata. A number of functions have been defined to assist "
"you; see the `access library reference`_ for more information."
msgstr "Usted puede definir grupos de acceso adicionales y asignárselos a entidades, anotaciones o metadatos. Existen para ayudarle a ello una serie de funciones; para más información, vea la `documentación de referencia de la biblioteca de acceso`_."

# 6fd68aeffe83499786ad1fe82bc7595b
#: ../../design/database.rst:691
msgid "How access affects data retrieval"
msgstr "Cómo el acceso afecta a la obtención de datos"

# ffd444b33915406085c9b19115c8f5e7
#: ../../design/database.rst:693
msgid ""
"All data retrieval functions above the database layer - for example "
"``get_entities`` and its cousins - will only return items that the current "
"user has access to see. It is not possible to retrieve items that the "
"current user does not have access to. This makes it very hard to create a "
"security hole for retrieval."
msgstr "Todas las funciones de obtención de datos que hay sobre la capa de la base de datos —como ``get_entities`` y similares— sólo devuelven elementos a los que el usuario actual tiene acceso de lectura. No es posible obtener elementos a los que el usuario actual no tiene acceso. Esto dificulta el crear una brecha de seguridad en la obtención de datos."

# b55cbf20bced4d02be28764263b62a24
#: ../../design/database.rst:702
msgid "Write access"
msgstr "Acceso de escritura"

# 284459aca65944049d6ce4cc6dafd00a
#: ../../design/database.rst:704
msgid "The following rules govern write access:"
msgstr "Las siguientes reglar rigen el acceso de escritura:"

# 554cc7ca59bc42cda2574749836fc09a
#: ../../design/database.rst:706
msgid "The owner of an entity can always edit it"
msgstr "El propietario de una entidad siempre puede editarla."

# 7fee0cc4a5784318b50491a707d9ce32
#: ../../design/database.rst:707
msgid ""
"The owner of a container can edit anything therein (note that this does not "
"mean that the owner of a group can edit anything therein)"
msgstr "El propietario de un contenedor puede editar todo lo que hay en el contenedor. Nota: Ello no significa que el propietario de un grupo pueda editar cualquier cosa dentro del grupo)."

# b0b5fbe914c1445dacf4fdca5b951bf0
#: ../../design/database.rst:709
msgid "Admins can edit anything"
msgstr "Los administradores pueden editarlo todo."

# 88c0a3916e1f4834a591045b15059386
#: ../../design/database.rst:711
msgid ""
"You can override this behaviour using a `plugin hook`_ called "
"``permissions_check``, which passes the entity in question to any function "
"that has announced it wants to be referenced. Returning ``true`` will allow "
"write access; returning ``false`` will deny it. See `the plugin hook "
"reference for permissions\\_check`_ for more details."
msgstr "Puede cambiar este comportamiento mediante un `gancho de complementos`_ llamado ``permissions_check`` (comprobación de permisos), que pasa la entidad en cuestión a cualquier función que haya anunciado que quiere estar de referencia. Si devuelve ``true`` se permitirá el acceso de escritura; si devuelve ``false``, se denegará. Para más información vea la `documentación de referencia del gancho de complementos para permissions\\_check`_."

# 167179ac208447a485001246c51a7385
#: ../../design/database.rst:718
msgid "Also see"
msgstr "Véase también"

# 1410f9649ace4cfb8f95765e8b47f832
#: ../../design/database.rst:720
msgid "`Engine reference`_"
msgstr "`Documentación de referencia del motor`_"

# 4127c135feab43e7a216b6a7129e68f4
#: ../../design/database.rst:721
msgid "`Access library reference`_"
msgstr "`Documentación de referencia de la biblioteca de acceso`_"

# 2ca1d26c77854adc89b3738740cd063d
#: ../../design/database.rst:729
msgid "Schema"
msgstr "Esquema"

# 2f3f2c46e10d4f01867764b6d8b9575c
#: ../../design/database.rst:731
msgid ""
"The database contains a number of primary tables and secondary tables. Its "
"schema table is stored in ``/engine/schema/mysql.sql``."
msgstr "La base de datos contiene una serie de tablas primarias y secundarias. Su esquema de tabla está almacenado en ``/engine/schema/mysql.sql``."

# 9401dccd332d47939c8c4984038018e4
#: ../../design/database.rst:734
msgid ""
"Each table is prefixed by \"prefix\\_\", this is replaced by the Elgg "
"framework during installation."
msgstr "Cada tabla está prefijada con «prefix\\_», que la infraestructura de Elgg substituye por el prefijo seleccionado durante la instalación."

# ea6788aea5914cb6b2024576a9ad5abc
#: ../../design/database.rst:738
msgid "Main tables"
msgstr "Tablas principales"

# c5f8036d60ac4ecdbb854e3a08f37d69
#: ../../design/database.rst:740
msgid ""
"This is a description of the main tables. Keep in mind that in a given Elgg "
"installation, the tables will have a prefix (typically \"elgg\\_\")."
msgstr "Esta es una descripción de las tablas principales. No se olvide de que en toda instalación de Elgg estas tablas tienen un prefijo, que suele ser «elgg\\_»."

# e577d676d79c4b3e8188ec011c3d8e83
#: ../../design/database.rst:744
msgid "Table: entities"
msgstr "Tabla: entidades"

# 1a04c88432c14f6b92f2f308175fd5a2
#: ../../design/database.rst:746
msgid ""
"This is the main `Entities`_ table containing Elgg users, sites, objects and"
" groups. When you first install Elgg this is automatically populated with "
"your first site."
msgstr "Esta es la tabla principal de entidades, y contiene a los usuarios de Elgg, los sitios, los objetos y los grupos. Cuando instala Elgg por primera vez, la tabla se rellena automáticamente con su primer sitio."

# 100b8fea61d843428ecd5033ef86738c
#: ../../design/database.rst:750
msgid "It contains the following fields:"
msgstr "Contiene los siguientes campos:"

# 742c5b6319a1494b998d6dc20d861e2c
#: ../../design/database.rst:752
msgid ""
"**guid** An auto-incrementing counter producing a GUID that uniquely "
"identifies this entity in the system."
msgstr "**guid:** Un contador que aumenta automáticamente y produce un identificador único para la entidad dentro del sistema."

# 50f76f172b36469984328a42aa3b29e3
#: ../../design/database.rst:754
msgid "**type** The type of entity - object, user, group or site"
msgstr "**type:** El tipo de la entidad (``object``, ``user``, ``group`` o ``site``)."

# 6c98efa32a6e4c02a5f5081509eca677
#: ../../design/database.rst:755
msgid "**subtype** A link to the `entity_subtypes` table."
msgstr "**subtype:** Un enlace a la tabla `entity_subtypes`."

# d4941b956f124706878de8cdf1009999
#: ../../design/database.rst:756
msgid "**owner\\_guid** The GUID of the owner's entity."
msgstr "**owner\\_guid:** El identificador único del propietario de la entidad."

# e37132862e8041f2bd109033a57cf4db
#: ../../design/database.rst:757
msgid "**site\\_guid** The site the entity belongs to."
msgstr "**site\\_guid:** El sitio al que pertenece la entidad."

# d5c2a1ae96d140f096f2208a95a193a6
#: ../../design/database.rst:758
msgid ""
"**container\\_guid** The GUID this entity is contained by - either a user or"
" a group."
msgstr "**container\\_guid:** El identificador único de la entidad que contiene a esta, que puede ser un usuario o un grupo."

# 56b165263be3438586a4e605a05f9168
#: ../../design/database.rst:760
msgid "**access\\_id** Access controls on this entity."
msgstr "**access\\_id:** Los controles de acceso de la entidad."

# 9ecdfd74cbc4439c9d5efd899f27e266
#: ../../design/database.rst:761
msgid "**time\\_created** Unix timestamp of when the entity is created."
msgstr "**time\\_created:** La fecha y hora de creación de la entidad en formato Unix."

# 6abf09b3989747daa01f1af91243290f
#: ../../design/database.rst:762
msgid "**time\\_updated** Unix timestamp of when the entity was updated."
msgstr "**time\\_updated:** La fecha y hora de la última actualización de la entidad en formato Unix."

# 00fd068881484ff1a5fbd2d447964a1a
#: ../../design/database.rst:763
msgid ""
"**enabled** If this is 'yes' an entity is accessible, if 'no' the entity has"
" been disabled (Elgg treats it as if it were deleted without actually "
"removing it from the database)."
msgstr "**enabled:** Si su valor es «yes» se puede acceder a la entidad, si es «no» la entidad está desactivada (Elgg la trata como si hubiese sido eliminada pero sin que se haya eliminado realmente de la base de datos)."

# e49ba8a0f76f42fda2af54f04f042d1f
#: ../../design/database.rst:768
msgid "Table: entity\\_subtypes"
msgstr "Tabla: entity\\_subtypes"

# ce6793878cf24b6d810f2ce2e9a358e6
#: ../../design/database.rst:770
msgid "This table contains entity subtype information:"
msgstr "Esta tabla contiene información sobre los subtipos de las entidades:"

# 1b20eabbc243491fabbe7a892ea4caf8
# 63f5e077e1a14605b43f2d0e3f9f6fec
# 50e8ef82f6dc4a44a85ec6b70fe41af6
#: ../../design/database.rst:772 ../../design/database.rst:782
#: ../../design/database.rst:800
msgid "**id** A counter."
msgstr "**id:** Un contador."

# a01bfbb4ea084759b85fb624bc7c395a
#: ../../design/database.rst:773
msgid "**type** The type of entity - object, user, group or site."
msgstr "**type:** El tipo de la entidad (``object``, ``user``, ``group`` o ``site``).."

# 56e928ba08734cf8bd6a1f637f0239ab
#: ../../design/database.rst:774
msgid "**subtype** The subtype name as a string."
msgstr "**subtype:** El nombre del subtipo en forma de cadena de texto."

# 987a86f9e5f84a3fa138ecf6a31db4f6
#: ../../design/database.rst:775
msgid "**class** Optional class name if this subtype is linked with a class"
msgstr "**class:** Nombre de clase opcional si el subtipo está enlazado con una clase."

# 237c26bbbe934275952a2d1a79faf88d
#: ../../design/database.rst:778
msgid "Table: metadata"
msgstr "Tabla: metadata"

# 8adce57dac0b4a01bcf65a398037472e
#: ../../design/database.rst:780
msgid ""
"This table contains `Metadata`_, extra information attached to an entity."
msgstr "Esta tabla contiene `metadatos`_, información adicional anexada a una entidad."

# ccaf128256194330953b9fc650039109
# 7c4eda57ec394be88d553e11d70c11c8
#: ../../design/database.rst:783 ../../design/database.rst:801
msgid "**entity\\_guid** The entity this is attached to."
msgstr "**entity\\_guid:** Identificador de la entidad a la que está anexado el metadato."

# 2993fcd2b82d4e86ad2af480d0205497
#: ../../design/database.rst:784
msgid "**name\\_id** A link to the metastrings table defining the name table."
msgstr "**name\\_id:** Un enlace a la tabla «metastrings» que define el nombre."

# 61eaa0a200384082bc75956475e92dc9
# d271f2a16cb14b0eb0e6b32bced732b5
#: ../../design/database.rst:786 ../../design/database.rst:804
msgid "**value\\_id** A link to the metastrings table defining the value."
msgstr "**value\\_id:** Un enlace a la tabla «metastrings» que define el valor."

# 82f12af1b9444ef6aecb0af5cb0975e2
# e707153e76174832a7a39781f19c0b9c
#: ../../design/database.rst:787 ../../design/database.rst:805
msgid "**value\\_type** The value class, either text or an integer."
msgstr "**value\\_type:** La clase del valor, o bien «text» (texto) o bien «integer» (número entero)."

# 9211cfcca4524f8597508dc253f1cf14
# 5dc331e8799c456080bc5561b6f2a0ed
#: ../../design/database.rst:788 ../../design/database.rst:806
msgid ""
"**owner\\_guid** The owner GUID of the owner who set this item of metadata."
msgstr "**owner\\_guid:** El identificador único del propietario, es decir, de quien definió el metadato."

# 646518cccd384d5ba62edd4363456cbc
# 48935a8606954f0e8acb676124ac2757
#: ../../design/database.rst:790 ../../design/database.rst:808
msgid "**access\\_id** An Access controls on this item of metadata."
msgstr "**access\\_id:** Los controles de acceso del metadato."

# 04f8e3b9b8f543849af4e50716656c04
# 77070a271c194385b58e9921b0f229c3
#: ../../design/database.rst:791 ../../design/database.rst:809
msgid "**time\\_created** Unix timestamp of when the metadata is created."
msgstr "**time\\_created:** La fecha y hora de creación del metadato en formato Unix."

# 3f0d5645ac614edbba1e91548653fd31
# 1575f8bc041547d9adc723300d9b1c8a
#: ../../design/database.rst:792 ../../design/database.rst:810
msgid ""
"**enabled** If this is 'yes' an item is accessible, if 'no' the item has "
"been deleted."
msgstr "**enabled:** Si su valor es «yes» se puede acceder al elemento, si es «no» el elemento ha sido eliminado."

# aa3b1ad62c5b48fb96bc974f51dc13ff
#: ../../design/database.rst:796
msgid "Table: annotations"
msgstr "Tabla: annotations"

# e05e4b9430d74dd7bd2aa0e69aa26a8f
#: ../../design/database.rst:798
msgid "This table contains `Annotations`_, this is distinct from `Metadata`_."
msgstr "Esta tabla contiene `anotaciones`_, que no son lo mismo que `metadatos`_."

# dbf9a80a6ede4b21bb5e365e6ecab703
#: ../../design/database.rst:802
msgid ""
"**name\\_id** A link to the metastrings table defining the type of "
"annotation."
msgstr "**name\\_id:** Un enlace a la tabla «metastrings» que define el tipo de anotación."

# 291297d509c84a6d8c6fa180e1bd31ce
#: ../../design/database.rst:814
msgid "Table: relationships"
msgstr "Tabla: relationships"

# 794a1eaf11eb459984144fb025bae782
#: ../../design/database.rst:816
msgid ""
"This table defines `Relationships`_, these link one entity with another."
msgstr "Esta tabla define `relaciones`_, las cuales enlazan unas entidades con otras."

# d5489c0a6e57492cb56165690a78510c
#: ../../design/database.rst:818
msgid "**guid\\_one** The GUID of the subject entity."
msgstr "**guid\\_one:** El identificador de la entidad sujeto."

# a5b7a81c38744dc281b03d4c5e7215e0
#: ../../design/database.rst:819
msgid "**relationship** The type of the relationship."
msgstr "**relationship:** El tipo de la relación."

# e59d30c91fe04e21b38daf95dd888a7e
#: ../../design/database.rst:820
msgid "**guid\\_two** The GUID of the target entity."
msgstr "**guid\\_two:** El identificador de la entidad objeto."

# 6fdc7334b11041fc83cc612883b6f97f
#: ../../design/database.rst:823
msgid "Table: objects\\_entity"
msgstr "Tabla: objects\\_entity"

# 5c4514f425cf4079a9f8945252b44fc1
#: ../../design/database.rst:825
msgid ""
"Extra information specifically relating to objects. These are split in order"
" to reduce load on the metadata table and make an obvious difference between"
" attributes and metadata."
msgstr "Información adicional relacionada específicamente con objetos. Estos están divididos para reducir la carga de la tabla de metadatos y hacer una diferencia obvia entre los atributos y los metadatos."

# 5acc11b6ee0e4c869df146b57dd71ec4
#: ../../design/database.rst:830
msgid "Table: sites\\_entity"
msgstr "Tabla: sites\\_entity"

# bd2bbbbfbf2940fda86d3b0fe0f634eb
#: ../../design/database.rst:832
msgid ""
"Extra information specifically relating to sites. These are split in order "
"to reduce load on the metadata table and make an obvious difference between "
"attributes and metadata."
msgstr "Información adicional relacionada específicamente con sitios. Estos están divididos para reducir la carga de la tabla de metadatos y hacer una diferencia obvia entre los atributos y los metadatos."

# 0f21512ced3147cb9a7252483b385f90
#: ../../design/database.rst:837
msgid "Table: users\\_entity"
msgstr "Tabla: users\\_entity"

# 3b868b45081a4ea991956e7c7062146d
#: ../../design/database.rst:839
msgid ""
"Extra information specifically relating to users. These are split in order "
"to reduce load on the metadata table and make an obvious difference between "
"attributes and metadata."
msgstr "Información adicional relacionada específicamente con usuarios. Estos están divididos para reducir la carga de la tabla de metadatos y hacer una diferencia obvia entre los atributos y los metadatos."

# f622eedbe87a4d5d8c950dc8fa3ed935
#: ../../design/database.rst:844
msgid "Table: groups\\_entity"
msgstr "Tabla: groups\\_entity"

# 3596af1f5d634f4db87edd2c9584db59
#: ../../design/database.rst:846
msgid ""
"Extra information specifically relating to groups. These are split in order "
"to reduce load on the metadata table and make an obvious difference between "
"attributes and metadata."
msgstr "Información adicional relacionada específicamente con grupos. Estos están divididos para reducir la carga de la tabla de metadatos y hacer una diferencia obvia entre los atributos y los metadatos."

# 8cd365a827fb4191a944795081c0e30a
#: ../../design/database.rst:851
msgid "Table: metastrings"
msgstr "Tabla: metastrings"

# 69b9a8beec834889a23929486136467e
#: ../../design/database.rst:853
msgid ""
"Metastrings contain the actual string of metadata which is linked to by the "
"metadata and annotations tables."
msgstr "Las metastrigns (metacadenas) contiene los textos reales de los metadatos, y que están enlazados con las tablas de metadatos y de anotaciones."

# 686d1f8b5c3a40f0a7d97403fa12e32f
#: ../../design/database.rst:856
msgid ""
"This is to avoid duplicating strings, saving space and making database "
"lookups more efficient."
msgstr "Esto permite evitar duplicar cadenas, ahorrando espacio y haciendo más eficientes las búsquedas en la base de datos."

# 21680e7c9f314bf8b962ab4a4dce6628
#: ../../design/database.rst:859
msgid ""
"Core developers will place schema upgrades in ``/engine/schema/upgrades/*``."
msgstr "Los desarrolladores principales guardan las actualizaciones del esquema en ``/engine/schema/upgrades/*``."

# adc8959e6d1944098d937933f1a1836e
#: ../../design/events.rst:2
msgid "Events and Plugin Hooks"
msgstr "Eventos y ganchos de complementos"

# 6b430eb1f01d4f22bd105e4d60b4a0ec
#: ../../design/events.rst:10
msgid ""
"Elgg has an event system that can be used to replace or extend core "
"functionality."
msgstr "Elgg cuenta con un sistema de eventos que puedes usar para substituir o extender su funcionalidad predeterminada."

# 5edae023da144c51a2304ccf6107b022
#: ../../design/events.rst:13
msgid ""
"Plugins influence the system by creating handlers (`callables "
"<http://php.net/manual/en/language.types.callable.php>`_ such as functions "
"and methods) and registering them to handle two types of events: `Elgg "
"Events`_ and `Plugin Hooks`_."
msgstr "Los complementos influencian el sistema mediante la creación de manejadores (`llamadas de retorno <http://php.net/manual/es/language.types.callable.php>`_ como funciones o métodos) y registrándolos para manejar dos tipos de eventos: `eventos de Elgg`_ y `ganchos de complementos`_."

# ea5fce44b14d401391b126378d067c79
#: ../../design/events.rst:17
msgid ""
"When an event is triggered, a set of handlers is assembled in order of "
"priority, then each is executed. Each handler is passed arguments and has a "
"chance to influence the process. Finally the \"trigger\" function returns a "
"value based on the behavior of the handlers."
msgstr "Cuando se desencadena un evento, se agrupan una serie de manejadores por orden de prioridad, y entonces se ejecuta cada uno de ellos. Cada manejador recibe argumentos que pueden influir en el proceso. Finalmente, la función «trigger» (desencadenante) devuelve un valor basado en el comportamiento de los manejadores."

# b1dd09fe1178491087969fcaaba5f010
#: ../../design/events.rst:23
msgid "Elgg Events vs. Plugin Hooks"
msgstr "Diferencias entre los eventos de Elgg y los ganchos de complementos"

# c40e5297ff5b4b3ca9a4f70f901edb6a
#: ../../design/events.rst:25
msgid ""
"There are a few big differences between `Elgg Events`_ and `Plugin Hooks`_:"
msgstr "Existen algunas diferencias importantes entre los `eventos de Elgg`_ y los `ganchos de complementos`_:"

# cfa94dd5a6e24babbd82bd272d3dd8e6
#: ../../design/events.rst:27
msgid ""
"Most Elgg events can be cancelled; unless the event is an \"after\" event, a"
" handler that returns `false` can cancel the event, and no more handlers are"
" called."
msgstr "La mayor parte de los eventos de Elgg se pueden cancelar. A menos que los eventos sean eventos «after» (que tienen lugar después de que suceda algo), los manejadores de los eventos pueden cancelar dichos eventos devolviendo ``false``, y con ello evitarán que se llame al resto de manejadores."

# 7ab2299d501144d9bde1f71c16abc339
#: ../../design/events.rst:30
msgid "Plugin hooks cannot be cancelled; all handlers are always called."
msgstr "Los ganchos de complementos no pueden cancelarse; todos los ganchos se llaman siempre."

# 8d424a7eee5042c78727872ddda189a9
#: ../../design/events.rst:31
msgid ""
"Plugin hooks pass an arbitrary value through the handlers, giving each a "
"chance to alter along the way."
msgstr "Los ganchos de complementos pasan un valor arbitrario a través de los manegadores, dándole a cada uno de ellos la oportunidad de modificarlo."

# 3c9f9eeb3ad24888abaece50299cba85
#: ../../design/events.rst:34
msgid ""
"Note: Plugin hooks also allow passing a parameters array to the handlers, "
"though this will eventually come to Elgg events as well."
msgstr "Nota: Los ganchos de complementos permiten pasarle un vector de parámetros a los manejadores, aunque en el futuro los eventos de Elgg también lo permitirán."

# 19681ae9afcd44c09373c3269e10b8af
#: ../../design/events.rst:38
msgid "Elgg Events"
msgstr "Eventos de Elgg"

# ed9148e5ab70423f94fb0698e92bfb77
#: ../../design/events.rst:40
msgid ""
"Elgg Events are triggered when an Elgg object is created, updated, or "
"deleted; and at important milestones while the Elgg framework is loading. "
"Examples: a blog post being created or a user logging in."
msgstr "Los eventos de Elgg se desencadenan cuando se crea, actualizar o elimina un objeto. También tienen lugar en puntos importantes del proceso de carga de la infraestructura Elgg. Por ejemplo, existen eventos que suceden al crear un artículo de blog o al acceder un usuario al sitio."

# ee269ffb20c546baa0c05f2da4134300
#: ../../design/events.rst:44
msgid ""
"Unlike `Plugin Hooks`_, *most Elgg events can be cancelled*, halting the "
"execution of the handlers, and possibly cancelling or reverting some action "
"in the Elgg core."
msgstr "A diferencia de los `ganchos de complementos`_, *la mayor parte de los eventos de Elgg se pueden cancelar*, interrumpiendo la ejecución de los manejadores, y posiblemente cancelando o revirtiendo alguna acción en el núcleo de Elgg."

# 171dbe47296e488f8f37a98124289282
#: ../../design/events.rst:48
msgid ""
"Each Elgg event has a name and an object type (system, user, object, "
"relationship name, annotation, group) describing the type of object passed "
"to the handlers."
msgstr "Todos los eventos de Elgg tienen un nombre y un tipo de objeto (``system``, ``user``, ``object``, ``relationship``, ``annotation``, ``group``) que describe el tipo del objeto que se pasa a los manejadores."

# 2c3c9e60ce614e6b98b46d0a7c56a2e9
#: ../../design/events.rst:53
msgid "Before and After Events"
msgstr "Eventos del antes y el después"

# eeae3ba58968438cb82bcb7ab2cb9069
#: ../../design/events.rst:55
msgid ""
"Some events are split into \"before\" and \"after\". This avoids confusion "
"around the state of the system while in flux. E.g. Should the user be logged"
" in during the [login, user] event?"
msgstr "Algunos eventos se dividen entre «before» (antes) y «after» (después). Esto evita confusiones sobre el estado del sistema durante ellos. Por ejemplo, ¿debería identificarse al usuario durante el evento [login, user]?"

# bbd2fed289b7426988474456b39f4693
#: ../../design/events.rst:59
msgid ""
"Before Events have names ending in \":before\" and are triggered before "
"something happens. Like traditional events, handlers can cancel the event by"
" returning `false`."
msgstr "Los eventos del antes tienen nombres terminados en «:before» y ocurren antes de que ocurra algo. Igual que los eventos tradicionales, sus manejadores pueden cancelar el evento devolviendo `false`."

# 2ad30bcb2f1548459ae38830c7e4ff42
#: ../../design/events.rst:63
msgid ""
"After Events, with names ending in \":after\", are triggered after something"
" happens. Unlike traditional events, handlers *cannot* cancel these events; "
"all handlers will always be called."
msgstr "Los eventos del después, con nombres que terminan en «:after», ocurren después de que algo suceda. A diferencia de los eventos tradicionales, sus manejadores *no* pueden cancelar estos eventos; se llama siempre a todos los manejadores."

# 2a85a23b6d6643709dae532d500b4659
#: ../../design/events.rst:67
msgid ""
"Where before and after events are available, developers are encouraged to "
"transition to them, though older events will be supported for backwards "
"compatibility."
msgstr "Cuando para un evento existen tanto la versión del antes como la del después, se recomienda a los desarrolladores que usen estas versiones del evento en vez de la principal —la que no es ni del antes ni del después—, si bien se seguirá permitiendo el uso de la versión original del evento para que Elgg siga siendo compatible con versiones anteriores de la infraestructura."

# 8f9553e6a95d4e00ba3f68956795beee
#: ../../design/events.rst:72
msgid "Elgg Event Handlers"
msgstr "Manejadores de eventos de Elgg"

# b6dd4312d2a647fbacd4c251b93f0466
#: ../../design/events.rst:74
msgid "Elgg event handlers should have the following prototype:"
msgstr "Los manejadores de eventos de Elgg deberían tener el siguiente prototipo:"

# 5b106c4da8444a15be47758f4d367ef2
#: ../../design/events.rst:89
msgid ""
"If the handler returns `false`, the event is cancelled, preventing execution"
" of the other handlers. All other return values are ignored."
msgstr "Si el manejador devuelve `false`, se cancela el evento, evitando la ejecución del resto de los manejadores. El valor que devuelvan el resto de manejadores se ignora."

# b9a5d7fb1d9a4a89881fc4910597ae85
#: ../../design/events.rst:93
msgid "Register to handle an Elgg Event"
msgstr "Registrar un manejador para un evento de Elgg"

# a50eb702ecbf45599beb6aeba1504891
#: ../../design/events.rst:95
msgid ""
"Register your handler to an event using ``elgg_register_event_handler``:"
msgstr "Registre su manejador para un evento mediante ``elgg_register_event_handler``:"

# fefc234a315d41fd9b905b2418daa564
# b074c4cd64fe4dfe978ce0fecbe1d712
# 3fee0d1c36454f7aafedc71bea12e4ad
# 49d73c171fc84fb8b9bed6fedc165f63
#: ../../design/events.rst:101 ../../design/events.rst:134
#: ../../design/events.rst:188 ../../design/events.rst:216
msgid "Parameters:"
msgstr "Parámetros:"

# c62869becfaa4f6c9c67f1d210be048c
# d3fb2bcd4711400ca813d83f2d57605e
#: ../../design/events.rst:103 ../../design/events.rst:136
msgid "**$event** The event name."
msgstr "**$event:** El nombre del evento."

# a9adf385688b429782cdc961328644fe
#: ../../design/events.rst:104
msgid ""
"**$object_type** The object type (e.g. \"user\" or \"object\") or 'all' for "
"all types on which the event is fired."
msgstr "**$object_type:** El tipo de objeto (por ejemplo: «user» o «object») en el que se lanza el evento, «all» si son todos los tipos."

# 47b867c2ecca4170b3c8c5e56779064d
# ffd46477d0e94f2d959bb0f3a7a217d9
#: ../../design/events.rst:106 ../../design/events.rst:192
msgid "**$handler** The callback of the handler function."
msgstr "**$handler:** La llamada de retorno de la función manejadora."

# bfdccc6805674a889ee333431b363e86
# 76c00b94432c49f8ae0504fd73eb2c1b
#: ../../design/events.rst:107 ../../design/events.rst:193
msgid "**$priority** The priority - 0 is first and the default is 500."
msgstr "**$priority:** La prioridad. 0 es la mayor prioridad, 500 es el valor predeterminado."

# 585418ffb5a644038c7297684740d202
#: ../../design/events.rst:109
msgid ""
"**Object** here does not refer to an ``ElggObject`` but rather any object in"
" the framework: system, user, object, relationship, annotation, group."
msgstr "Aquí **object** no hace referencia a una instancia de ``ElggObject``, sino a cualquier objeto de la infraestructura: ``system`` (sistema), ``user`` (usuario), ``object`` (objeto), ``relationship`` (relación), ``annotation`` (anotación) o ``group`` (grupo)."

# 24557f9ebb4544f2987dab2d25827e80
# 2698340329fc467eae69be71e7c64b03
#: ../../design/events.rst:112 ../../design/events.rst:198
msgid "Example:"
msgstr "Ejemplo:"

# f592416d1153470ba13b3d6680752fa8
#: ../../design/events.rst:122
msgid "Trigger an Elgg Event"
msgstr "Desencadenar un evento de Elgg"

# cb20c55f61fa4fcf973086250198ffe4
#: ../../design/events.rst:124
msgid "You can trigger a custom Elgg event using ``elgg_trigger_event``:"
msgstr "Usted puede desencadenar un evento personalizado de Elgg mediante ``elgg_trigger_event``:"

# 392c49b289ee46a19be8d9b2478beabd
#: ../../design/events.rst:137
msgid "**$object_type** The object type (e.g. \"user\" or \"object\")."
msgstr "**$object_type:** El tipo de objeto (por ejemplo: «user» o «object»)."

# b0fadd697dd74317a5e0a6d4f31a347b
#: ../../design/events.rst:138
msgid ""
"**$object** The object (e.g. an instance of ``ElggUser`` or ``ElggGroup``)"
msgstr "**$object:** El objeto (como puede ser una instancia de ``ElggUser`` o de ``ElggGroup``)."

# 3d76fef3233f4900826f4cd8fa64b448
#: ../../design/events.rst:140
msgid ""
"The function will return ``false`` if any of the selected handlers returned "
"``false``, otherwise it will return ``true``."
msgstr "La función devolverá ``false`` si cualquiera de los manejadores seleccionados devolvió ``false``. Si todos devolvieron ``true``, la función también devolverá ``true``."

# 07485028dbf145bfb90c4ca0726a47cb
#: ../../design/events.rst:145
msgid "Plugin Hooks"
msgstr "Ganchos de complementos"

# 7aad0bfe54904f9687418c52c15ea655
#: ../../design/events.rst:147
msgid ""
"Plugin Hooks provide a way for plugins to collaboratively determine or alter"
" a value. E.g. this could be to set a configuration array or to decide "
"whether a user has permission to edit an entity."
msgstr "Los ganchos de complementos ofrecen a los complementos una forma de determinar o modificar un valor de manera colaborativa. Por ejemplo, definir un vector de configuración o decidir si un usuario tiene permisos suficientes para editar una entidad o no."

# 4973c5aec7e84b8294d0d5aa567eac23
#: ../../design/events.rst:151
msgid ""
"A plugin hook has a value passed into the trigger function, and each handler"
" has an opportunity to alter the value before it's passed to the next "
"handler. After the last handler has completed, the current value is returned"
" by the trigger."
msgstr "Los ganchos de complementos tienen un valor que se pasa a la función de desencadenamiento, y cada manejador tiene la oportunidad de alterar el valor antes de que se pase al siguiente manejador. Una vez se ejecute el último de los manejadores, el desencadenante devuelve el valor actual."

# ed38516d4fd44891b00980874289e369
#: ../../design/events.rst:157
msgid "Plugin Hook Handlers"
msgstr "Manejadores de ganchos de complementos"

# e2d8c471ee7940b9a77f684c74ad6e7d
#: ../../design/events.rst:159
msgid "Plugin hook handlers should have the following prototype:"
msgstr "Los manejadores de ganchos de complementos deberían tener el siguiente prototipo:"

# fe82a13e2a1b4dd3b1033e6e33b72a9e
#: ../../design/events.rst:175
msgid ""
"If the handler returns no value (or `null` explicitly), the plugin hook "
"value is not altered. Otherwise the return value becomes the new value of "
"the plugin hook. It will then be passed to the next handler as `$value`."
msgstr "Si el manejador no devuelve ningún valor (o devuelve un valor nulo [`null`] explícitamente), no se modifica el valor del gancho de complementos. En caso contrario, el valor devuelto se convierte en el nuevo valor del gancho de complementos. Entonces se le pasará dicho valor al siguiente manejador como `$value`."

# 77d09222b0fc4cf8bd9784d611c62638
#: ../../design/events.rst:180
msgid "Register to handle a Plugin Hook"
msgstr "Registrar un manejador para un gancho de complemento"

# c1713e31afd840eea8e269959c1f7da0
#: ../../design/events.rst:182
msgid ""
"Register your handler to a plugin hook using "
"``elgg_register_plugin_hook_handler``:"
msgstr "Para registrar un manejador para un gancho de complementos, use ``elgg_register_plugin_hook_handler``:"

# 83f95b9e07384adf9e52b5029d3498a5
# fa8cc99883884c4ca6540b354a226963
#: ../../design/events.rst:190 ../../design/events.rst:218
msgid "**$hook** The name of the plugin hook."
msgstr "**$hook:** El nombre del gancho de complementos."

# e8db71f11c68486cac7232ca1af5eb29
# ab285109481643e7a7dc0d0de63d257a
#: ../../design/events.rst:191 ../../design/events.rst:219
msgid "**$type** The type of the hook or 'all' for all types."
msgstr "**$type:** El tipo del gancho, o «all» si son todos los tipos."

# 02d0eb2836014b7f990b0bb8365af619
#: ../../design/events.rst:195
msgid ""
"**Type** can vary in meaning. It may mean an Elgg entity type or something "
"specific to the plugin hook name."
msgstr "El significado del **tipo** puede variar. Podría tratarse del tipo de una entidad de Elgg o de algo específico del nombre del gancho de complementos."

# 9ff4b14421394abd9aa245f0dc73ffae
#: ../../design/events.rst:207
msgid "Trigger a Plugin Hook"
msgstr "Desencadenar un gancho de componente"

# 0ad78ad48b564a8ab5395ad96d1b6a49
#: ../../design/events.rst:209
msgid ""
"You can trigger a custom plugin hook using ``elgg_trigger_plugin_hook``:"
msgstr "Usted puede desencadenar un gancho de componente personalizado mediante ``elgg_trigger_plugin_hook``:"

# 2a27da05318a423d9e8a3ffaea75ec69
#: ../../design/events.rst:220
msgid "**$params** Arbitrary data passed from the trigger to the handlers."
msgstr "**$params:** Datos arbitrarios que se pasaron del desencadenante a los manejadores."

# 6f4305738a2f4a9ea077b720a4a970f3
#: ../../design/events.rst:221
msgid "**$value** The initial value of the plugin hook."
msgstr "**$value:** El valor inicial del gancho de complementos."

# c075f3dae8f2423bb6b3fcb047f4a854
#: ../../design/events.rst:223
msgid ""
"**Caveat!** The `$params` and `$value` arguments are reversed between the "
"plugin hook handlers and trigger functions!"
msgstr "**Advertencia:** Los argumentos `$params` y `$value` tienen una posición distinta entre los manejadores del gancho de complementos y las funciones desencadenantes."

# f2b0e15374e84e8c99cb75904ca5d316
#: ../../design/i18n.rst:2
msgid "Internationalization"
msgstr "Internacionalización"

# 1de9183ecae2427aab46c72fced54f36
#: ../../design/i18n.rst:4
msgid ""
"Elgg 1.0+ departs from previous versions in that it uses a custom text array"
" rather than gettext. This improves system performance and reliability of "
"the translation system."
msgstr "La versión 1.0 de Elgg marcó una diferencia con las anteriores en cuanto a internacionalización: Elgg 1.0 y versiones posteriores usan un vector de texto personalizado en vez de Gettext. Esto mejora la eficiencia del sistema y hace más fiable el sistema de traducción."

# e5b7906a48ab45c9adc80110fa25e876
#: ../../design/i18n.rst:7
msgid "TODO: more plz"
msgstr "Por hacer: Más información, por favor."

# 3aee8a238c504541b62994c9ae9495c0
#: ../../design/index.rst:2
msgid "Design Docs"
msgstr "Documentos de diseño"

# a4b3a4a99a9a48409cdd46d5da2b9fff
#: ../../design/index.rst:4
msgid ""
"Gain a deep understanding of how Elgg works and why it's built the way it "
"is."
msgstr "Aprende y comprende el funcionamiento interno de Elgg y los principios que lo motivan."

# 771d509d87db4249a6427dfccbe45224
#: ../../design/security.rst:2
msgid "Security"
msgstr "Seguridad"

# fd2a6c9fb6cf49bbb2e8c3cff694d62c
#: ../../design/security.rst:4
msgid ""
"Elgg’s approach to the various security issues common to all web "
"applications."
msgstr "La forma en que Elgg aborda los diversos problemas de seguridad es la misma que la del resto de aplicaciones web."

# 8d1ea4038b234e9ea2313023b60c377c
#: ../../design/security.rst:6
msgid "To report a potential vulnerability in Elgg, email security@elgg.org."
msgstr "Para informar de una posible vulnerabilidad en Elgg, envíe un correo electrónico a security@elgg.org."

# 47ee811c9f8345139a09ce87aadc951b
#: ../../design/security.rst:9
msgid "Passwords"
msgstr "Contraseñas"

# 5c1644015ca34ad38493c282b79d549a
#: ../../design/security.rst:12
msgid "Password validation"
msgstr "Validación de contraseñas"

# a73e6afec4bb47509e9e01bf0d5565c8
#: ../../design/security.rst:14
msgid ""
"The only restriction that Elgg places on a password is that it must be at "
"least 6 characters long by default, though this may be changed in "
"/engine/settings.php. Additional criteria can be added by a plugin by "
"registering for the ``registeruser:validate:password`` plugin hook."
msgstr "La única restricción que Elgg pone de manera predeterminada a las contraseñas es que tengan un mínimo de 6 caracteres. Este mínimo puede modificarse desde ``/engine/settings.php``. Pueden añadirse criterios adicionales mediante complementos que registren un manejador para el gancho de complementos ``registeruser:validate:password``."

# 8e7ba1c7aa044b12ab62cb5e4a6e4a29
#: ../../design/security.rst:17
msgid "Password salting"
msgstr "Añadido de un código aleatorio a la contraseña"

# 45d30421e7c949b68d3848aaa0a0c3e2
#: ../../design/security.rst:21
msgid ""
"Elgg salts passwords with a unique 8 character random string. The salt is "
"generated each time the password is set. The main security advantages of the"
" salting are:"
msgstr "Elgg añade un código aleatorio de 8 caracteres a las contraseñas. Este código («salt») se genera cada vez que se define la contraseña. Las principales ventajas de seguridad de este código son:"

# 89340fa3a575454fb19c875330c2fe98
#: ../../design/security.rst:20
msgid ""
"preventing anyone with access to the database from conducting a precomputed "
"dictionary attack"
msgstr "Evitar que cualquiera con acceso a la base de datos pueda ejecutar un ataque de diccionario pre-calculado."

# 2788c4db08b748ccaa1c1ab09be9d43f
#: ../../design/security.rst:21
msgid ""
"preventing a site administration from noting users with the same password."
msgstr "Evitar que los administradores del sistema puedan detectar qué usuarios tienen la misma contraseña."

# da39f40c718844f2b4614ce5674abf31
#: ../../design/security.rst:24
msgid "Password hashing"
msgstr "Suma de la contraseña"

# 5bd0d8f11c95474d9d4917d66f5dc4a4
#: ../../design/security.rst:26
msgid ""
"The hashed password is computed using md5 from the user's password text and "
"the salt."
msgstr "Las sumas (hash) de las contraseñas se calcular mediante MD5 a partir de la combinación de la contraseña del usuario y el código aleatorio."

# 5968905dc0e943a3885c4869017021c8
#: ../../design/security.rst:29
msgid "Password storage"
msgstr "Almacenamiento de las contraseñas"

# b2e188660e064e388d8890b6cdc42fad
#: ../../design/security.rst:31
msgid ""
"The hashed password and the salt are stored in the users table. Neither are "
"stored in any cookies on a user's computer."
msgstr "Las sumas de las contraseñas y los códigos aleatorios se guardan en la tabla de usuarios. Ninguno de estos datos se almacena en cookies del equipo del usuario."

# 49772a89b6ca4ba5bdf8d96bafb2becf
#: ../../design/security.rst:34
msgid "Password throttling"
msgstr "Regulador de accesos"

# e2f5dde3c5f04d409a7ea2d51d915e65
#: ../../design/security.rst:36
msgid ""
"Elgg has a password throttling mechanism to make dictionary attacks from the"
" outside very difficult. A user is only allowed 5 login attempts over a 5 "
"minute period."
msgstr "Elgg cuenta con un mecanismo de regulación de accesos que dificulta en gran medida los ataques de diccionario desde el exterior. Los usuarios sólo pueden hacer hasta 5 intentos de acceder al sistema durante un período de 5 minutos."

# c49b7b9fb66f4df1a471f611857273ba
#: ../../design/security.rst:39
msgid "Password resetting"
msgstr "Restablecimiento de contraseñas"

# 0fd888b442c04ef2bda67c5d5e8f0932
#: ../../design/security.rst:41
msgid ""
"If a user forgets his password, a new random password can be requested. "
"After the request, an email is sent with a unique URL. When the user visits "
"that URL, a new random password is sent to the user through email."
msgstr "Si un usuario se olvida de su contraseña, se puede solicitar una nueva contraseña generada aleatoriamente. Tras la solicitud, se envía un mensaje de correo electrónico al usuario con una URL única. Cuando el usuario visita la URL, se le envía una nueva contraseña aleatoria por correo electrónico."

# 5d2dcf8969074482b1fac3966ab0d1c5
#: ../../design/security.rst:44
msgid "Sessions"
msgstr "Sesiones"

# f1590d94359242fb8e5ff17c6f43249c
#: ../../design/security.rst:46
msgid ""
"Elgg uses PHP's session handling with custom handlers. Session data is "
"stored in the database. The session cookie contains the session id that "
"links the user to the browser. The user's metadata is stored in the session "
"including GUID, username, email address. The session's lifetime is "
"controlled through the server's PHP configuration."
msgstr "Elgg usa la gestión de sesiones de PHP con manejadores personalizados. Los datos de las sesiones se almacenan en la base de datos. La cookie de la sesión contiene el identificador de la sesión, que asocia el usuario con el navegador. Los metadatos del usuario se almacenan en la sesión, incluyendo su identificador, nombre de usuario y dirección de correo electrónico. El tiempo de vida de la sesión se controla desde la configuración de PHP en el servidor."

# a510b77b89c246eeb36a43676bdc72a3
#: ../../design/security.rst:49
msgid "Session fixation"
msgstr "Fijación de la sesión"

# 727b7c9f39844bd696f9800a5d399f73
#: ../../design/security.rst:50
msgid ""
"Elgg protects against session fixation by regenerating the session id when a"
" user logs in."
msgstr "Elgg le protege contra la fijación de la sesión mediante la generación de un nuevo identificador de sesión cada vez que accede al sitio."

# 61959290cb4f43dc99a40144e8ec1d9d
#: ../../design/security.rst:53
msgid "Session hijacking"
msgstr "Robo de sesión"

# 55ef520c3a7547b28af05073e999db42
#: ../../design/security.rst:54
msgid "This section is questionable."
msgstr "Esta sección resulta cuestionable."

# 769c6657b6db4f2ab114f26e95b26c1b
#: ../../design/security.rst:56
msgid ""
"Besides protecting against session fixation attacks, Elgg also has a further"
" check to try to defeat session hijacking if the session identifier is "
"compromised. Elgg stores a hash of the browser's user agent and a site "
"secret as a session fingerprint. The use of the site secret is rather "
"superfluous but checking the user agent might prevent some session hijacking"
" attempts."
msgstr "Además de proteger contra ataques de fijación de sesión, Elgg cuenta con una comprobación adicional que intenta evitar el robo de sesión si el identificador de la sesión se ve comprometido. Elgg almacena una suma (hash) de la información del navegador web («user agent») y un secreto del sitio como huella dactilar de la sesión. El uso del secreto del sitio es un poco superfluo, pero la comprobación de la información del navegador podría evitar algunos intentos de robo de sesión."

# ce2c23f52c254a698a6b5d8d3bb2f100
#: ../../design/security.rst:59
msgid "“Remember me” cookie"
msgstr "Cookie de «recordarme»"

# ee16519f70cd4a53964bc48ee0e3aeb8
#: ../../design/security.rst:60
msgid ""
"To allow users to stay logged in for a longer period of time regardless of "
"whether the browser has been closed, Elgg uses a cookie (called elggperm) "
"that contains what could be considered a super session identifier. This "
"identifier is stored in a cookies table. When a session is being initiated, "
"Elgg checks for the presence of the elggperm cookie. If it exists and the "
"session code in the cookie matches the code in the cookies table, the "
"corresponding user is automatically logged in."
msgstr "Para permitir que los usuario permanezcan conectados durante más tiempo independientemente de que hayan cerrado el navegador web, Elgg utiliza una cookie (llamada «elggperm») que contiene lo que podría considerarse como un identificador de «super sesión». Este identificador se almacena en una tabla de cookies. Si existe y el código de la sesión de la cookie se corresponde con el código de la tabla de la cookie, el usuario correspondiente se identifica en el sitio de manera automática."

# 5974a04cd0154762ad5ff41c6cf50810
#: ../../design/security.rst:63
msgid "Alternative authentication"
msgstr "Autenticación alternativa"

# 3662a2310e384720bf4421d7f43a51ba
#: ../../design/security.rst:65
msgid "This section is very hand-wavy"
msgstr "Esta sección no es muy precisa."

# 26e33fba466848da930ad4b27380624f
#: ../../design/security.rst:67
msgid ""
"To replace Elgg's default user authentication system, a plugin would have to"
" replace the default action with its own through ``register_action()``. It "
"would also have to register its own pam handler using "
"``register_pam_handler()``."
msgstr "Para que un complemento pueda substituir el sistema predeterminado de autenticación de Elgg, dicho complemento debe substituir la acción predeterminada con la suya propia mediante ``register_action()``. También tendría que registrar su propio manejador «pam» mediante ``register_pam_handler()``."

# 99dc13dbdece45bca1cdb81df2233f5d
#: ../../design/security.rst:69
msgid ""
"The ``pam_authenticate()`` function used to call the different modules has a"
" bug related to the importance variable."
msgstr "La función ``pam_authenticate()`` que se usa para llamar a los diferentes módulos tienen un error relacionado con la variable de importancia."

# e81f87a148f748c8af519761141c96f1
#: ../../design/security.rst:73
msgid "HTTPS"
msgstr "HTTPS"

# 1603d889e01a4776912d1cd4a4720462
#: ../../design/security.rst:75
msgid ""
"You must enable SSL support on your server for any of these techniques to "
"work."
msgstr "Debe activar la compatibilidad con SSL en su servidor para que las siguientes técnicas funcionen."

# 9fd2b895adb74cc28d716f71db023efc
#: ../../design/security.rst:77
msgid ""
"To make the login form submit over https, turn on login-over-ssl from Elgg’s"
" admin panel."
msgstr "Para que el formulario de acceso se envíe mediante HTTPS, active «login-over-ssl» desde el panel de administración de Elgg."

# ddb271c9e0184a02b049d05cfd18bdb9
#: ../../design/security.rst:79
msgid ""
"You can also serve your whole site over SSL by simply changing the site URL "
"to include “https” instead of just “http.”"
msgstr "Para que todo el sitio utilice SSL, cambie la URL del sitio para que en vez de «http» empiece por «https»."

# cd88a60a71d543318b3b360e1f576fde
#: ../../design/security.rst:82
msgid "XSS"
msgstr "XSS"

# 9ef86ad0f8f44bc4a69333395c34481e
#: ../../design/security.rst:84
msgid ""
"Filtering is used in Elgg to make XSS attacks more difficult. The purpose of"
" the filtering is to remove Javascript and other dangerous input from users."
msgstr "En Elgg se utilizan filtros para dificultar ataques de secuencias de órdenes en sitios cruzados (XSS). EL propósito del filtrado es eliminar JavaScript y otros datos de entrada peligrosos de los usuarios."

# 56f6e42ff7ad45809e0ce0c01aa19e68
#: ../../design/security.rst:86
msgid ""
"Filtering is performed through the function ``filter_tags()``. This function"
" takes in a string and returns a filtered string. It triggers a ``validate, "
"input`` plugin hook."
msgstr "El filtrado se realiza mediante la función ``filter_tags()``. Esta función recibe una cadena de texto y devuelve la misma cadena pero filtrada. La función desencadena un gancho de complementos ``validate, input``."

# 3a459878641a43dda0c611a9ea80c5e6
#: ../../design/security.rst:88
msgid ""
"By default Elgg comes with the htmLawed filtering code as a plugin. "
"Developers can drop in any additional or replacement filtering code as a "
"plugin."
msgstr "De manera predeterminada, Elgg se distribuye con el código del filtro «htmLawed» como complemento. Los desarrolladores pueden añadir más código de filtrado o substituir el existente mediante complementos."

# bcdcded54b1445fd85686ad1c5c3030d
#: ../../design/security.rst:90
msgid ""
"The ``filter_tags()`` function is called on any user input as long as the "
"input is obtained through a call to ``get_input()``. If for some reason a "
"developer did not want to perform the default filtering on some user input, "
"the ``get_input()`` function has a parameter for turning off filtering."
msgstr "A la función ``filter_tags()`` se la llama para todos los datos introducidos por usuarios siempre que dichos datos se obtuviesen mediante una llamada a la función ``get_input()``. Si por lo que sea no se quiera realizar ese filtrado con algún dato introducido por un usuario, la función ``get_input()`` cuenta con un parámetro que permite desactivar dicho filtrado."

# 156f23f0e4114deca361eb40633b1ee7
#: ../../design/security.rst:93
msgid "XSRF"
msgstr "XSRF"

# 1d2284b2e4d043c69edd1dcbb7ee6d1b
#: ../../design/security.rst:95
msgid ""
"Elgg generates security tokens to prevent XSRF attacks. These are embedded "
"in all forms and state-modifying AJAX requests as long as the correct API is"
" used. Read more in the :doc:`/guides/actions` developer guide."
msgstr "Elgg genera códigos de seguridad para evitar ataques de falsificación de petición en sitios cruzados (XSRF). Estos códigos se añaden a todos los formularios y solicitudes AJAX que modifiquen su estado, siempre que se usen las funciones correctas de la API. Para más información, véase  :doc:`/guides/actions`."

# 6d68bac59517409dbe6eedd3b1af40dd
#: ../../design/security.rst:98
msgid "SQL Injection"
msgstr "Inyección SQL"

# f819cdf82104430386a13110da0fa0ea
#: ../../design/security.rst:100
msgid ""
"Elgg’s API sanitizes all input before issuing DB queries. Read more in the "
":doc:`/design/database` design doc."
msgstr "La API de Elgg esteriliza todos los datos de entrada antes de ejecutar consultas contra la base de datos. Para más información, véase :doc:`/design/database`."

# 42cf927fd09e4ac7997e0f3165f43bc3
#: ../../design/security.rst:103
msgid "Privacy"
msgstr "Privacidad"

# 5efc7332f2c44b89a2bed1470c773871
#: ../../design/security.rst:105
msgid ""
"Elgg uses an ACL system to control which users have access to various pieces"
" of content. Read more in the :doc:`/design/database` design doc."
msgstr "Elgg usa un sistema de listas de control de acceso (ACL) para controlar qué usuarios tienen accedo a distintos contenidos. Para más información, véase :doc:`/design/database`."
