design.po 110 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337
  1. # SOME DESCRIPTIVE TITLE.
  2. # Copyright (C) 2013, Various
  3. # This file is distributed under the same license as the Elgg package.
  4. #
  5. # Translators:
  6. # Adrián Chaves Fernández <adriyetichaves@gmail.com>, 2014
  7. msgid ""
  8. msgstr ""
  9. "Project-Id-Version: Elgg Core\n"
  10. "Report-Msgid-Bugs-To: \n"
  11. "POT-Creation-Date: 2014-07-10 19:59-0700\n"
  12. "PO-Revision-Date: 2014-08-12 11:29+0000\n"
  13. "Last-Translator: Srokap <srokap@gmail.com>\n"
  14. "Language-Team: Spanish (http://www.transifex.com/projects/p/elgg-core/language/es/)\n"
  15. "MIME-Version: 1.0\n"
  16. "Content-Type: text/plain; charset=UTF-8\n"
  17. "Content-Transfer-Encoding: 8bit\n"
  18. "Language: es\n"
  19. "Plural-Forms: nplurals=2; plural=(n != 1);\n"
  20. # 5204f276d0164c328ee0c0b98d8019ee
  21. #: ../../design/amd.rst:2
  22. msgid "AMD"
  23. msgstr "AMD"
  24. # 0b590feef7174c228c9a4d569b579d84
  25. # c7c794db9a1941c5a79a9085d69c27e5
  26. # 485c58065ccc4fea9085d86971630e26
  27. #: ../../design/amd.rst:8 ../../design/database.rst:10
  28. #: ../../design/events.rst:8
  29. msgid "Overview"
  30. msgstr "Resumen"
  31. # 76d78144148443faa97cda4d78793168
  32. #: ../../design/amd.rst:10
  33. msgid ""
  34. "There are two JavaScript system in Elgg: the deprecated 1.8 system, and the "
  35. "newer `AMD (Asynchronous Module Definition) "
  36. "<http://requirejs.org/docs/whyamd.html>`_ compatible system introduced in "
  37. "1.9."
  38. 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."
  39. # b6d4c89cb49b4b32ae6e487ec5314433
  40. #: ../../design/amd.rst:13
  41. msgid "This discusses the benefits of using AMD in Elgg."
  42. msgstr "A continuación se discuten los beneficios de usar AMD en Elgg."
  43. # 5bdbd3befccb4f2d812d30dd94e60dad
  44. #: ../../design/amd.rst:16
  45. msgid "Why AMD?"
  46. msgstr "¿Por qué AMD?"
  47. # ab07c8882a7e4d9f808dea2b9be4e17f
  48. #: ../../design/amd.rst:18
  49. msgid ""
  50. "We have been working hard to make Elgg's JavaScript more maintainable and "
  51. "useful. We made some strides in 1.8 with the introduction of the \"elgg\" "
  52. "JavaScript object and library, but have quickly realized the approach we "
  53. "were taking was not scalable. The size of `JS on the web is growing "
  54. "<http://httparchive.org/trends.php?s=All&minlabel=Feb+11+2011&maxlabel=Feb+1+2013#bytesJS&reqJS>`_"
  55. " quickly, and JS in Elgg is growing too. We want Elgg to be able to offer a "
  56. "solution that makes JS development as productive and maintainable as "
  57. "possible going forward."
  58. 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."
  59. # 35a7a8220c394b378e31c033ce858d7c
  60. #: ../../design/amd.rst:25
  61. msgid ""
  62. "The `reasons to choose AMD <http://requirejs.org/docs/whyamd.html>`_ are "
  63. "plenteous and well-documented. Let's highlight just a few of the most "
  64. "relevant reasons as they relate to Elgg specifically."
  65. 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."
  66. # 229bbd0492aa4cdba65859c17c0cd0ab
  67. #: ../../design/amd.rst:30
  68. msgid "1. Simplified dependency management"
  69. msgstr "1. Simplifica la gestión de dependencias."
  70. # 6677d64a7f18466ab8510fe534435751
  71. #: ../../design/amd.rst:31
  72. msgid ""
  73. "AMD modules load asynchronously and execute as soon as their dependencies "
  74. "are available, so this eliminates the need to specify \"priority\" and "
  75. "\"location\" when registering JS libs in Elgg. Also, you don't need to worry"
  76. " about explicitly loading a module's dependencies in PHP. The AMD loader "
  77. "(RequireJS in this case) takes care of all that hassle for you. It's also "
  78. "possible have `text dependencies <http://requirejs.org/docs/api.html#text>`_"
  79. " with the RequireJS text plugin, so client-side templating should be a "
  80. "breeze."
  81. 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."
  82. # 4d0371ad44e64db2aef5d5bd91c4464c
  83. #: ../../design/amd.rst:39
  84. msgid "2. AMD works in all browsers. Today."
  85. msgstr "2. AMD ya funciona en todos los navegadores."
  86. # 80ee691f32654694bf2840081719f8af
  87. #: ../../design/amd.rst:40
  88. msgid ""
  89. "Elgg developers are already writing lots of JavaScript. We know you want to "
  90. "write more. We cannot accept waiting 5-10 years for a native JS modules "
  91. "solution to be available in all browsers before we can organize our "
  92. "JavaScript in a maintainable way."
  93. 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."
  94. # 9a5f9818f2154d799b33e2f2151e7f64
  95. #: ../../design/amd.rst:45
  96. msgid "3. You do not need a build step to develop in AMD."
  97. msgstr "3. No hace falta ningún paso de construcción para desarrollar con AMD."
  98. # 652869c0e3ad4791b5e4c75ef60c5660
  99. #: ../../design/amd.rst:46
  100. msgid ""
  101. "We like the edit-refresh cycle of web development. We wanted to make sure "
  102. "everyone developing in Elgg could continue experiencing that joy. "
  103. "Synchronous module formats like Closure or CommonJS just weren't an option "
  104. "for us. But even though AMD doesn't require a build step, *it is still very "
  105. "build-friendly*. Because of the ``define()`` wrapper, it's possible to "
  106. "concatenate multiple modules into a single file and ship them all at once in"
  107. " a production environment. [*]_"
  108. 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. [*]_"
  109. # 4d46224e885b463a855710224151c7ad
  110. #: ../../design/amd.rst:52
  111. msgid ""
  112. "AMD is a battle-tested and well thought out module loading system for the "
  113. "web today. We're very thankful for the work that has gone into it, and are "
  114. "excited to offer it as the standard solution for JavaScript development in "
  115. "Elgg starting with Elgg 1.9."
  116. 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."
  117. # afe8ccdaaa104adf8c7a544b4d9733d7
  118. #: ../../design/amd.rst:56
  119. msgid ""
  120. "This is not currently supported by Elgg core, but we'll be looking into it "
  121. "since reducing round-trips is critical for a good first-view experience, "
  122. "especially on mobile devices."
  123. 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."
  124. # 21b4143490704855a9bf4843495dbdc7
  125. #: ../../design/database.rst:2
  126. msgid "Database"
  127. msgstr "Base de datos"
  128. # d065fc58edc2409cb7ed570a8d4b180d
  129. #: ../../design/database.rst:4
  130. msgid "A thorough discussion of Elgg's data model design and motivation."
  131. msgstr "Una discusión a conciencia del diseño y la motivación del modelo de datos de Elgg."
  132. # b0271b49ae174dabb31fecb7281f2e36
  133. #: ../../design/database.rst:12
  134. msgid ""
  135. "In Elgg, everything runs on a unified data model, based on atomic units of "
  136. "data called entities."
  137. msgstr "En Elgg, todo funciona sobre un modelo de datos unificado, basado en unidades atómicas de datos denominadas «entidades»."
  138. # df247bcaee094cb99d7c66ae0b8f061d
  139. #: ../../design/database.rst:15
  140. msgid ""
  141. "Plugins are strongly discouraged from dealing with database issues "
  142. "themselves, which makes for a more stable system that also has visible "
  143. "benefits for the end user. Content created by different plugins can be mixed"
  144. " together in consistent ways, which are programmed using generic principles "
  145. "- in other words, plugins are faster to develop, and are at the same time "
  146. "much more powerful."
  147. 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."
  148. # d55fa514064c41f9a4a57662964b9809
  149. #: ../../design/database.rst:22
  150. msgid ""
  151. "Every entity in the system inherits the ``ElggEntity`` class. This class "
  152. "controls access permissions, ownership and so on."
  153. msgstr "Toda entidad del sistema hereda de la clase ``ElggEntity``. Esta clase controla los permisos de acceso, los propietarios y demás."
  154. # 2b1880374e654e9dafa44bd012a3e30a
  155. #: ../../design/database.rst:27
  156. msgid "You can extend entities with extra information in two ways:"
  157. msgstr "Existen dos maneras de extender las entidades con información adicional:"
  158. # b43df8c79bac485fadab850b6c63c5bc
  159. #: ../../design/database.rst:30
  160. msgid "``Metadata``: This is information you can add to an object to"
  161. msgstr "``Metadatos``: Puedes añadirle esta información a un objeto para"
  162. # 3d73589de44648e2a47142806ec9ea3a
  163. #: ../../design/database.rst:30
  164. msgid ""
  165. "describe it further. For example, tags, an ISBN number, a file location or "
  166. "language information would fall under metadata."
  167. 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."
  168. # d02ba8c1732041f6bb07937a299e48e6
  169. #: ../../design/database.rst:34
  170. msgid "``Annotations``: Information generally added by third parties which"
  171. msgstr "``Anotaciones``: Información añadida generalmente por terceros y que"
  172. # f8f48c0f141c4ec4ac3692e225f0e01d
  173. #: ../../design/database.rst:33
  174. msgid ""
  175. "adds to the information provided by the entity. For example, ratings are "
  176. "annotations (and comments were before 1.9)."
  177. 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)."
  178. # 839b8c38492744d9acc23ad425a1b7b0
  179. #: ../../design/database.rst:37
  180. msgid "Entities"
  181. msgstr "Entidades"
  182. # f60f4b3d0f874633b64e88f0026edac7
  183. #: ../../design/database.rst:39
  184. msgid "ElggEntity is the base class for the Elgg data model."
  185. msgstr "«ElggEntity» es la clase base del modelo de datos de Elgg."
  186. # e46ff4ae57cc48e6ac1433352bfe2923
  187. #: ../../design/database.rst:42
  188. msgid "Users, Objects, Groups, Sites"
  189. msgstr "Usuarios, objetos, grupos y sitios"
  190. # 3e5abfb8d6784427be2edefc5d0b4436
  191. #: ../../design/database.rst:44
  192. msgid ""
  193. "``ElggEntity`` has four main specializations, which provide extra properties"
  194. " and methods to more easily handle different kinds of data."
  195. 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."
  196. # 8426fe69974242f789b7ee8bd0cfdc9a
  197. #: ../../design/database.rst:47
  198. msgid ""
  199. "``ElggObject``: content like blog posts, uploaded files and bookmarks "
  200. "``ElggUser``: a system user ``ElggSite``: each Elgg site within an Elgg "
  201. "installation ``ElggGroup``: multi-user collaborative systems (called "
  202. "\"Communities\" in prior versions of Elgg)"
  203. 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)."
  204. # d4e1f7c14e764e409f4fa81d5dcaf03e
  205. #: ../../design/database.rst:53
  206. msgid ""
  207. "The benefit of such an approach is that, apart from modelling data with "
  208. "greater ease, a common set of functions is available to handle objects, "
  209. "regardless of their (sub)type."
  210. 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."
  211. # e42770f6ffcb4fef83e7b854beae200e
  212. #: ../../design/database.rst:57
  213. msgid ""
  214. "Each of these have their own properties that they bring to the table: "
  215. "ElggObjects have a title and description, ElggUsers have a username and "
  216. "password, and so on. However, because they all inherit ElggEntity, they each"
  217. " have a number of core properties and behaviours in common."
  218. 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."
  219. # 81a676f485c648668a0df60ca8545962
  220. #: ../../design/database.rst:62
  221. msgid "A numeric Globally Unique IDentifier (See `GUIDs`_)."
  222. msgstr "Un identificador numérico único (véase `Identificadores únicos`_)."
  223. # 5ad0f0713f9e43fb82731af9fef45e52
  224. #: ../../design/database.rst:63
  225. msgid ""
  226. "Access permissions. (When a plugin requests data, it never gets to touch "
  227. "data that the current user doesn't have permission to see.)"
  228. msgstr "Permisos de acceso. Cuando un complemento solicita datos, no puede conseguir acceso a datos para los que el usuario actual no tiene permisos."
  229. # 553a041938354497a2ee8581968ef3a2
  230. #: ../../design/database.rst:65
  231. msgid ""
  232. "An arbitrary subtype. For example, a blog post is an ElggObject with a "
  233. "subtype of \"blog\". Subtypes aren't predefined; they can be any unique way "
  234. "to describe a particular kind of entity. \"blog\", \"forum\", \"foo\", "
  235. "\"bar\", \"loafofbread\" and \"pyjamas\" are all valid subtypes."
  236. 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»."
  237. # bb48f34710a74c27b0d11b2342e62c5c
  238. #: ../../design/database.rst:69
  239. msgid "An owner."
  240. msgstr "Un propietario."
  241. # 43aa0e2029264badbe246665b2fdaf82
  242. #: ../../design/database.rst:70
  243. msgid "The site that the entity belongs to."
  244. msgstr "El sitio al que pertenece la entidad."
  245. # b09bbf570be246d680b6acc90a719202
  246. #: ../../design/database.rst:71
  247. msgid ""
  248. "A container, usually used to associate a group's content with the group."
  249. msgstr "Un contenedor, usado habitualmente para asociar el contenido de un grupo con el grupo."
  250. # 55f1299f2ae84109bb92abb8c85f988f
  251. #: ../../design/database.rst:74
  252. msgid "GUIDs"
  253. msgstr "Identificadores únicos"
  254. # cff3052e50054cc2a29925219da40af1
  255. #: ../../design/database.rst:76
  256. msgid ""
  257. "A GUID is an integer that uniquely identifies every entity in an Elgg "
  258. "installation (a Globally Unique IDentifier). It's assigned automatically "
  259. "when the entity is first saved and can never be changed."
  260. 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."
  261. # 1b4a09d93ef14028bdd939da35973c64
  262. #: ../../design/database.rst:80
  263. msgid ""
  264. "Some Elgg API functions work with GUIDs instead of ``ElggEntity`` objects."
  265. msgstr "Algunas funciones de la API de Elgg funcionan con identificadores en vez de con instancias de ``ElggEntity``."
  266. # 53ae8b6be506461e9206a4b94d4c1a70
  267. #: ../../design/database.rst:83
  268. msgid "ElggObject"
  269. msgstr "ElggObject"
  270. # a3da59870faa486a9bb78585135714df
  271. #: ../../design/database.rst:85
  272. msgid ""
  273. "The ``ElggObject`` entity type represents arbitrary content within an Elgg "
  274. "install; things like blog posts, uploaded files, etc."
  275. 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."
  276. # c271343ce67e4dc29c78e457708d3c87
  277. #: ../../design/database.rst:88
  278. msgid "Beyond the standard ElggEntity properties, ElggObjects also support:"
  279. msgstr "Además de las propiedades estándar de ``ElggEntity``, ``ElggObject`` ofrece las siguientes propiedades:"
  280. # b3f9cb500eac4cd5a020e9fa316b4486
  281. #: ../../design/database.rst:90
  282. msgid "``title`` The title of the object (HTML escaped text)"
  283. msgstr "``title``: El título el objeto en texto escapado para HTML."
  284. # b83f122514d9472e929a74b00daee86b
  285. #: ../../design/database.rst:91
  286. msgid "``description`` A description of the object (HTML)"
  287. msgstr "``description`` Una descripción del objeto en HTML."
  288. # b011c9653a394917be5088685335b968
  289. #: ../../design/database.rst:93
  290. msgid "Most other data about the object is generally stored via metadata."
  291. msgstr "La mayor parte del resto de los datos sobre el objeto se almacenan mediante metadatos."
  292. # e9ab5b9005804759bebc4a51c7e48fb6
  293. #: ../../design/database.rst:96
  294. msgid "ElggUser"
  295. msgstr "ElggUser"
  296. # 353f55f7bca846eea415c98fd4d72954
  297. #: ../../design/database.rst:98
  298. msgid ""
  299. "The ``ElggUser`` entity type represents users within an Elgg install. These "
  300. "will be set to disabled until their accounts have been activated (unless "
  301. "they were created from within the admin panel)."
  302. 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."
  303. # 71e6ec0e9bd74afa8b91ced74afb841a
  304. #: ../../design/database.rst:102
  305. msgid "Beyond the standard ElggEntity properties, ElggUsers also support:"
  306. msgstr "Además de las propiedades estándar de ``ElggEntity``, ``ElggUser`` ofrece las siguientes propiedades:"
  307. # e8275330144d4c3aa97d17d64a366292
  308. #: ../../design/database.rst:104
  309. msgid "``name`` The user's plain text name. e.g. \"Hugh Jackman\""
  310. msgstr "``name``: El nombre del usuario en texto plano. Por ejemplo: «Antonio García Fernández»."
  311. # 45b371f1a97e4af2bfee711560922031
  312. #: ../../design/database.rst:105
  313. msgid "``username`` Their login name. E.g. \"hjackman\""
  314. msgstr "``username``: Nombre con el que el usuario accede al sistema. Por ejemplo, «antoniogf»."
  315. # bea42d09ab1d40b782db091e684d915b
  316. #: ../../design/database.rst:106
  317. msgid "``password`` A hashed version of their password"
  318. msgstr "``password``: Una suma (hash) de la contraseña."
  319. # 003f1b46370a4e9ba016c12c890f833e
  320. #: ../../design/database.rst:107
  321. msgid "``salt`` The salt that their password has been hashed with"
  322. msgstr "``salt``: El código aleatorio (salt) con el que se creó la suma de la contraseña."
  323. # f7f848a65e2844759b24623655f79549
  324. #: ../../design/database.rst:108
  325. msgid "``email`` Their email address"
  326. msgstr "``email``: La dirección de correo electrónico."
  327. # eafcf34d65b54d8ebf35221fd7493768
  328. #: ../../design/database.rst:109
  329. msgid "``language`` Their default language code."
  330. msgstr "``language``: El código del idioma predeterminado."
  331. # 6eaf354309fb425bb112c8d881e79b92
  332. #: ../../design/database.rst:110
  333. msgid "``code`` Their session code (moved to a separate table in 1.9)."
  334. msgstr "``code``: El código de la sesión, que a partir de la versión 1.9 está en una tabla separada."
  335. # 3aa9b85d66b54d8d8e2be77171d2cbba
  336. #: ../../design/database.rst:111
  337. msgid "``last_action`` The UNIX timestamp of the last time they loaded a page"
  338. msgstr "``last_action``: La fecha en formato UNIX de la última vez que el usuario cargó una página."
  339. # 9a3a7f93b12b4f28b1d71bc67da568f1
  340. #: ../../design/database.rst:112
  341. msgid "``prev_last_action`` The previous value of ``last_action``"
  342. msgstr "``prev_last_action``: El valor anterior de ``last_action``."
  343. # bccc483077b74593b38479c2bfa6c0bd
  344. #: ../../design/database.rst:113
  345. msgid "``last_login`` The UNIX timestamp of their last log in"
  346. msgstr "``last_login``: Fecha en formato UNIX de la última vez que el usuario accedió al sistema."
  347. # 8d3ea590d5af4f05a1c929b0a5a9fb3b
  348. #: ../../design/database.rst:114
  349. msgid "``prev_last_login`` the previous value of ``last_login``"
  350. msgstr "``prev_last_login``: El valor anterior de ``last_login``."
  351. # aaba7a53c43d4a2b8ea2d494226fe447
  352. #: ../../design/database.rst:117
  353. msgid "ElggSite"
  354. msgstr "ElggSite"
  355. # b801a6ef258d4b309499c7e624b46b14
  356. #: ../../design/database.rst:119
  357. msgid ""
  358. "The ``ElggSite`` entity type represents sites within your Elgg install. Most"
  359. " installs will have only one."
  360. 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."
  361. # 01e26641aeeb4c9292a48977a2a3596e
  362. #: ../../design/database.rst:122
  363. msgid "Beyond the standard ElggEntity properties, ElggSites also support:"
  364. msgstr "Además de las propiedades estándar de ``ElggEntity``, ``ElggSite`` ofrece las siguientes propiedades:"
  365. # 551f9074aecb4f2c90fb0a3e724f9322
  366. #: ../../design/database.rst:124
  367. msgid "``name`` The site name"
  368. msgstr "``name``: El nombre del sitio."
  369. # 9cab86ca5fab415aaa0e26af2f124e01
  370. #: ../../design/database.rst:125
  371. msgid "``description`` A description of the site"
  372. msgstr "``description``: Una descripción del sitio."
  373. # 773ef170a6f74a7d9b667483a4800d0d
  374. #: ../../design/database.rst:126
  375. msgid "``url`` The address of the site"
  376. msgstr "``url``: La dirección URL del sitio."
  377. # 5dc079c8a21d4b69b13953d61ae8e6ef
  378. #: ../../design/database.rst:129
  379. msgid "ElggGroup"
  380. msgstr "ElggGroup"
  381. # 660f7a6365224c73b0ed297c46b3c81d
  382. #: ../../design/database.rst:131
  383. msgid ""
  384. "The ``ElggGroup`` entity type represents an association of Elgg users. Users"
  385. " can join, leave, and post content to groups."
  386. 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."
  387. # 4e85013a9f8743488b3c773d6e3b545e
  388. #: ../../design/database.rst:134
  389. msgid "Beyond the standard ElggEntity properties, ElggGroups also support:"
  390. msgstr "Además de las propiedades estándar de ``ElggEntity``, ``ElggGroup`` ofrece las siguientes propiedades:"
  391. # 397d4df71f77431fb6124e2731140b7f
  392. #: ../../design/database.rst:136
  393. msgid "``name`` The group's name (HTML escaped text)"
  394. msgstr "``name``: El nombre del grupo en texto escapado para HTML."
  395. # 87a5b6a9b0bf4d5298a929525e16c2a0
  396. #: ../../design/database.rst:137
  397. msgid "``description`` A description of the group (HTML)"
  398. msgstr "``description`` Una descripción del grupo en HTML."
  399. # fb7166acdf1643ac85868273ab333476
  400. #: ../../design/database.rst:139
  401. msgid "``ElggGroup`` has addition methods to manage content and membership."
  402. msgstr "``ElggGroup`` cuenta con métodos adicionales para gestionar su contenido y usuarios."
  403. # 81c803f7a894402ab91bf33b51c56f52
  404. #: ../../design/database.rst:142
  405. msgid "The Groups plugin"
  406. msgstr "El complemento de grupos"
  407. # 9c67afb21f9a43839e0935f3046f7255
  408. #: ../../design/database.rst:144
  409. msgid ""
  410. "Not to be confused with the entity type ``ElggGroup``, Elgg comes with a "
  411. "plugin called \"Groups\" that provides a default UI/UX for site users to "
  412. "interact with groups. Each group is given a discussion forum and a profile "
  413. "page linking users to content within the group."
  414. 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."
  415. # 881a7a5563974dcfb17e55451c953c94
  416. #: ../../design/database.rst:149
  417. msgid ""
  418. "You can alter the user experience via the traditional means of extending "
  419. "plugins or completely replace the Groups plugin with your own."
  420. 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."
  421. # 011a94960b444c579273d32f7050e111
  422. #: ../../design/database.rst:152
  423. msgid ""
  424. "Because ``ElggGroup`` can be subtyped like all other ElggEntities, you can "
  425. "have multiple types of groups running on the same site."
  426. 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."
  427. # 3da579aece7b4391ab0743e5cc718302
  428. #: ../../design/database.rst:156
  429. msgid "Writing a group-aware plugin"
  430. msgstr "Desarrollar un complemento compatible con grupos"
  431. # 977a22d171b742bc843cefcd30f61d0d
  432. #: ../../design/database.rst:158
  433. msgid ""
  434. "Plugin owners need not worry too much about writing group-aware "
  435. "functionality, but there are a few key points:"
  436. 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:"
  437. # 2dcd15eaf74449e8bf6266d6d2bec693
  438. #: ../../design/database.rst:162
  439. msgid "Adding content"
  440. msgstr "Añadir contenido"
  441. # f41a9ad6d3d44d8a97f5d902dc6bda22
  442. #: ../../design/database.rst:164
  443. msgid ""
  444. "By passing along the group as ``container_guid`` via a hidden input field, "
  445. "you can use a single form and action to add both user and group content."
  446. 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."
  447. # 68affa5ec4a84aadb404fafb9021d21a
  448. #: ../../design/database.rst:167
  449. msgid ""
  450. "Use `can_write_to_container "
  451. "<http://reference.elgg.org/entities_8php.html#16a972909c7cb75f646cb707be001a6f>`_"
  452. " to determine whether or not the current user has the right to add content "
  453. "to a group."
  454. 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."
  455. # 3240b1d414f54fd7936157cb8b980f57
  456. #: ../../design/database.rst:172
  457. msgid ""
  458. "Be aware that you will then need to pass the container GUID or username to "
  459. "the page responsible for posting and the accompanying value, so that this "
  460. "can then be stored in your form as a hidden input field, for easy passing to"
  461. " your actions. Within a \"create\" action, you'll need to take in this input"
  462. " field and save it as a property of your new element (defaulting to the "
  463. "current user's container):"
  464. 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:"
  465. # 09df194b879641988ab8709640709b7a
  466. #: ../../design/database.rst:200
  467. msgid "Usernames and page ownership"
  468. msgstr "Nombres de usuario y propiedad de las páginas"
  469. # 0c7510cb6b0c477c9973c7944693a917
  470. #: ../../design/database.rst:202
  471. msgid ""
  472. "Groups have a simulated username of the form *group:\\ GUID*, which you can "
  473. "get the value of by checking ``$group->username``. If you pass this username"
  474. " to a page on the URL line as part of the ``username`` variable (i.e., "
  475. "``/yourpage?username=group:nnn``), Elgg will automatically register that "
  476. "group as being the owner of the page (unless overridden)."
  477. 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)."
  478. # df4e47a07a3f47f5824b1bad14de7e92
  479. #: ../../design/database.rst:209
  480. msgid "Juggling users and groups"
  481. msgstr "Alternando entre usuarios y grupos"
  482. # b0535a18fe2e44ae88c59579d7f88a86
  483. #: ../../design/database.rst:211
  484. msgid ""
  485. "In fact, ``[[Engine/DataModel/Entities/ElggGroup|ElggGroup]]`` simulates "
  486. "most of the methods of ``[[Engine/DataModel/Entities/ElggUser|ElggUser]]``. "
  487. "You can grab the icon, name etc using the same calls, and if you ask for a "
  488. "group's friends, you'll get its members. This has been designed specifically"
  489. " for you to alternate between groups and users in your code easily."
  490. 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."
  491. # 29e3e8e560f0458bb44296026e434a35
  492. #: ../../design/database.rst:219
  493. msgid "Menu options"
  494. msgstr "Opciones de menú"
  495. # 643d116350d943928719e9ce7ac8d3f2
  496. #: ../../design/database.rst:221
  497. msgid "***This section is deprecated as of Elgg 1.8***"
  498. msgstr "***Esta sección está obsoleta desde Elgg 1.8***"
  499. # cde6f5378d134b8db8c9cfffd971e09b
  500. #: ../../design/database.rst:223
  501. msgid ""
  502. "The final piece of the puzzle, for default groups, is to add a link to your "
  503. "functionality from the group's profile. Here we'll use the file plugin as an"
  504. " example."
  505. 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."
  506. # 2aafd44b0fa54b549aba853cd6e223a7
  507. #: ../../design/database.rst:227
  508. msgid ""
  509. "This involves creating a view within your plugin - in this case file/menu - "
  510. "which will extend the group's menu. File/menu consists of a link within "
  511. "paragraph tags that points to the file repository of the page\\_owner():"
  512. 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()``:"
  513. # bf8877d2100b4974b0eaef77091605a6
  514. #: ../../design/database.rst:240
  515. msgid ""
  516. "You can then extend the group's menu view with this one, within your "
  517. "plugin's input function (in this case file\\_init):"
  518. 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``):"
  519. # 6a22a9e913aa44a6bffb1e13bbc6560f
  520. #: ../../design/database.rst:248
  521. msgid "Ownership"
  522. msgstr "Propiedad"
  523. # de43e41c1c88408da42624fb07733569
  524. #: ../../design/database.rst:250
  525. msgid ""
  526. "Entities have a ``owner_guid`` GUID property, which defines its owner. "
  527. "Typically this refers to the GUID of a user, although sites and users "
  528. "themselves often have no owner (a value of 0)."
  529. 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``)."
  530. # 3ccb21a705d741069ee768863c9da2e6
  531. #: ../../design/database.rst:254
  532. msgid ""
  533. "The ownership of an entity dictates, in part, whether or not you can access "
  534. "or edit that entity."
  535. msgstr "La propiedad de una entidad determina, en parte, si un usuario puede o no acceder a la entidad o modificarla."
  536. # 34590979d745448b94fdce76c4af0194
  537. #: ../../design/database.rst:258
  538. msgid "Containers"
  539. msgstr "Contenedores"
  540. # 7ce79508b7234a6e8d898311f2ab94c9
  541. #: ../../design/database.rst:260
  542. msgid ""
  543. "In order to easily search content by group or by user, content is generally "
  544. "set to be \"contained\" by either the user who posted it, or the group to "
  545. "which the user posted. This means the new object's ``container_guid`` "
  546. "property will be set to the GUID of the current ElggUser or the target "
  547. "ElggGroup."
  548. 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."
  549. # d905d86c9c6e411e9ea89bbec4ef677e
  550. #: ../../design/database.rst:265
  551. msgid ""
  552. "E.g., three blog posts may be owned by different authors, but all be "
  553. "contained by the group they were posted to."
  554. 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."
  555. # 03515ea21ccb4a398c7bf47e92671878
  556. #: ../../design/database.rst:268
  557. msgid ""
  558. "Note: This is not always true. Comment entities are contained by the object "
  559. "commented upon, and in some 3rd party plugins the container may be used to "
  560. "model a parent-child relationship between entities (e.g. a \"folder\" object"
  561. " containing a file object)."
  562. 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»)."
  563. # 881daf4f5efa41cc8de6f76861e391c3
  564. #: ../../design/database.rst:274
  565. msgid "Annotations"
  566. msgstr "Anotaciones"
  567. # 8be571650c944236b3b8b5ced6bafbb0
  568. #: ../../design/database.rst:276
  569. msgid ""
  570. "Annotations are pieces of data attached to an entity that allow users to "
  571. "leave ratings, or other relevant feedback. A poll plugin might register "
  572. "votes as annotations. Before Elgg 1.9, comments and group discussion replies"
  573. " were stored as annotations."
  574. 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."
  575. # 26e51ee5748641d5847328fc9dc7baf8
  576. #: ../../design/database.rst:281
  577. msgid "Annotations are stored as instances of the ``ElggAnnotation`` class."
  578. msgstr "Las anotaciones se almacenan como instancias de la clase ``ElggAnnotation``."
  579. # 6609e373608941a18c4ec753ae4cdc2b
  580. #: ../../design/database.rst:283
  581. msgid "Each annotation has:"
  582. msgstr "Cada anotación cuenta con:"
  583. # 01262200192c4c50a2ff474fb347ae9d
  584. #: ../../design/database.rst:285
  585. msgid "An internal annotation type (like *comment*)"
  586. msgstr "Un tipo de anotación interno (como *comment*, «comentario»)."
  587. # 5486743ad2d3479c841acdfe6326e155
  588. #: ../../design/database.rst:286
  589. msgid "A value (which can be a string or integer)"
  590. msgstr "Un valor (que puede ser una cadena de texto o un número entero)."
  591. # d1ed86269ac04b8eafffcc9a85b88e88
  592. #: ../../design/database.rst:287
  593. msgid "An access permission distinct from the entity it's attached to"
  594. msgstr "Un permiso de acceso distinto del de la entidad a la que está anexado."
  595. # af8393e28146446c8e1e1cd341638051
  596. #: ../../design/database.rst:288
  597. msgid "An owner"
  598. msgstr "Un propietario."
  599. # 39b8f45a7b2543ee8e6f992fbb1042cd
  600. #: ../../design/database.rst:291
  601. msgid "Adding an annotation"
  602. msgstr "Añadir una anotación"
  603. # 609085b073024f0497f05696ce5f4c86
  604. #: ../../design/database.rst:293
  605. msgid ""
  606. "The easiest way to annotate is to use the ``annotate`` method on an entity, "
  607. "which is defined as:"
  608. 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:"
  609. # 4317483959814b3eb990c844e1f71a48
  610. #: ../../design/database.rst:306
  611. msgid "For example, to leave a rating on an entity, you might call:"
  612. msgstr "Por ejemplo, para dejar una puntuación en una entidad, puede llamar a:"
  613. # 61d1d6b937a84490b855837c08047ec0
  614. #: ../../design/database.rst:313
  615. msgid "Reading annotations"
  616. msgstr "Leer anotaciones"
  617. # 2f39cf059daa4c9099c98a594c5889ed
  618. #: ../../design/database.rst:315
  619. msgid ""
  620. "To retrieve annotations on an object, you can call the following method:"
  621. msgstr "Para obtener las anotaciones de un objeto, puedes llamar al método siguiente:"
  622. # 72ae37c25e9e4ce38801da54f0449cf4
  623. #: ../../design/database.rst:326
  624. msgid ""
  625. "If your annotation type largely deals with integer values, a couple of "
  626. "useful mathematical functions are provided:"
  627. 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:"
  628. # 8d8f4a1947f7420f8236167b8214c33b
  629. #: ../../design/database.rst:337
  630. msgid "Useful helper functions"
  631. msgstr "Funciones de asistencia útiles"
  632. # 8f75cac6632743efb28d9eda0ee1c5b6
  633. #: ../../design/database.rst:340
  634. msgid "Comments"
  635. msgstr "Comentarios"
  636. # 64e29e7370404c35835471ef0f92f311
  637. #: ../../design/database.rst:342
  638. msgid ""
  639. "If you want to provide comment functionality on your plugin objects, the "
  640. "following function will provide the full listing, form and actions:"
  641. 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:"
  642. # 2d6efd92149f4991ae7f7f56a9f1f633
  643. #: ../../design/database.rst:351
  644. msgid "Metadata"
  645. msgstr "Metadatos"
  646. # 704ddf10fb3e4b249019bf4f9b7f35ea
  647. #: ../../design/database.rst:353
  648. msgid ""
  649. "Metadata in Elgg allows you to store extra data on an ``entity`` beyond the "
  650. "built-in fields that entity supports. For example, ``ElggObjects`` only "
  651. "support the basic entity fields plus title and description, but you might "
  652. "want to include tags or an ISBN number. Similarly, you might want users to "
  653. "be able to save a date of birth."
  654. 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."
  655. # ba477369617d405f9f065f554bce29c8
  656. #: ../../design/database.rst:359
  657. msgid ""
  658. "Under the hood, metadata is stored as an instance of the ``ElggMetadata`` "
  659. "class, but you don't need to worry about that in practice (although if "
  660. "you're interested, see the ``ElggMetadata`` class reference). What you need "
  661. "to know is:"
  662. 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:"
  663. # b35069a6c2094fc6acb8de47f62fe424
  664. #: ../../design/database.rst:364
  665. msgid ""
  666. "Metadata has an owner and access ID, both of which may be different to the "
  667. "owner of the entity it's attached to"
  668. 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."
  669. # 9a0126cd48204ff8a72a3735865852a7
  670. #: ../../design/database.rst:366
  671. msgid ""
  672. "You can potentially have multiple items of each type of metadata attached to"
  673. " a single entity"
  674. msgstr "Usted podría tener varios elementos de cata tipo de metadatos anexados a una única entidad."
  675. # b6e77e4505194a8c8979abefb651d414
  676. #: ../../design/database.rst:370
  677. msgid "The simple case"
  678. msgstr "El caso más simple"
  679. # 26795af0ba2f46158e357f2285744014
  680. # 604768e0e4a44c98929e2aa27f233fdc
  681. #: ../../design/database.rst:373 ../../design/database.rst:442
  682. msgid "Adding metadata"
  683. msgstr "Añadir metadatos"
  684. # 4cf58e43021642a88a5e6a4e00119ada
  685. #: ../../design/database.rst:375
  686. msgid "To add a piece of metadata to an entity, just call:"
  687. msgstr "Para añadir un metadato a una entidad, llama a:"
  688. # bbe1155ab2594fc0a98b73f3ccf4bd85
  689. #: ../../design/database.rst:381
  690. msgid "For example, to add a date of birth to a user:"
  691. msgstr "Por ejemplo, para añadir una fecha de cumpleaños a un usuario:"
  692. # 136643eb57c84161acf0cbe8b4eb7f1d
  693. #: ../../design/database.rst:387
  694. msgid "Or to add a couple of tags to an object:"
  695. msgstr "O para añadir un par de etiquetas a un objeto:"
  696. # e941581fd34347c0872bf81bfcdc0c09
  697. #: ../../design/database.rst:393
  698. msgid "When adding metadata like this:"
  699. msgstr "Al añadir metadatos mediante el procedimiento anterior:"
  700. # 16a78c0d258b45a6ac2b189565930c3d
  701. #: ../../design/database.rst:395
  702. msgid "The owner is set to the currently logged-in user"
  703. msgstr "El usuario actual se convierte en el propietario de los metadatos."
  704. # 7d68837a23a4407ab19c1ab27e3b699b
  705. #: ../../design/database.rst:396
  706. msgid "Access permissions are inherited from the entity"
  707. msgstr "Los permisos de acceso se heredan de la entidad."
  708. # 790ed3857c044e479317fa7357158ca3
  709. #: ../../design/database.rst:397
  710. msgid "Reassigning a piece of metadata will overwrite the old value"
  711. msgstr "Al reasignar un metadato, este substituye cualquier valor previo de ese mismo metadato."
  712. # 98c96d395e6b4df28f9140e95191b789
  713. #: ../../design/database.rst:399
  714. msgid ""
  715. "This is suitable for most purposes. Be careful to note which attributes are "
  716. "metadata and which are built in to the entity type that you are working "
  717. "with. You do not need to save an entity after adding or updating metadata. "
  718. "You do need to save an entity if you have changed one of its built in "
  719. "attributes. As an example, if you changed the access id of an ElggObject, "
  720. "you need to save it or the change isn't pushed to the database."
  721. 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."
  722. # 932e19f4725f44a09c2acac8140af01b
  723. # 0cb5df5f755048b79b842a142165167c
  724. #: ../../design/database.rst:408 ../../design/database.rst:484
  725. msgid "Reading metadata"
  726. msgstr "Leer metadatos"
  727. # 8faa4d32a48c4e86aa5fa2a32522d426
  728. #: ../../design/database.rst:410
  729. msgid "To retrieve metadata, treat it as a property of the entity:"
  730. msgstr "Para obtener un metadato, haga lo mismo que haría con una propiedad de la entidad:"
  731. # 14018dabdd9c492bb5ffde9edccf5b92
  732. #: ../../design/database.rst:416
  733. msgid ""
  734. "Note that this will return the absolute value of the metadata. To get "
  735. "metadata as an ElggMetadata object, you will need to use the methods "
  736. "described in the *finer control* section below."
  737. 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."
  738. # 8b820dc980674c81acb7c1f33e091bba
  739. #: ../../design/database.rst:420
  740. msgid ""
  741. "If you stored multiple values in this piece of metadata (as in the \"tags\" "
  742. "example above), you will get an array of all those values back. If you "
  743. "stored only one value, you will get a string or integer back. Storing an "
  744. "array with only one value will return a string back to you. E.g."
  745. 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:"
  746. # cb7824286c08416383c600e978f4e353
  747. #: ../../design/database.rst:432
  748. msgid "To always get an array back, simply cast to an array;"
  749. msgstr "Para obtener siempre un vector, no tiene más que invocar el método como tal:"
  750. # cf1f6be5e20b425f82041bc581a1460e
  751. #: ../../design/database.rst:439
  752. msgid "Finer control"
  753. msgstr "Un mayor control"
  754. # a39a84e34e6e41009b7b09b8dfafda1e
  755. #: ../../design/database.rst:444
  756. msgid ""
  757. "If you need more control, for example to assign an access ID other than the "
  758. "default, you can use the ``create_metadata`` function, which is defined as "
  759. "follows:"
  760. 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í:"
  761. # 4e234f4d9aa4435ea680fb8baa3ca225
  762. #: ../../design/database.rst:460
  763. msgid ""
  764. "For single values, you can therefore write metadata as follows (taking the "
  765. "example of a date of birth attached to a user):"
  766. 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):"
  767. # 312ec26d279d40fdbf3687e2704800ea
  768. #: ../../design/database.rst:467
  769. msgid ""
  770. "For multiple values, you will need to iterate through and call "
  771. "``create_metadata`` on each one. The following piece of code comes from the "
  772. "profile save action:"
  773. 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:"
  774. # 26ceb8a2971740b290cc15eaeb8b1cec
  775. #: ../../design/database.rst:480
  776. msgid ""
  777. "Note that the *allow multiple* setting is set to *false* in the first "
  778. "iteration and *true* thereafter."
  779. 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."
  780. # 4a8daea177614190903e3317adc57c2b
  781. #: ../../design/database.rst:486
  782. msgid ""
  783. "``elgg_get_metadata`` is the best function for retrieving metadata as "
  784. "ElggMetadata objects:"
  785. msgstr "``elgg_get_metadata`` es la mejor función para obtener metadatos como instancias de ``ElggMetadata``:"
  786. # 1e91fb6cbe674b9abd23c2244564841f
  787. #: ../../design/database.rst:489
  788. msgid "E.g., to retrieve a user's DOB"
  789. msgstr "Por ejemplo, para obtener la fecha de cumpleaños (*DOB*) de un usuario:"
  790. # 6ef6ff291ca0465a8c8f9ebf54428973
  791. #: ../../design/database.rst:498
  792. msgid "Or to get all metadata objects:"
  793. msgstr "O para obtener todos los objetos de metadatos:"
  794. # 213705d0ca194e368efab8005f0b5b09
  795. #: ../../design/database.rst:510
  796. msgid "Common mistakes"
  797. msgstr "Errores habituales"
  798. # 96028737bf014b55984f2318edb10225
  799. #: ../../design/database.rst:513
  800. msgid "\"Appending\" metadata"
  801. msgstr "“Anexar” metadatos"
  802. # bf3d84962cd8480a8c2b958f4db3052a
  803. #: ../../design/database.rst:515
  804. msgid ""
  805. "Note that you cannot \"append\" values to metadata arrays as if they were "
  806. "normal php arrays. For example, the following will not do what it looks like"
  807. " it should do."
  808. 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:"
  809. # 54be2a0f922842bb8eb5d75441f9c44b
  810. #: ../../design/database.rst:524
  811. msgid "Trying to store hashmaps"
  812. msgstr "Intentar almacenar mapas de sumas («hashmaps»)"
  813. # b7b8de13c9f7435698b61fa8f336d292
  814. #: ../../design/database.rst:526
  815. msgid ""
  816. "Elgg does not support storing ordered maps (name/value pairs) in metadata. "
  817. "For example, the following does not work as you might first expect it to:"
  818. 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:"
  819. # 385b790f3c854c32b7185da0b8a68034
  820. #: ../../design/database.rst:535
  821. msgid "You can instead store the information like so:"
  822. msgstr "En vez de eso, puede hacer lo siguiente para almacenar la información:"
  823. # 2adafb54af364856b6d673cf5c312f81
  824. #: ../../design/database.rst:544
  825. msgid "Storing GUIDs in metadata"
  826. msgstr "Almacenar identificadores únicos en metadatos"
  827. # b57bd90671d34ccca79c1860a96856b6
  828. #: ../../design/database.rst:546
  829. msgid ""
  830. "Though there are some cases to store entity GUIDs in metadata, "
  831. "`Relationships`_ are a much better construct for relating entities to each "
  832. "other."
  833. 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."
  834. # 319dde8bab1044d5a358cdabe6094805
  835. #: ../../design/database.rst:551
  836. msgid "Relationships"
  837. msgstr "Relaciones"
  838. # 1609f2311d3542fb9be5b83091c9c166
  839. #: ../../design/database.rst:553
  840. msgid ""
  841. "Relationships allow you to bind entities together. Examples: an artist has "
  842. "fans, a user is a member of an organization, etc."
  843. 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."
  844. # 6c58ef874076490983f2bc5db687af2a
  845. #: ../../design/database.rst:556
  846. msgid ""
  847. "The class ``ElggRelationship`` models a directed relationship between two "
  848. "entities, making the statement:"
  849. msgstr "La clase ``ElggRelationship`` modela una relación con dirección entre dos entidades, dando lugar a la expresión:"
  850. # 28fe6bee8200460199f20b2523e11f52
  851. #: ../../design/database.rst:559
  852. msgid "\"**{subject}** is a **{noun}** of **{target}**.\""
  853. msgstr "«**{sujeto}** es un **{substantivo}** de **{objeto}**.»"
  854. # d629f0dee06d48288ea690684bb2ade9
  855. #: ../../design/database.rst:562
  856. msgid "API name"
  857. msgstr "Nombre en el API"
  858. # 3827a29866274551bd06f087de9faace
  859. #: ../../design/database.rst:562
  860. msgid "Models"
  861. msgstr "Modela"
  862. # a0f20ae37b8146eca38f4618bfe058fe
  863. #: ../../design/database.rst:562
  864. msgid "Represents"
  865. msgstr "Representa"
  866. # 878c2219a330446aa9a3ca03d585389f
  867. #: ../../design/database.rst:564
  868. msgid "``guid_one``"
  869. msgstr "``guid_one``"
  870. # f3b6ac7949244d5ca968cfe5a9a1a518
  871. #: ../../design/database.rst:564
  872. msgid "The subject"
  873. msgstr "Sujeto"
  874. # e9642ba252644dae9758be148b94e697
  875. #: ../../design/database.rst:564
  876. msgid "Which entity is being bound"
  877. msgstr "La entidad que se está relacionando."
  878. # 05a084cdba2d4edfaa6c49cf85240829
  879. #: ../../design/database.rst:565
  880. msgid "``relationship``"
  881. msgstr "``relationship``"
  882. # c6e9a303b801482589d24cd71d8232df
  883. #: ../../design/database.rst:565
  884. msgid "The noun"
  885. msgstr "Substantivo"
  886. # cbc30a32607f44388cd9f6f54d8e7fb1
  887. #: ../../design/database.rst:565
  888. msgid "The type of relationship"
  889. msgstr "El tipo de la relación."
  890. # cc09d8c776dd4f5194d81f01175c6324
  891. #: ../../design/database.rst:566
  892. msgid "``guid_two``"
  893. msgstr "``guid_two``"
  894. # 6bcc98d4e27941c9ad14c129e6be680f
  895. #: ../../design/database.rst:566
  896. msgid "The target"
  897. msgstr "Objeto"
  898. # a573d50f9ee24ee898cadac13a4d97e2
  899. #: ../../design/database.rst:566
  900. msgid "The entity to which the subject is bound"
  901. msgstr "La entidad con la que se relaciona el sujeto."
  902. # 17cc06e23ee54a9594283957a417273b
  903. #: ../../design/database.rst:569
  904. msgid ""
  905. "The type of relationship may alternately be a verb, making the statement:"
  906. msgstr "Alternativamente, el tipo de relación puede ser un verbo, dando lugar a la expresión:"
  907. # ec2f1c9889ab4222b7ce4c1dd02b9851
  908. #: ../../design/database.rst:571
  909. msgid "\"**{subject}** **{verb}** **{target}**.\""
  910. msgstr "«**{sujeto}** **{verbo}** **{objeto}**.»"
  911. # 8b3542938bee43e69ac944dd8ad13e8b
  912. #: ../../design/database.rst:573
  913. msgid "E.g. User A \"likes\" blog post B"
  914. msgstr "Por ejemplo, el usuario A «está de acuerdo con» el comentario B."
  915. # b3c9d095f9c6456a9b4d5223764bce91
  916. #: ../../design/database.rst:575
  917. msgid ""
  918. "**Each relationship has direction.** Imagine an archer shoots an arrow at a "
  919. "target; The arrow moves in one direction, binding the subject (the archer) "
  920. "to the target."
  921. 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."
  922. # 36c8a7543592421c885b6d7facb24ade
  923. #: ../../design/database.rst:579
  924. msgid ""
  925. "**A relationship does not imply reciprocity**. **A** follows **B** does not "
  926. "imply that **B** follows **A**."
  927. msgstr "**Las relaciones no implicar reciprocidad**. Que **A** siga a **B** no significa que **B** siga a **A**."
  928. # a758f897d32841d1bd8bbc0670b577d7
  929. #: ../../design/database.rst:582
  930. msgid ""
  931. "**Relationships_ do not have access control.** They're never hidden from "
  932. "view and can be edited with code at any privilege level, with the caveat "
  933. "that *the entities* in a relationship may be invisible due to access "
  934. "control!"
  935. 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."
  936. # 0b4076f2713b48b1a2e89e76708d4cac
  937. #: ../../design/database.rst:588
  938. msgid "Working with relationships"
  939. msgstr "Trabajar con relaciones"
  940. # 6c54387c92264f74a28719339818aa1e
  941. #: ../../design/database.rst:591
  942. msgid "Creating a relationship"
  943. msgstr "Crear una relación"
  944. # f20c0ea63f30474dbd5c0e0f32f7f876
  945. #: ../../design/database.rst:593
  946. msgid ""
  947. "E.g. to establish that \"**$user** is a **fan** of **$artist**\" (user is "
  948. "the subject, artist is the target):"
  949. msgstr "Por ejemplo, para establecer que «**$user** es un **fan** de **$artist**», donde $user (usuario) es el sujeto y $artist (artista) el objeto:"
  950. # 2af4dff0cacc437691b23a766d820cf2
  951. #: ../../design/database.rst:604
  952. msgid ""
  953. "This triggers the event [create, relationship], passing in the created "
  954. "``ElggRelationship`` object. If a handler returns ``false``, the "
  955. "relationship will not be created and ``$success`` will be ``false``."
  956. 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``."
  957. # 9db5d32cc351439abae0e8d74b34b44a
  958. #: ../../design/database.rst:610
  959. msgid "Verifying a relationship"
  960. msgstr "Verificar una relación"
  961. # e01ee039018b43dc9577deff8f32b911
  962. #: ../../design/database.rst:612
  963. msgid "E.g. to verify that \"**$user** is a **fan** of **$artist**\":"
  964. msgstr "Por ejemplo, para verificar que «**$user** es **fan** de **$artist**»:"
  965. # f29022b7a9534403881e7d00aa3deefe
  966. #: ../../design/database.rst:620
  967. msgid ""
  968. "Note that, if the relationship exists, ``check_entity_relationship()`` "
  969. "returns an ``ElggRelationship`` object:"
  970. msgstr "Tenga en cuenta que, si la relación existe, ``check_entity_relationship()`` devuelve una instancia de ``ElggRelationship``:"
  971. # 88179d8fb14b4508afdd4f40928116c2
  972. #: ../../design/database.rst:631
  973. msgid "Deleting a relationship"
  974. msgstr "Eliminar una relación"
  975. # fb3336ecc3934bd1bd29defe707a21a8
  976. #: ../../design/database.rst:633
  977. msgid ""
  978. "E.g. to be able to assert that \"**$user** is no longer a **fan** of "
  979. "**$artist**\":"
  980. msgstr "Por ejemplo, para poder asegurarse de que «**$user** ya no es **fan** de **$artist**»:"
  981. # cf2dbf8ef2074ea5a8056b419a58e0cf
  982. #: ../../design/database.rst:639
  983. msgid ""
  984. "This triggers the event [delete, relationship], passing in the associated "
  985. "``ElggRelationship`` object. If a handler returns ``false``, the "
  986. "relationship will remain, and ``$was_removed`` will be ``false``."
  987. 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``."
  988. # 23a8192bab994cfd83122fc19f0a95d4
  989. #: ../../design/database.rst:644
  990. msgid "Other useful functions:"
  991. msgstr "Otras funciones útiles:"
  992. # db38c68876994912ab714cafeba7e49d
  993. #: ../../design/database.rst:646
  994. msgid "``delete_relationship()`` : delete by ID"
  995. msgstr "``delete_relationship()`` : eliminar la relación con el identificador indicado."
  996. # e3324ae11dfb4763a97985f9bfc11a80
  997. #: ../../design/database.rst:647
  998. msgid ""
  999. "``remove_entity_relationships()`` : delete those relating to an entity "
  1000. "(*note:* in versions before Elgg 1.9, this did not trigger delete events)"
  1001. 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."
  1002. # b42c438d8b8b40369cdb72b06902a86d
  1003. #: ../../design/database.rst:650
  1004. msgid "Finding relationships and related entities"
  1005. msgstr "Encontrar relaciones y entidades relacionadas"
  1006. # 7308320f27b74ddc91937cd80a0421a3
  1007. #: ../../design/database.rst:652
  1008. msgid ""
  1009. "Below are a few functions to fetch relationship objects and/or related "
  1010. "entities. A few are listed below:"
  1011. msgstr "A continuación se presentan algunas funciones para obtener objetos de relaciones y entidades relacionadas:"
  1012. # 561851f32d62445aa9102fdc11f98367
  1013. #: ../../design/database.rst:655
  1014. msgid ""
  1015. "``get_entity_relationships()`` : fetch relationships by subject or target "
  1016. "entity"
  1017. msgstr "``get_entity_relationships()``: obtener relaciones que tengan la entidad indicada como sujeto o objeto."
  1018. # 3810211bf28942e7a73eff88a666533e
  1019. #: ../../design/database.rst:656
  1020. msgid "``get_relationship()`` : get a relationship object by ID"
  1021. msgstr "``get_relationship()``: obtener el objeto de relación con el identificador indicado."
  1022. # 5c386d5e6689471ba2ffaf15db08fa5b
  1023. #: ../../design/database.rst:657
  1024. msgid ""
  1025. "``elgg_get_entities_from_relationship()`` : fetch entities in relationships "
  1026. "in a variety of ways"
  1027. msgstr "``elgg_get_entities_from_relationship()``: obtener entidades en relaciones de varias formas."
  1028. # 4827df5caeca4771bc328d76a28addf3
  1029. #: ../../design/database.rst:661
  1030. msgid "Access Control"
  1031. msgstr "Control de acceso"
  1032. # 84e9a0dd600548bcb238c93a7382dd5c
  1033. #: ../../design/database.rst:663
  1034. msgid ""
  1035. "Granular access controls are one of the fundamental design principles in "
  1036. "Elgg, and a feature that has been at the centre of the system throughout its"
  1037. " development. The idea is simple: a user should have full control over who "
  1038. "sees an item of data he or she creates."
  1039. 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."
  1040. # eeeb4fe3fb9d46edbc3b9e6938efc1d1
  1041. #: ../../design/database.rst:669
  1042. msgid "Access controls in the data model"
  1043. msgstr "Controles de acceso en el modelo de datos"
  1044. # 98232720685d48f992dd08e80c365a36
  1045. #: ../../design/database.rst:671
  1046. msgid ""
  1047. "In order to achieve this, every entity, annotation and piece of metadata "
  1048. "contains an ``access_id`` property, which in turn corresponds to one of the "
  1049. "pre-defined access controls or an entry in the ``access_collections`` "
  1050. "database table."
  1051. 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."
  1052. # 1e4658d9ed564d79a08a7b53b8dee4ac
  1053. #: ../../design/database.rst:677
  1054. msgid "Pre-defined access controls"
  1055. msgstr "Controles de acceso predefinidos"
  1056. # 62f467a7abc243d2a89f3dcca9275a12
  1057. #: ../../design/database.rst:679
  1058. msgid "**0** Private."
  1059. msgstr "**0** Privado."
  1060. # 46550933a386465fa5ade468ebff340c
  1061. #: ../../design/database.rst:680
  1062. msgid "**1** Logged in users."
  1063. msgstr "**1** Usuarios registrados."
  1064. # 438464e886fe442a843151cdcb6bb302
  1065. #: ../../design/database.rst:681
  1066. msgid "**2** Public data."
  1067. msgstr "**2** Público."
  1068. # f8ce51fa5ecf48d9a63ab1be19f44dd8
  1069. #: ../../design/database.rst:684
  1070. msgid "User defined access controls"
  1071. msgstr "Controles de acceso definidos por los usuarios"
  1072. # f42da4186c694fca95a0c97ea814bc6b
  1073. #: ../../design/database.rst:686
  1074. msgid ""
  1075. "You may define additional access groups and assign them to an entity, "
  1076. "annotation or metadata. A number of functions have been defined to assist "
  1077. "you; see the `access library reference`_ for more information."
  1078. 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`_."
  1079. # 6fd68aeffe83499786ad1fe82bc7595b
  1080. #: ../../design/database.rst:691
  1081. msgid "How access affects data retrieval"
  1082. msgstr "Cómo el acceso afecta a la obtención de datos"
  1083. # ffd444b33915406085c9b19115c8f5e7
  1084. #: ../../design/database.rst:693
  1085. msgid ""
  1086. "All data retrieval functions above the database layer - for example "
  1087. "``get_entities`` and its cousins - will only return items that the current "
  1088. "user has access to see. It is not possible to retrieve items that the "
  1089. "current user does not have access to. This makes it very hard to create a "
  1090. "security hole for retrieval."
  1091. 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."
  1092. # b55cbf20bced4d02be28764263b62a24
  1093. #: ../../design/database.rst:702
  1094. msgid "Write access"
  1095. msgstr "Acceso de escritura"
  1096. # 284459aca65944049d6ce4cc6dafd00a
  1097. #: ../../design/database.rst:704
  1098. msgid "The following rules govern write access:"
  1099. msgstr "Las siguientes reglar rigen el acceso de escritura:"
  1100. # 554cc7ca59bc42cda2574749836fc09a
  1101. #: ../../design/database.rst:706
  1102. msgid "The owner of an entity can always edit it"
  1103. msgstr "El propietario de una entidad siempre puede editarla."
  1104. # 7fee0cc4a5784318b50491a707d9ce32
  1105. #: ../../design/database.rst:707
  1106. msgid ""
  1107. "The owner of a container can edit anything therein (note that this does not "
  1108. "mean that the owner of a group can edit anything therein)"
  1109. 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)."
  1110. # b0b5fbe914c1445dacf4fdca5b951bf0
  1111. #: ../../design/database.rst:709
  1112. msgid "Admins can edit anything"
  1113. msgstr "Los administradores pueden editarlo todo."
  1114. # 88c0a3916e1f4834a591045b15059386
  1115. #: ../../design/database.rst:711
  1116. msgid ""
  1117. "You can override this behaviour using a `plugin hook`_ called "
  1118. "``permissions_check``, which passes the entity in question to any function "
  1119. "that has announced it wants to be referenced. Returning ``true`` will allow "
  1120. "write access; returning ``false`` will deny it. See `the plugin hook "
  1121. "reference for permissions\\_check`_ for more details."
  1122. 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`_."
  1123. # 167179ac208447a485001246c51a7385
  1124. #: ../../design/database.rst:718
  1125. msgid "Also see"
  1126. msgstr "Véase también"
  1127. # 1410f9649ace4cfb8f95765e8b47f832
  1128. #: ../../design/database.rst:720
  1129. msgid "`Engine reference`_"
  1130. msgstr "`Documentación de referencia del motor`_"
  1131. # 4127c135feab43e7a216b6a7129e68f4
  1132. #: ../../design/database.rst:721
  1133. msgid "`Access library reference`_"
  1134. msgstr "`Documentación de referencia de la biblioteca de acceso`_"
  1135. # 2ca1d26c77854adc89b3738740cd063d
  1136. #: ../../design/database.rst:729
  1137. msgid "Schema"
  1138. msgstr "Esquema"
  1139. # 2f3f2c46e10d4f01867764b6d8b9575c
  1140. #: ../../design/database.rst:731
  1141. msgid ""
  1142. "The database contains a number of primary tables and secondary tables. Its "
  1143. "schema table is stored in ``/engine/schema/mysql.sql``."
  1144. msgstr "La base de datos contiene una serie de tablas primarias y secundarias. Su esquema de tabla está almacenado en ``/engine/schema/mysql.sql``."
  1145. # 9401dccd332d47939c8c4984038018e4
  1146. #: ../../design/database.rst:734
  1147. msgid ""
  1148. "Each table is prefixed by \"prefix\\_\", this is replaced by the Elgg "
  1149. "framework during installation."
  1150. msgstr "Cada tabla está prefijada con «prefix\\_», que la infraestructura de Elgg substituye por el prefijo seleccionado durante la instalación."
  1151. # ea6788aea5914cb6b2024576a9ad5abc
  1152. #: ../../design/database.rst:738
  1153. msgid "Main tables"
  1154. msgstr "Tablas principales"
  1155. # c5f8036d60ac4ecdbb854e3a08f37d69
  1156. #: ../../design/database.rst:740
  1157. msgid ""
  1158. "This is a description of the main tables. Keep in mind that in a given Elgg "
  1159. "installation, the tables will have a prefix (typically \"elgg\\_\")."
  1160. 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\\_»."
  1161. # e577d676d79c4b3e8188ec011c3d8e83
  1162. #: ../../design/database.rst:744
  1163. msgid "Table: entities"
  1164. msgstr "Tabla: entidades"
  1165. # 1a04c88432c14f6b92f2f308175fd5a2
  1166. #: ../../design/database.rst:746
  1167. msgid ""
  1168. "This is the main `Entities`_ table containing Elgg users, sites, objects and"
  1169. " groups. When you first install Elgg this is automatically populated with "
  1170. "your first site."
  1171. 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."
  1172. # 100b8fea61d843428ecd5033ef86738c
  1173. #: ../../design/database.rst:750
  1174. msgid "It contains the following fields:"
  1175. msgstr "Contiene los siguientes campos:"
  1176. # 742c5b6319a1494b998d6dc20d861e2c
  1177. #: ../../design/database.rst:752
  1178. msgid ""
  1179. "**guid** An auto-incrementing counter producing a GUID that uniquely "
  1180. "identifies this entity in the system."
  1181. msgstr "**guid:** Un contador que aumenta automáticamente y produce un identificador único para la entidad dentro del sistema."
  1182. # 50f76f172b36469984328a42aa3b29e3
  1183. #: ../../design/database.rst:754
  1184. msgid "**type** The type of entity - object, user, group or site"
  1185. msgstr "**type:** El tipo de la entidad (``object``, ``user``, ``group`` o ``site``)."
  1186. # 6c98efa32a6e4c02a5f5081509eca677
  1187. #: ../../design/database.rst:755
  1188. msgid "**subtype** A link to the `entity_subtypes` table."
  1189. msgstr "**subtype:** Un enlace a la tabla `entity_subtypes`."
  1190. # d4941b956f124706878de8cdf1009999
  1191. #: ../../design/database.rst:756
  1192. msgid "**owner\\_guid** The GUID of the owner's entity."
  1193. msgstr "**owner\\_guid:** El identificador único del propietario de la entidad."
  1194. # e37132862e8041f2bd109033a57cf4db
  1195. #: ../../design/database.rst:757
  1196. msgid "**site\\_guid** The site the entity belongs to."
  1197. msgstr "**site\\_guid:** El sitio al que pertenece la entidad."
  1198. # d5c2a1ae96d140f096f2208a95a193a6
  1199. #: ../../design/database.rst:758
  1200. msgid ""
  1201. "**container\\_guid** The GUID this entity is contained by - either a user or"
  1202. " a group."
  1203. msgstr "**container\\_guid:** El identificador único de la entidad que contiene a esta, que puede ser un usuario o un grupo."
  1204. # 56b165263be3438586a4e605a05f9168
  1205. #: ../../design/database.rst:760
  1206. msgid "**access\\_id** Access controls on this entity."
  1207. msgstr "**access\\_id:** Los controles de acceso de la entidad."
  1208. # 9ecdfd74cbc4439c9d5efd899f27e266
  1209. #: ../../design/database.rst:761
  1210. msgid "**time\\_created** Unix timestamp of when the entity is created."
  1211. msgstr "**time\\_created:** La fecha y hora de creación de la entidad en formato Unix."
  1212. # 6abf09b3989747daa01f1af91243290f
  1213. #: ../../design/database.rst:762
  1214. msgid "**time\\_updated** Unix timestamp of when the entity was updated."
  1215. msgstr "**time\\_updated:** La fecha y hora de la última actualización de la entidad en formato Unix."
  1216. # 00fd068881484ff1a5fbd2d447964a1a
  1217. #: ../../design/database.rst:763
  1218. msgid ""
  1219. "**enabled** If this is 'yes' an entity is accessible, if 'no' the entity has"
  1220. " been disabled (Elgg treats it as if it were deleted without actually "
  1221. "removing it from the database)."
  1222. 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)."
  1223. # e49ba8a0f76f42fda2af54f04f042d1f
  1224. #: ../../design/database.rst:768
  1225. msgid "Table: entity\\_subtypes"
  1226. msgstr "Tabla: entity\\_subtypes"
  1227. # ce6793878cf24b6d810f2ce2e9a358e6
  1228. #: ../../design/database.rst:770
  1229. msgid "This table contains entity subtype information:"
  1230. msgstr "Esta tabla contiene información sobre los subtipos de las entidades:"
  1231. # 1b20eabbc243491fabbe7a892ea4caf8
  1232. # 63f5e077e1a14605b43f2d0e3f9f6fec
  1233. # 50e8ef82f6dc4a44a85ec6b70fe41af6
  1234. #: ../../design/database.rst:772 ../../design/database.rst:782
  1235. #: ../../design/database.rst:800
  1236. msgid "**id** A counter."
  1237. msgstr "**id:** Un contador."
  1238. # a01bfbb4ea084759b85fb624bc7c395a
  1239. #: ../../design/database.rst:773
  1240. msgid "**type** The type of entity - object, user, group or site."
  1241. msgstr "**type:** El tipo de la entidad (``object``, ``user``, ``group`` o ``site``).."
  1242. # 56e928ba08734cf8bd6a1f637f0239ab
  1243. #: ../../design/database.rst:774
  1244. msgid "**subtype** The subtype name as a string."
  1245. msgstr "**subtype:** El nombre del subtipo en forma de cadena de texto."
  1246. # 987a86f9e5f84a3fa138ecf6a31db4f6
  1247. #: ../../design/database.rst:775
  1248. msgid "**class** Optional class name if this subtype is linked with a class"
  1249. msgstr "**class:** Nombre de clase opcional si el subtipo está enlazado con una clase."
  1250. # 237c26bbbe934275952a2d1a79faf88d
  1251. #: ../../design/database.rst:778
  1252. msgid "Table: metadata"
  1253. msgstr "Tabla: metadata"
  1254. # 8adce57dac0b4a01bcf65a398037472e
  1255. #: ../../design/database.rst:780
  1256. msgid ""
  1257. "This table contains `Metadata`_, extra information attached to an entity."
  1258. msgstr "Esta tabla contiene `metadatos`_, información adicional anexada a una entidad."
  1259. # ccaf128256194330953b9fc650039109
  1260. # 7c4eda57ec394be88d553e11d70c11c8
  1261. #: ../../design/database.rst:783 ../../design/database.rst:801
  1262. msgid "**entity\\_guid** The entity this is attached to."
  1263. msgstr "**entity\\_guid:** Identificador de la entidad a la que está anexado el metadato."
  1264. # 2993fcd2b82d4e86ad2af480d0205497
  1265. #: ../../design/database.rst:784
  1266. msgid "**name\\_id** A link to the metastrings table defining the name table."
  1267. msgstr "**name\\_id:** Un enlace a la tabla «metastrings» que define el nombre."
  1268. # 61eaa0a200384082bc75956475e92dc9
  1269. # d271f2a16cb14b0eb0e6b32bced732b5
  1270. #: ../../design/database.rst:786 ../../design/database.rst:804
  1271. msgid "**value\\_id** A link to the metastrings table defining the value."
  1272. msgstr "**value\\_id:** Un enlace a la tabla «metastrings» que define el valor."
  1273. # 82f12af1b9444ef6aecb0af5cb0975e2
  1274. # e707153e76174832a7a39781f19c0b9c
  1275. #: ../../design/database.rst:787 ../../design/database.rst:805
  1276. msgid "**value\\_type** The value class, either text or an integer."
  1277. msgstr "**value\\_type:** La clase del valor, o bien «text» (texto) o bien «integer» (número entero)."
  1278. # 9211cfcca4524f8597508dc253f1cf14
  1279. # 5dc331e8799c456080bc5561b6f2a0ed
  1280. #: ../../design/database.rst:788 ../../design/database.rst:806
  1281. msgid ""
  1282. "**owner\\_guid** The owner GUID of the owner who set this item of metadata."
  1283. msgstr "**owner\\_guid:** El identificador único del propietario, es decir, de quien definió el metadato."
  1284. # 646518cccd384d5ba62edd4363456cbc
  1285. # 48935a8606954f0e8acb676124ac2757
  1286. #: ../../design/database.rst:790 ../../design/database.rst:808
  1287. msgid "**access\\_id** An Access controls on this item of metadata."
  1288. msgstr "**access\\_id:** Los controles de acceso del metadato."
  1289. # 04f8e3b9b8f543849af4e50716656c04
  1290. # 77070a271c194385b58e9921b0f229c3
  1291. #: ../../design/database.rst:791 ../../design/database.rst:809
  1292. msgid "**time\\_created** Unix timestamp of when the metadata is created."
  1293. msgstr "**time\\_created:** La fecha y hora de creación del metadato en formato Unix."
  1294. # 3f0d5645ac614edbba1e91548653fd31
  1295. # 1575f8bc041547d9adc723300d9b1c8a
  1296. #: ../../design/database.rst:792 ../../design/database.rst:810
  1297. msgid ""
  1298. "**enabled** If this is 'yes' an item is accessible, if 'no' the item has "
  1299. "been deleted."
  1300. msgstr "**enabled:** Si su valor es «yes» se puede acceder al elemento, si es «no» el elemento ha sido eliminado."
  1301. # aa3b1ad62c5b48fb96bc974f51dc13ff
  1302. #: ../../design/database.rst:796
  1303. msgid "Table: annotations"
  1304. msgstr "Tabla: annotations"
  1305. # e05e4b9430d74dd7bd2aa0e69aa26a8f
  1306. #: ../../design/database.rst:798
  1307. msgid "This table contains `Annotations`_, this is distinct from `Metadata`_."
  1308. msgstr "Esta tabla contiene `anotaciones`_, que no son lo mismo que `metadatos`_."
  1309. # dbf9a80a6ede4b21bb5e365e6ecab703
  1310. #: ../../design/database.rst:802
  1311. msgid ""
  1312. "**name\\_id** A link to the metastrings table defining the type of "
  1313. "annotation."
  1314. msgstr "**name\\_id:** Un enlace a la tabla «metastrings» que define el tipo de anotación."
  1315. # 291297d509c84a6d8c6fa180e1bd31ce
  1316. #: ../../design/database.rst:814
  1317. msgid "Table: relationships"
  1318. msgstr "Tabla: relationships"
  1319. # 794a1eaf11eb459984144fb025bae782
  1320. #: ../../design/database.rst:816
  1321. msgid ""
  1322. "This table defines `Relationships`_, these link one entity with another."
  1323. msgstr "Esta tabla define `relaciones`_, las cuales enlazan unas entidades con otras."
  1324. # d5489c0a6e57492cb56165690a78510c
  1325. #: ../../design/database.rst:818
  1326. msgid "**guid\\_one** The GUID of the subject entity."
  1327. msgstr "**guid\\_one:** El identificador de la entidad sujeto."
  1328. # a5b7a81c38744dc281b03d4c5e7215e0
  1329. #: ../../design/database.rst:819
  1330. msgid "**relationship** The type of the relationship."
  1331. msgstr "**relationship:** El tipo de la relación."
  1332. # e59d30c91fe04e21b38daf95dd888a7e
  1333. #: ../../design/database.rst:820
  1334. msgid "**guid\\_two** The GUID of the target entity."
  1335. msgstr "**guid\\_two:** El identificador de la entidad objeto."
  1336. # 6fdc7334b11041fc83cc612883b6f97f
  1337. #: ../../design/database.rst:823
  1338. msgid "Table: objects\\_entity"
  1339. msgstr "Tabla: objects\\_entity"
  1340. # 5c4514f425cf4079a9f8945252b44fc1
  1341. #: ../../design/database.rst:825
  1342. msgid ""
  1343. "Extra information specifically relating to objects. These are split in order"
  1344. " to reduce load on the metadata table and make an obvious difference between"
  1345. " attributes and metadata."
  1346. 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."
  1347. # 5acc11b6ee0e4c869df146b57dd71ec4
  1348. #: ../../design/database.rst:830
  1349. msgid "Table: sites\\_entity"
  1350. msgstr "Tabla: sites\\_entity"
  1351. # bd2bbbbfbf2940fda86d3b0fe0f634eb
  1352. #: ../../design/database.rst:832
  1353. msgid ""
  1354. "Extra information specifically relating to sites. These are split in order "
  1355. "to reduce load on the metadata table and make an obvious difference between "
  1356. "attributes and metadata."
  1357. 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."
  1358. # 0f21512ced3147cb9a7252483b385f90
  1359. #: ../../design/database.rst:837
  1360. msgid "Table: users\\_entity"
  1361. msgstr "Tabla: users\\_entity"
  1362. # 3b868b45081a4ea991956e7c7062146d
  1363. #: ../../design/database.rst:839
  1364. msgid ""
  1365. "Extra information specifically relating to users. These are split in order "
  1366. "to reduce load on the metadata table and make an obvious difference between "
  1367. "attributes and metadata."
  1368. 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."
  1369. # f622eedbe87a4d5d8c950dc8fa3ed935
  1370. #: ../../design/database.rst:844
  1371. msgid "Table: groups\\_entity"
  1372. msgstr "Tabla: groups\\_entity"
  1373. # 3596af1f5d634f4db87edd2c9584db59
  1374. #: ../../design/database.rst:846
  1375. msgid ""
  1376. "Extra information specifically relating to groups. These are split in order "
  1377. "to reduce load on the metadata table and make an obvious difference between "
  1378. "attributes and metadata."
  1379. 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."
  1380. # 8cd365a827fb4191a944795081c0e30a
  1381. #: ../../design/database.rst:851
  1382. msgid "Table: metastrings"
  1383. msgstr "Tabla: metastrings"
  1384. # 69b9a8beec834889a23929486136467e
  1385. #: ../../design/database.rst:853
  1386. msgid ""
  1387. "Metastrings contain the actual string of metadata which is linked to by the "
  1388. "metadata and annotations tables."
  1389. msgstr "Las metastrigns (metacadenas) contiene los textos reales de los metadatos, y que están enlazados con las tablas de metadatos y de anotaciones."
  1390. # 686d1f8b5c3a40f0a7d97403fa12e32f
  1391. #: ../../design/database.rst:856
  1392. msgid ""
  1393. "This is to avoid duplicating strings, saving space and making database "
  1394. "lookups more efficient."
  1395. msgstr "Esto permite evitar duplicar cadenas, ahorrando espacio y haciendo más eficientes las búsquedas en la base de datos."
  1396. # 21680e7c9f314bf8b962ab4a4dce6628
  1397. #: ../../design/database.rst:859
  1398. msgid ""
  1399. "Core developers will place schema upgrades in ``/engine/schema/upgrades/*``."
  1400. msgstr "Los desarrolladores principales guardan las actualizaciones del esquema en ``/engine/schema/upgrades/*``."
  1401. # adc8959e6d1944098d937933f1a1836e
  1402. #: ../../design/events.rst:2
  1403. msgid "Events and Plugin Hooks"
  1404. msgstr "Eventos y ganchos de complementos"
  1405. # 6b430eb1f01d4f22bd105e4d60b4a0ec
  1406. #: ../../design/events.rst:10
  1407. msgid ""
  1408. "Elgg has an event system that can be used to replace or extend core "
  1409. "functionality."
  1410. msgstr "Elgg cuenta con un sistema de eventos que puedes usar para substituir o extender su funcionalidad predeterminada."
  1411. # 5edae023da144c51a2304ccf6107b022
  1412. #: ../../design/events.rst:13
  1413. msgid ""
  1414. "Plugins influence the system by creating handlers (`callables "
  1415. "<http://php.net/manual/en/language.types.callable.php>`_ such as functions "
  1416. "and methods) and registering them to handle two types of events: `Elgg "
  1417. "Events`_ and `Plugin Hooks`_."
  1418. 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`_."
  1419. # ea5fce44b14d401391b126378d067c79
  1420. #: ../../design/events.rst:17
  1421. msgid ""
  1422. "When an event is triggered, a set of handlers is assembled in order of "
  1423. "priority, then each is executed. Each handler is passed arguments and has a "
  1424. "chance to influence the process. Finally the \"trigger\" function returns a "
  1425. "value based on the behavior of the handlers."
  1426. 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."
  1427. # b1dd09fe1178491087969fcaaba5f010
  1428. #: ../../design/events.rst:23
  1429. msgid "Elgg Events vs. Plugin Hooks"
  1430. msgstr "Diferencias entre los eventos de Elgg y los ganchos de complementos"
  1431. # c40e5297ff5b4b3ca9a4f70f901edb6a
  1432. #: ../../design/events.rst:25
  1433. msgid ""
  1434. "There are a few big differences between `Elgg Events`_ and `Plugin Hooks`_:"
  1435. msgstr "Existen algunas diferencias importantes entre los `eventos de Elgg`_ y los `ganchos de complementos`_:"
  1436. # cfa94dd5a6e24babbd82bd272d3dd8e6
  1437. #: ../../design/events.rst:27
  1438. msgid ""
  1439. "Most Elgg events can be cancelled; unless the event is an \"after\" event, a"
  1440. " handler that returns `false` can cancel the event, and no more handlers are"
  1441. " called."
  1442. 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."
  1443. # 7ab2299d501144d9bde1f71c16abc339
  1444. #: ../../design/events.rst:30
  1445. msgid "Plugin hooks cannot be cancelled; all handlers are always called."
  1446. msgstr "Los ganchos de complementos no pueden cancelarse; todos los ganchos se llaman siempre."
  1447. # 8d424a7eee5042c78727872ddda189a9
  1448. #: ../../design/events.rst:31
  1449. msgid ""
  1450. "Plugin hooks pass an arbitrary value through the handlers, giving each a "
  1451. "chance to alter along the way."
  1452. 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."
  1453. # 3c9f9eeb3ad24888abaece50299cba85
  1454. #: ../../design/events.rst:34
  1455. msgid ""
  1456. "Note: Plugin hooks also allow passing a parameters array to the handlers, "
  1457. "though this will eventually come to Elgg events as well."
  1458. 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."
  1459. # 19681ae9afcd44c09373c3269e10b8af
  1460. #: ../../design/events.rst:38
  1461. msgid "Elgg Events"
  1462. msgstr "Eventos de Elgg"
  1463. # ed9148e5ab70423f94fb0698e92bfb77
  1464. #: ../../design/events.rst:40
  1465. msgid ""
  1466. "Elgg Events are triggered when an Elgg object is created, updated, or "
  1467. "deleted; and at important milestones while the Elgg framework is loading. "
  1468. "Examples: a blog post being created or a user logging in."
  1469. 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."
  1470. # ee269ffb20c546baa0c05f2da4134300
  1471. #: ../../design/events.rst:44
  1472. msgid ""
  1473. "Unlike `Plugin Hooks`_, *most Elgg events can be cancelled*, halting the "
  1474. "execution of the handlers, and possibly cancelling or reverting some action "
  1475. "in the Elgg core."
  1476. 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."
  1477. # 171dbe47296e488f8f37a98124289282
  1478. #: ../../design/events.rst:48
  1479. msgid ""
  1480. "Each Elgg event has a name and an object type (system, user, object, "
  1481. "relationship name, annotation, group) describing the type of object passed "
  1482. "to the handlers."
  1483. 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."
  1484. # 2c3c9e60ce614e6b98b46d0a7c56a2e9
  1485. #: ../../design/events.rst:53
  1486. msgid "Before and After Events"
  1487. msgstr "Eventos del antes y el después"
  1488. # eeae3ba58968438cb82bcb7ab2cb9069
  1489. #: ../../design/events.rst:55
  1490. msgid ""
  1491. "Some events are split into \"before\" and \"after\". This avoids confusion "
  1492. "around the state of the system while in flux. E.g. Should the user be logged"
  1493. " in during the [login, user] event?"
  1494. 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]?"
  1495. # bbd2fed289b7426988474456b39f4693
  1496. #: ../../design/events.rst:59
  1497. msgid ""
  1498. "Before Events have names ending in \":before\" and are triggered before "
  1499. "something happens. Like traditional events, handlers can cancel the event by"
  1500. " returning `false`."
  1501. 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`."
  1502. # 2ad30bcb2f1548459ae38830c7e4ff42
  1503. #: ../../design/events.rst:63
  1504. msgid ""
  1505. "After Events, with names ending in \":after\", are triggered after something"
  1506. " happens. Unlike traditional events, handlers *cannot* cancel these events; "
  1507. "all handlers will always be called."
  1508. 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."
  1509. # 2a85a23b6d6643709dae532d500b4659
  1510. #: ../../design/events.rst:67
  1511. msgid ""
  1512. "Where before and after events are available, developers are encouraged to "
  1513. "transition to them, though older events will be supported for backwards "
  1514. "compatibility."
  1515. 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."
  1516. # 8f9553e6a95d4e00ba3f68956795beee
  1517. #: ../../design/events.rst:72
  1518. msgid "Elgg Event Handlers"
  1519. msgstr "Manejadores de eventos de Elgg"
  1520. # b6dd4312d2a647fbacd4c251b93f0466
  1521. #: ../../design/events.rst:74
  1522. msgid "Elgg event handlers should have the following prototype:"
  1523. msgstr "Los manejadores de eventos de Elgg deberían tener el siguiente prototipo:"
  1524. # 5b106c4da8444a15be47758f4d367ef2
  1525. #: ../../design/events.rst:89
  1526. msgid ""
  1527. "If the handler returns `false`, the event is cancelled, preventing execution"
  1528. " of the other handlers. All other return values are ignored."
  1529. 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."
  1530. # b9a5d7fb1d9a4a89881fc4910597ae85
  1531. #: ../../design/events.rst:93
  1532. msgid "Register to handle an Elgg Event"
  1533. msgstr "Registrar un manejador para un evento de Elgg"
  1534. # a50eb702ecbf45599beb6aeba1504891
  1535. #: ../../design/events.rst:95
  1536. msgid ""
  1537. "Register your handler to an event using ``elgg_register_event_handler``:"
  1538. msgstr "Registre su manejador para un evento mediante ``elgg_register_event_handler``:"
  1539. # fefc234a315d41fd9b905b2418daa564
  1540. # b074c4cd64fe4dfe978ce0fecbe1d712
  1541. # 3fee0d1c36454f7aafedc71bea12e4ad
  1542. # 49d73c171fc84fb8b9bed6fedc165f63
  1543. #: ../../design/events.rst:101 ../../design/events.rst:134
  1544. #: ../../design/events.rst:188 ../../design/events.rst:216
  1545. msgid "Parameters:"
  1546. msgstr "Parámetros:"
  1547. # c62869becfaa4f6c9c67f1d210be048c
  1548. # d3fb2bcd4711400ca813d83f2d57605e
  1549. #: ../../design/events.rst:103 ../../design/events.rst:136
  1550. msgid "**$event** The event name."
  1551. msgstr "**$event:** El nombre del evento."
  1552. # a9adf385688b429782cdc961328644fe
  1553. #: ../../design/events.rst:104
  1554. msgid ""
  1555. "**$object_type** The object type (e.g. \"user\" or \"object\") or 'all' for "
  1556. "all types on which the event is fired."
  1557. 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."
  1558. # 47b867c2ecca4170b3c8c5e56779064d
  1559. # ffd46477d0e94f2d959bb0f3a7a217d9
  1560. #: ../../design/events.rst:106 ../../design/events.rst:192
  1561. msgid "**$handler** The callback of the handler function."
  1562. msgstr "**$handler:** La llamada de retorno de la función manejadora."
  1563. # bfdccc6805674a889ee333431b363e86
  1564. # 76c00b94432c49f8ae0504fd73eb2c1b
  1565. #: ../../design/events.rst:107 ../../design/events.rst:193
  1566. msgid "**$priority** The priority - 0 is first and the default is 500."
  1567. msgstr "**$priority:** La prioridad. 0 es la mayor prioridad, 500 es el valor predeterminado."
  1568. # 585418ffb5a644038c7297684740d202
  1569. #: ../../design/events.rst:109
  1570. msgid ""
  1571. "**Object** here does not refer to an ``ElggObject`` but rather any object in"
  1572. " the framework: system, user, object, relationship, annotation, group."
  1573. 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)."
  1574. # 24557f9ebb4544f2987dab2d25827e80
  1575. # 2698340329fc467eae69be71e7c64b03
  1576. #: ../../design/events.rst:112 ../../design/events.rst:198
  1577. msgid "Example:"
  1578. msgstr "Ejemplo:"
  1579. # f592416d1153470ba13b3d6680752fa8
  1580. #: ../../design/events.rst:122
  1581. msgid "Trigger an Elgg Event"
  1582. msgstr "Desencadenar un evento de Elgg"
  1583. # cb20c55f61fa4fcf973086250198ffe4
  1584. #: ../../design/events.rst:124
  1585. msgid "You can trigger a custom Elgg event using ``elgg_trigger_event``:"
  1586. msgstr "Usted puede desencadenar un evento personalizado de Elgg mediante ``elgg_trigger_event``:"
  1587. # 392c49b289ee46a19be8d9b2478beabd
  1588. #: ../../design/events.rst:137
  1589. msgid "**$object_type** The object type (e.g. \"user\" or \"object\")."
  1590. msgstr "**$object_type:** El tipo de objeto (por ejemplo: «user» o «object»)."
  1591. # b0fadd697dd74317a5e0a6d4f31a347b
  1592. #: ../../design/events.rst:138
  1593. msgid ""
  1594. "**$object** The object (e.g. an instance of ``ElggUser`` or ``ElggGroup``)"
  1595. msgstr "**$object:** El objeto (como puede ser una instancia de ``ElggUser`` o de ``ElggGroup``)."
  1596. # 3d76fef3233f4900826f4cd8fa64b448
  1597. #: ../../design/events.rst:140
  1598. msgid ""
  1599. "The function will return ``false`` if any of the selected handlers returned "
  1600. "``false``, otherwise it will return ``true``."
  1601. 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``."
  1602. # 07485028dbf145bfb90c4ca0726a47cb
  1603. #: ../../design/events.rst:145
  1604. msgid "Plugin Hooks"
  1605. msgstr "Ganchos de complementos"
  1606. # 7aad0bfe54904f9687418c52c15ea655
  1607. #: ../../design/events.rst:147
  1608. msgid ""
  1609. "Plugin Hooks provide a way for plugins to collaboratively determine or alter"
  1610. " a value. E.g. this could be to set a configuration array or to decide "
  1611. "whether a user has permission to edit an entity."
  1612. 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."
  1613. # 4973c5aec7e84b8294d0d5aa567eac23
  1614. #: ../../design/events.rst:151
  1615. msgid ""
  1616. "A plugin hook has a value passed into the trigger function, and each handler"
  1617. " has an opportunity to alter the value before it's passed to the next "
  1618. "handler. After the last handler has completed, the current value is returned"
  1619. " by the trigger."
  1620. 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."
  1621. # ed38516d4fd44891b00980874289e369
  1622. #: ../../design/events.rst:157
  1623. msgid "Plugin Hook Handlers"
  1624. msgstr "Manejadores de ganchos de complementos"
  1625. # e2d8c471ee7940b9a77f684c74ad6e7d
  1626. #: ../../design/events.rst:159
  1627. msgid "Plugin hook handlers should have the following prototype:"
  1628. msgstr "Los manejadores de ganchos de complementos deberían tener el siguiente prototipo:"
  1629. # fe82a13e2a1b4dd3b1033e6e33b72a9e
  1630. #: ../../design/events.rst:175
  1631. msgid ""
  1632. "If the handler returns no value (or `null` explicitly), the plugin hook "
  1633. "value is not altered. Otherwise the return value becomes the new value of "
  1634. "the plugin hook. It will then be passed to the next handler as `$value`."
  1635. 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`."
  1636. # 77d09222b0fc4cf8bd9784d611c62638
  1637. #: ../../design/events.rst:180
  1638. msgid "Register to handle a Plugin Hook"
  1639. msgstr "Registrar un manejador para un gancho de complemento"
  1640. # c1713e31afd840eea8e269959c1f7da0
  1641. #: ../../design/events.rst:182
  1642. msgid ""
  1643. "Register your handler to a plugin hook using "
  1644. "``elgg_register_plugin_hook_handler``:"
  1645. msgstr "Para registrar un manejador para un gancho de complementos, use ``elgg_register_plugin_hook_handler``:"
  1646. # 83f95b9e07384adf9e52b5029d3498a5
  1647. # fa8cc99883884c4ca6540b354a226963
  1648. #: ../../design/events.rst:190 ../../design/events.rst:218
  1649. msgid "**$hook** The name of the plugin hook."
  1650. msgstr "**$hook:** El nombre del gancho de complementos."
  1651. # e8db71f11c68486cac7232ca1af5eb29
  1652. # ab285109481643e7a7dc0d0de63d257a
  1653. #: ../../design/events.rst:191 ../../design/events.rst:219
  1654. msgid "**$type** The type of the hook or 'all' for all types."
  1655. msgstr "**$type:** El tipo del gancho, o «all» si son todos los tipos."
  1656. # 02d0eb2836014b7f990b0bb8365af619
  1657. #: ../../design/events.rst:195
  1658. msgid ""
  1659. "**Type** can vary in meaning. It may mean an Elgg entity type or something "
  1660. "specific to the plugin hook name."
  1661. 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."
  1662. # 9ff4b14421394abd9aa245f0dc73ffae
  1663. #: ../../design/events.rst:207
  1664. msgid "Trigger a Plugin Hook"
  1665. msgstr "Desencadenar un gancho de componente"
  1666. # 0ad78ad48b564a8ab5395ad96d1b6a49
  1667. #: ../../design/events.rst:209
  1668. msgid ""
  1669. "You can trigger a custom plugin hook using ``elgg_trigger_plugin_hook``:"
  1670. msgstr "Usted puede desencadenar un gancho de componente personalizado mediante ``elgg_trigger_plugin_hook``:"
  1671. # 2a27da05318a423d9e8a3ffaea75ec69
  1672. #: ../../design/events.rst:220
  1673. msgid "**$params** Arbitrary data passed from the trigger to the handlers."
  1674. msgstr "**$params:** Datos arbitrarios que se pasaron del desencadenante a los manejadores."
  1675. # 6f4305738a2f4a9ea077b720a4a970f3
  1676. #: ../../design/events.rst:221
  1677. msgid "**$value** The initial value of the plugin hook."
  1678. msgstr "**$value:** El valor inicial del gancho de complementos."
  1679. # c075f3dae8f2423bb6b3fcb047f4a854
  1680. #: ../../design/events.rst:223
  1681. msgid ""
  1682. "**Caveat!** The `$params` and `$value` arguments are reversed between the "
  1683. "plugin hook handlers and trigger functions!"
  1684. msgstr "**Advertencia:** Los argumentos `$params` y `$value` tienen una posición distinta entre los manejadores del gancho de complementos y las funciones desencadenantes."
  1685. # f2b0e15374e84e8c99cb75904ca5d316
  1686. #: ../../design/i18n.rst:2
  1687. msgid "Internationalization"
  1688. msgstr "Internacionalización"
  1689. # 1de9183ecae2427aab46c72fced54f36
  1690. #: ../../design/i18n.rst:4
  1691. msgid ""
  1692. "Elgg 1.0+ departs from previous versions in that it uses a custom text array"
  1693. " rather than gettext. This improves system performance and reliability of "
  1694. "the translation system."
  1695. 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."
  1696. # e5b7906a48ab45c9adc80110fa25e876
  1697. #: ../../design/i18n.rst:7
  1698. msgid "TODO: more plz"
  1699. msgstr "Por hacer: Más información, por favor."
  1700. # 3aee8a238c504541b62994c9ae9495c0
  1701. #: ../../design/index.rst:2
  1702. msgid "Design Docs"
  1703. msgstr "Documentos de diseño"
  1704. # a4b3a4a99a9a48409cdd46d5da2b9fff
  1705. #: ../../design/index.rst:4
  1706. msgid ""
  1707. "Gain a deep understanding of how Elgg works and why it's built the way it "
  1708. "is."
  1709. msgstr "Aprende y comprende el funcionamiento interno de Elgg y los principios que lo motivan."
  1710. # 771d509d87db4249a6427dfccbe45224
  1711. #: ../../design/security.rst:2
  1712. msgid "Security"
  1713. msgstr "Seguridad"
  1714. # fd2a6c9fb6cf49bbb2e8c3cff694d62c
  1715. #: ../../design/security.rst:4
  1716. msgid ""
  1717. "Elgg’s approach to the various security issues common to all web "
  1718. "applications."
  1719. msgstr "La forma en que Elgg aborda los diversos problemas de seguridad es la misma que la del resto de aplicaciones web."
  1720. # 8d1ea4038b234e9ea2313023b60c377c
  1721. #: ../../design/security.rst:6
  1722. msgid "To report a potential vulnerability in Elgg, email security@elgg.org."
  1723. msgstr "Para informar de una posible vulnerabilidad en Elgg, envíe un correo electrónico a security@elgg.org."
  1724. # 47ee811c9f8345139a09ce87aadc951b
  1725. #: ../../design/security.rst:9
  1726. msgid "Passwords"
  1727. msgstr "Contraseñas"
  1728. # 5c1644015ca34ad38493c282b79d549a
  1729. #: ../../design/security.rst:12
  1730. msgid "Password validation"
  1731. msgstr "Validación de contraseñas"
  1732. # a73e6afec4bb47509e9e01bf0d5565c8
  1733. #: ../../design/security.rst:14
  1734. msgid ""
  1735. "The only restriction that Elgg places on a password is that it must be at "
  1736. "least 6 characters long by default, though this may be changed in "
  1737. "/engine/settings.php. Additional criteria can be added by a plugin by "
  1738. "registering for the ``registeruser:validate:password`` plugin hook."
  1739. 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``."
  1740. # 8e7ba1c7aa044b12ab62cb5e4a6e4a29
  1741. #: ../../design/security.rst:17
  1742. msgid "Password salting"
  1743. msgstr "Añadido de un código aleatorio a la contraseña"
  1744. # 45d30421e7c949b68d3848aaa0a0c3e2
  1745. #: ../../design/security.rst:21
  1746. msgid ""
  1747. "Elgg salts passwords with a unique 8 character random string. The salt is "
  1748. "generated each time the password is set. The main security advantages of the"
  1749. " salting are:"
  1750. 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:"
  1751. # 89340fa3a575454fb19c875330c2fe98
  1752. #: ../../design/security.rst:20
  1753. msgid ""
  1754. "preventing anyone with access to the database from conducting a precomputed "
  1755. "dictionary attack"
  1756. msgstr "Evitar que cualquiera con acceso a la base de datos pueda ejecutar un ataque de diccionario pre-calculado."
  1757. # 2788c4db08b748ccaa1c1ab09be9d43f
  1758. #: ../../design/security.rst:21
  1759. msgid ""
  1760. "preventing a site administration from noting users with the same password."
  1761. msgstr "Evitar que los administradores del sistema puedan detectar qué usuarios tienen la misma contraseña."
  1762. # da39f40c718844f2b4614ce5674abf31
  1763. #: ../../design/security.rst:24
  1764. msgid "Password hashing"
  1765. msgstr "Suma de la contraseña"
  1766. # 5bd0d8f11c95474d9d4917d66f5dc4a4
  1767. #: ../../design/security.rst:26
  1768. msgid ""
  1769. "The hashed password is computed using md5 from the user's password text and "
  1770. "the salt."
  1771. 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."
  1772. # 5968905dc0e943a3885c4869017021c8
  1773. #: ../../design/security.rst:29
  1774. msgid "Password storage"
  1775. msgstr "Almacenamiento de las contraseñas"
  1776. # b2e188660e064e388d8890b6cdc42fad
  1777. #: ../../design/security.rst:31
  1778. msgid ""
  1779. "The hashed password and the salt are stored in the users table. Neither are "
  1780. "stored in any cookies on a user's computer."
  1781. 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."
  1782. # 49772a89b6ca4ba5bdf8d96bafb2becf
  1783. #: ../../design/security.rst:34
  1784. msgid "Password throttling"
  1785. msgstr "Regulador de accesos"
  1786. # e2f5dde3c5f04d409a7ea2d51d915e65
  1787. #: ../../design/security.rst:36
  1788. msgid ""
  1789. "Elgg has a password throttling mechanism to make dictionary attacks from the"
  1790. " outside very difficult. A user is only allowed 5 login attempts over a 5 "
  1791. "minute period."
  1792. 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."
  1793. # c49b7b9fb66f4df1a471f611857273ba
  1794. #: ../../design/security.rst:39
  1795. msgid "Password resetting"
  1796. msgstr "Restablecimiento de contraseñas"
  1797. # 0fd888b442c04ef2bda67c5d5e8f0932
  1798. #: ../../design/security.rst:41
  1799. msgid ""
  1800. "If a user forgets his password, a new random password can be requested. "
  1801. "After the request, an email is sent with a unique URL. When the user visits "
  1802. "that URL, a new random password is sent to the user through email."
  1803. 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."
  1804. # 5d2dcf8969074482b1fac3966ab0d1c5
  1805. #: ../../design/security.rst:44
  1806. msgid "Sessions"
  1807. msgstr "Sesiones"
  1808. # f1590d94359242fb8e5ff17c6f43249c
  1809. #: ../../design/security.rst:46
  1810. msgid ""
  1811. "Elgg uses PHP's session handling with custom handlers. Session data is "
  1812. "stored in the database. The session cookie contains the session id that "
  1813. "links the user to the browser. The user's metadata is stored in the session "
  1814. "including GUID, username, email address. The session's lifetime is "
  1815. "controlled through the server's PHP configuration."
  1816. 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."
  1817. # a510b77b89c246eeb36a43676bdc72a3
  1818. #: ../../design/security.rst:49
  1819. msgid "Session fixation"
  1820. msgstr "Fijación de la sesión"
  1821. # 727b7c9f39844bd696f9800a5d399f73
  1822. #: ../../design/security.rst:50
  1823. msgid ""
  1824. "Elgg protects against session fixation by regenerating the session id when a"
  1825. " user logs in."
  1826. 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."
  1827. # 61959290cb4f43dc99a40144e8ec1d9d
  1828. #: ../../design/security.rst:53
  1829. msgid "Session hijacking"
  1830. msgstr "Robo de sesión"
  1831. # 55ef520c3a7547b28af05073e999db42
  1832. #: ../../design/security.rst:54
  1833. msgid "This section is questionable."
  1834. msgstr "Esta sección resulta cuestionable."
  1835. # 769c6657b6db4f2ab114f26e95b26c1b
  1836. #: ../../design/security.rst:56
  1837. msgid ""
  1838. "Besides protecting against session fixation attacks, Elgg also has a further"
  1839. " check to try to defeat session hijacking if the session identifier is "
  1840. "compromised. Elgg stores a hash of the browser's user agent and a site "
  1841. "secret as a session fingerprint. The use of the site secret is rather "
  1842. "superfluous but checking the user agent might prevent some session hijacking"
  1843. " attempts."
  1844. 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."
  1845. # ce2c23f52c254a698a6b5d8d3bb2f100
  1846. #: ../../design/security.rst:59
  1847. msgid "“Remember me” cookie"
  1848. msgstr "Cookie de «recordarme»"
  1849. # ee16519f70cd4a53964bc48ee0e3aeb8
  1850. #: ../../design/security.rst:60
  1851. msgid ""
  1852. "To allow users to stay logged in for a longer period of time regardless of "
  1853. "whether the browser has been closed, Elgg uses a cookie (called elggperm) "
  1854. "that contains what could be considered a super session identifier. This "
  1855. "identifier is stored in a cookies table. When a session is being initiated, "
  1856. "Elgg checks for the presence of the elggperm cookie. If it exists and the "
  1857. "session code in the cookie matches the code in the cookies table, the "
  1858. "corresponding user is automatically logged in."
  1859. 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."
  1860. # 5974a04cd0154762ad5ff41c6cf50810
  1861. #: ../../design/security.rst:63
  1862. msgid "Alternative authentication"
  1863. msgstr "Autenticación alternativa"
  1864. # 3662a2310e384720bf4421d7f43a51ba
  1865. #: ../../design/security.rst:65
  1866. msgid "This section is very hand-wavy"
  1867. msgstr "Esta sección no es muy precisa."
  1868. # 26e33fba466848da930ad4b27380624f
  1869. #: ../../design/security.rst:67
  1870. msgid ""
  1871. "To replace Elgg's default user authentication system, a plugin would have to"
  1872. " replace the default action with its own through ``register_action()``. It "
  1873. "would also have to register its own pam handler using "
  1874. "``register_pam_handler()``."
  1875. 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()``."
  1876. # 99dc13dbdece45bca1cdb81df2233f5d
  1877. #: ../../design/security.rst:69
  1878. msgid ""
  1879. "The ``pam_authenticate()`` function used to call the different modules has a"
  1880. " bug related to the importance variable."
  1881. 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."
  1882. # e81f87a148f748c8af519761141c96f1
  1883. #: ../../design/security.rst:73
  1884. msgid "HTTPS"
  1885. msgstr "HTTPS"
  1886. # 1603d889e01a4776912d1cd4a4720462
  1887. #: ../../design/security.rst:75
  1888. msgid ""
  1889. "You must enable SSL support on your server for any of these techniques to "
  1890. "work."
  1891. msgstr "Debe activar la compatibilidad con SSL en su servidor para que las siguientes técnicas funcionen."
  1892. # 9fd2b895adb74cc28d716f71db023efc
  1893. #: ../../design/security.rst:77
  1894. msgid ""
  1895. "To make the login form submit over https, turn on login-over-ssl from Elgg’s"
  1896. " admin panel."
  1897. msgstr "Para que el formulario de acceso se envíe mediante HTTPS, active «login-over-ssl» desde el panel de administración de Elgg."
  1898. # ddb271c9e0184a02b049d05cfd18bdb9
  1899. #: ../../design/security.rst:79
  1900. msgid ""
  1901. "You can also serve your whole site over SSL by simply changing the site URL "
  1902. "to include “https” instead of just “http.”"
  1903. msgstr "Para que todo el sitio utilice SSL, cambie la URL del sitio para que en vez de «http» empiece por «https»."
  1904. # cd88a60a71d543318b3b360e1f576fde
  1905. #: ../../design/security.rst:82
  1906. msgid "XSS"
  1907. msgstr "XSS"
  1908. # 9ef86ad0f8f44bc4a69333395c34481e
  1909. #: ../../design/security.rst:84
  1910. msgid ""
  1911. "Filtering is used in Elgg to make XSS attacks more difficult. The purpose of"
  1912. " the filtering is to remove Javascript and other dangerous input from users."
  1913. 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."
  1914. # 56f6e42ff7ad45809e0ce0c01aa19e68
  1915. #: ../../design/security.rst:86
  1916. msgid ""
  1917. "Filtering is performed through the function ``filter_tags()``. This function"
  1918. " takes in a string and returns a filtered string. It triggers a ``validate, "
  1919. "input`` plugin hook."
  1920. 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``."
  1921. # 3a459878641a43dda0c611a9ea80c5e6
  1922. #: ../../design/security.rst:88
  1923. msgid ""
  1924. "By default Elgg comes with the htmLawed filtering code as a plugin. "
  1925. "Developers can drop in any additional or replacement filtering code as a "
  1926. "plugin."
  1927. 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."
  1928. # bcdcded54b1445fd85686ad1c5c3030d
  1929. #: ../../design/security.rst:90
  1930. msgid ""
  1931. "The ``filter_tags()`` function is called on any user input as long as the "
  1932. "input is obtained through a call to ``get_input()``. If for some reason a "
  1933. "developer did not want to perform the default filtering on some user input, "
  1934. "the ``get_input()`` function has a parameter for turning off filtering."
  1935. 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."
  1936. # 156f23f0e4114deca361eb40633b1ee7
  1937. #: ../../design/security.rst:93
  1938. msgid "XSRF"
  1939. msgstr "XSRF"
  1940. # 1d2284b2e4d043c69edd1dcbb7ee6d1b
  1941. #: ../../design/security.rst:95
  1942. msgid ""
  1943. "Elgg generates security tokens to prevent XSRF attacks. These are embedded "
  1944. "in all forms and state-modifying AJAX requests as long as the correct API is"
  1945. " used. Read more in the :doc:`/guides/actions` developer guide."
  1946. 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`."
  1947. # 6d68bac59517409dbe6eedd3b1af40dd
  1948. #: ../../design/security.rst:98
  1949. msgid "SQL Injection"
  1950. msgstr "Inyección SQL"
  1951. # f819cdf82104430386a13110da0fa0ea
  1952. #: ../../design/security.rst:100
  1953. msgid ""
  1954. "Elgg’s API sanitizes all input before issuing DB queries. Read more in the "
  1955. ":doc:`/design/database` design doc."
  1956. 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`."
  1957. # 42cf927fd09e4ac7997e0f3165f43bc3
  1958. #: ../../design/security.rst:103
  1959. msgid "Privacy"
  1960. msgstr "Privacidad"
  1961. # 5efc7332f2c44b89a2bed1470c773871
  1962. #: ../../design/security.rst:105
  1963. msgid ""
  1964. "Elgg uses an ACL system to control which users have access to various pieces"
  1965. " of content. Read more in the :doc:`/design/database` design doc."
  1966. 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`."