[webbeans-commits] Webbeans SVN: r840 - doc/trunk/reference/es-ES.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Fri Jan 9 01:41:20 EST 2009


Author: guegl
Date: 2009-01-09 01:41:20 -0500 (Fri, 09 Jan 2009)
New Revision: 840

Modified:
   doc/trunk/reference/es-ES/Author_Group.po
   doc/trunk/reference/es-ES/decorators.po
   doc/trunk/reference/es-ES/events.po
   doc/trunk/reference/es-ES/example.po
   doc/trunk/reference/es-ES/extend.po
   doc/trunk/reference/es-ES/injection.po
Log:
in progress

Modified: doc/trunk/reference/es-ES/Author_Group.po
===================================================================
--- doc/trunk/reference/es-ES/Author_Group.po	2009-01-09 06:19:30 UTC (rev 839)
+++ doc/trunk/reference/es-ES/Author_Group.po	2009-01-09 06:41:20 UTC (rev 840)
@@ -8,7 +8,7 @@
 "Project-Id-Version: Author_Group\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
 "POT-Creation-Date: 2009-01-08 14:07+0000\n"
-"PO-Revision-Date: 2009-01-08 12:17+1000\n"
+"PO-Revision-Date: 2009-01-09 11:40+1000\n"
 "Last-Translator: Gladys Guerrero Lozano <gguerrer at redhat.com>\n"
 "Language-Team: Spanish <fedora-trans-es at redhat.com>\n"
 "MIME-Version: 1.0\n"
@@ -40,12 +40,13 @@
 
 #. Tag: affiliation
 #: Author_Group.xml:15
-#, fuzzy, no-c-format
+#, no-c-format
+#, fuzzy
 msgid ""
 "<jobtitle>Web Beans (JSR-299) Reference Implementation lead </jobtitle> "
 "<orgname>Red Hat Middleware LLC</orgname>"
 msgstr ""
-"<jobtitle>Web Beans (JSR-299) Reference Implementation lead </jobtitle> "
+"<jobtitle>Web Beans (JSR-299) Guía de Referencia de Aplicación </jobtitle> "
 "<orgname>Red Hat Middleware LLC</orgname>"
 
 #. Tag: othercredit
@@ -65,3 +66,4 @@
 #, no-c-format
 msgid "<firstname>Francesco</firstname> <surname>Milesi</surname>"
 msgstr "<firstname>Francesco</firstname> <surname>Milesi</surname>"
+

Modified: doc/trunk/reference/es-ES/decorators.po
===================================================================
--- doc/trunk/reference/es-ES/decorators.po	2009-01-09 06:19:30 UTC (rev 839)
+++ doc/trunk/reference/es-ES/decorators.po	2009-01-09 06:41:20 UTC (rev 840)
@@ -8,7 +8,7 @@
 "Project-Id-Version: decorators\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
 "POT-Creation-Date: 2008-12-19 20:26+0000\n"
-"PO-Revision-Date: 2009-01-08 12:15+1000\n"
+"PO-Revision-Date: 2009-01-09 11:30+1000\n"
 "Last-Translator: Gladys Guerrero Lozano <gguerrer at redhat.com>\n"
 "Language-Team: Spanish <fedora-trans-es at redhat.com>\n"
 "MIME-Version: 1.0\n"
@@ -33,7 +33,7 @@
 "However, by nature, interceptors are unaware of the actual semantics of the "
 "events they intercept. Thus, interceptors aren't an appropriate tool for "
 "separating business-related concerns."
-msgstr "Los interceptores son una forma potente de capturar y distinguir preocupaciones que son <emphasis>ortogonales</emphasis> al tipo de sistema. Cualquier interceptor puede interceptar invocaciones de cualquier tipo Java. Esto los hace perfectos para resolver las dudas técnicas como la administración de transacción y la seguridad. Sin embargo, por naturaleza, los interceptores desconocen la semántica real de los eventos que interceptan. Por lo tanto, los interceptores no son una herramienta apropiada para separar las cuestiones relacionadas con negocios."
+msgstr "Los interceptores son una forma potente de capturar y distinguir cuestiones que son <emphasis>ortogonales</emphasis> al tipo de sistema. Cualquier interceptor puede interceptar invocaciones de cualquier tipo Java. Esto los hace perfectos para resolver las cuestiones técnicas como la administración de transacción y la seguridad. Sin embargo, por naturaleza, los interceptores desconocen la semántica real de los eventos que interceptan. Por lo tanto, los interceptores no son una herramienta apropiada para distinguir cuestiones relacionadas con negocios."
 
 #. Tag: para
 #: decorators.xml:14
@@ -45,7 +45,7 @@
 "a perfect tool for modeling some kinds of business concerns. It also means "
 "that a decorator doesn't have the generality of an interceptor. Decorators "
 "aren't able to solve technical concerns that cut across many disparate types."
-msgstr "Contrario a los <emphasis>decoradores</emphasis>, los cuales interceptan invocaciones únicamente para una cierta interfaz de Java y son por lo tanto, conscientes de toda la semántica asociada a la interfaz. Esto los hace una herramienta perfecta para representar algunos tipos de problemas de negocios. También significa que los decoradores no tienen la generalidad de un interceptor. Los decoradores no pueden resolver problemas técnicos que atraviesan muchos tipos dispares."
+msgstr "Contrario a los <emphasis>decoradores</emphasis>, los cuales interceptan invocaciones únicamente para una cierta interfaz de Java y son por lo tanto, conscientes de toda la semántica asociada a la interfaz. Esto los hace una herramienta perfecta para representar algunas clases de cuestiones de negocios. También significa que los decoradores no tienen la generalidad de un interceptor. Los decoradores no pueden resolver problemas técnicos que atraviesan muchos tipos dispares."
 
 #. Tag: para
 #: decorators.xml:22

Modified: doc/trunk/reference/es-ES/events.po
===================================================================
--- doc/trunk/reference/es-ES/events.po	2009-01-09 06:19:30 UTC (rev 839)
+++ doc/trunk/reference/es-ES/events.po	2009-01-09 06:41:20 UTC (rev 840)
@@ -8,7 +8,7 @@
 "Project-Id-Version: events\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
 "POT-Creation-Date: 2008-12-19 20:26+0000\n"
-"PO-Revision-Date: 2009-01-08 17:04+1000\n"
+"PO-Revision-Date: 2009-01-09 11:24+1000\n"
 "Last-Translator: Gladys Guerrero Lozano <gguerrer at redhat.com>\n"
 "Language-Team: Spanish <fedora-trans-es at redhat.com>\n"
 "MIME-Version: 1.0\n"
@@ -32,7 +32,7 @@
 "Bean manager. This basic schema might sound like the familiar observer/"
 "observable pattern, but there are a couple of twists:"
 msgstr ""
-"La notificación de eventos de Web Beans permite a Web Beans interactuar de una manera completamente disociada. Los <emphasis>productores</emphasis> levantan eventos que son enviados luego a <emphasis>observadores</emphasis> de evento por el administrador de Web "
+"La notificación de eventos de Web Beans permite a Web Beans interactuar de una manera completamente disociada. Los <emphasis>productores</emphasis> crean eventos que son enviados luego a <emphasis>observadores</emphasis> de evento por el administrador de Web "
 "Beans. Este esquema básico podría sonar como el patrón de observador familiar/"
 "observable, pero hay un par de cambios:"
 
@@ -50,7 +50,7 @@
 msgid ""
 "observers can specify a combination of \"selectors\" to narrow the set of "
 "event notifications they will receive, and"
-msgstr "los observadores pueden especificar una combinación de \"selectores\" para estrechar el conjunto de notificaciones de eventos que recibirán y "
+msgstr "los observadores pueden especificar una combinación de \"selectores\" para limitar el conjunto de notificaciones de eventos que recibirán y"
 
 #. Tag: para
 #: events.xml:22
@@ -185,7 +185,7 @@
 "with scope <literal>@Dependent</literal> and deployment type "
 "<literal>@Standard</literal>, with an implementation provided by the Web "
 "Bean manager."
-msgstr "La anotación <literal>@Observable</literal> define implícitamente un Web Bean con alcance <literal>@Dependent</literal> y tipo de despliegue <literal>@Standard</literal>, con una implementación provista por el administrador de Web Bean."
+msgstr "La anotación <literal>@Observable</literal> define implícitamente un Web Bean con ámbito <literal>@Dependent</literal> y tipo de despliegue <literal>@Standard</literal>, con una implementación provista por el administrador de Web Bean."
 
 #. Tag: para
 #: events.xml:72
@@ -217,7 +217,7 @@
 #: events.xml:83 events.xml:107 events.xml:126
 #, no-c-format
 msgid "has an event parameter to which the event object is assignable, and"
-msgstr "tenga un parámetro de evento al cual el objeto de evento sea asignable y "
+msgstr "tenga un parámetro de evento al cual el objeto de evento sea asignable y"
 
 #. Tag: para
 #: events.xml:86
@@ -233,7 +233,7 @@
 "event object as the value of the event parameter. If any observer method "
 "throws an exception, the Web Bean manager stops calling observer methods, "
 "and the exception is rethrown by the <literal>fire()</literal> method."
-msgstr "El administrador de Web Bean simplemente llama a todos los métodos de observador, pasando el objeto del evento como el valor de un parámetro de evento. Si cualquier método de observador lanza una excepción, el administrador de Web Bean se detiene llamando a los métodos de observador y la excepción es reenviada por le método <literal>fire()</literal>."
+msgstr "El administrador de Web Beans simplemente llama a todos los métodos de observador, pasando el objeto del evento como el valor de un parámetro de evento. Si cualquier método de observador lanza una excepción, el administrador de Web Beans se detiene llamando a los métodos de observador y la excepción es reenviada por le método <literal>fire()</literal>."
 
 #. Tag: para
 #: events.xml:95
@@ -241,7 +241,7 @@
 msgid ""
 "To specify a \"selector\", the event producer may pass an instance of the "
 "event binding type to the <literal>fire()</literal> method:"
-msgstr ""
+msgstr "Para especificar un \"selector\", el productor del evento puede pasar una instancia del tipo de enlace del evento al método <literal>fire()</literal>:"
 
 #. Tag: programlisting
 #: events.xml:98
@@ -250,6 +250,8 @@
 "<![CDATA[documentEvent.fire( document, new AnnotationLiteral<Updated>()"
 "{} );]]>"
 msgstr ""
+"<![CDATA[documentEvent.fire( document, new AnnotationLiteral<Updated>()"
+"{} );]]>"
 
 #. Tag: para
 #: events.xml:100
@@ -258,13 +260,13 @@
 "The helper class <literal>AnnotationLiteral</literal> makes it possible to "
 "instantiate binding types inline, since this is otherwise difficult to do in "
 "Java."
-msgstr ""
+msgstr "La <literal>Anotación Literal</literal> clase auxiliar hace posible crear una instancia de tipos de enlaces en línea, ya que de otra manera es difícil hacerlo en Java."
 
 #. Tag: para
 #: events.xml:103
 #, no-c-format
 msgid "The event will be delivered to every observer method that:"
-msgstr ""
+msgstr "El evento será entregado a cada método de observador que:"
 
 #. Tag: para
 #: events.xml:110
@@ -272,7 +274,7 @@
 msgid ""
 "does not specify any event binding <emphasis>except</emphasis> for the event "
 "bindings passed to <literal>fire()</literal>."
-msgstr ""
+msgstr "no especifique ningún enlace de evento <emphasis>excepto</emphasis> para enlaces de evento pasados a <literal>fire()</literal>."
 
 #. Tag: para
 #: events.xml:115
@@ -280,13 +282,13 @@
 msgid ""
 "Alternatively, event bindings may be specified by annotating the event "
 "notifier injection point:"
-msgstr ""
+msgstr "De modo alternativo, se pueden especificar eventos de enlaces anotando el punto de inyección de notificador de eventos:"
 
 #. Tag: programlisting
 #: events.xml:118
 #, no-c-format
 msgid "<![CDATA[@Observable @Updated Event<Document> documentUpdatedEvent]]>"
-msgstr ""
+msgstr "<![CDATA[@Observable @Updated Event<Document> documentUpdatedEvent]]>"
 
 #. Tag: para
 #: events.xml:120
@@ -295,7 +297,7 @@
 "Then every event fired via this instance of <literal>Event</literal> has the "
 "annotated event binding. The event will be delivered to every observer "
 "method that:"
-msgstr ""
+msgstr "Luego cada evento disparado vía esta instancia de <literal>Evento</literal> tiene el enlace de evento anotado. El evento será enviado a cada método de observador que:"
 
 #. Tag: para
 #: events.xml:129
@@ -304,13 +306,13 @@
 "does not specify any event binding <emphasis>except</emphasis> for the event "
 "bindings passed to <literal>fire()</literal> or the annotated event bindings "
 "of the event notifier injection point."
-msgstr ""
+msgstr "no especifica ningún enlace de evento<emphasis>excepto</emphasis> para los enlaces de eventos pasados a  <literal>fire()</literal> o a los enlaces de evento anotados del punto de inyección del notificador de evento."
 
 #. Tag: title
 #: events.xml:138
 #, no-c-format
 msgid "Registering observers dynamically"
-msgstr ""
+msgstr "Registrando observadores dinámicamente"
 
 #. Tag: para
 #: events.xml:140
@@ -320,7 +322,7 @@
 "may implement the <literal>Observer</literal> interface and register an "
 "instance with an event notifier by calling the <literal>observe()</literal> "
 "method."
-msgstr ""
+msgstr "Suele ser útil registrar dinámicamente un observador de evento. La aplicación puede implementar la interfaz del  <literal>Observador</literal> y registrar una instancia con un notificador de evento llamando el método de <literal>observe()</literal>."
 
 #. Tag: programlisting
 #: events.xml:144
@@ -329,6 +331,8 @@
 "<![CDATA[documentEvent.observe( new Observer<Document>() { public void notify"
 "(Document doc) { ... } } );]]>"
 msgstr ""
+"<![CDATA[documentEvent.observe( new Observer<Document>() { public void notify"
+"(Document doc) { ... } } );]]>"
 
 #. Tag: para
 #: events.xml:146
@@ -338,6 +342,8 @@
 "or by passing event binding type instances to the <literal>observe()</"
 "literal> method:"
 msgstr ""
+"Los tipos de enlace de evento pueden ser especificados por el punto de inyección del notificador del evento o pasando las instancias de tipo de enlace de evento al método <literal>observe()</"
+"literal>:"
 
 #. Tag: programlisting
 #: events.xml:149
@@ -348,18 +354,22 @@
 "                                                new "
 "AnnotationLiteral<Updated>(){} );]]>"
 msgstr ""
+"<![CDATA[documentEvent.observe( new Observer<Document>() { public void notify"
+"(Document doc) { ... } }, \n"
+"                                                new "
+"AnnotationLiteral<Updated>(){} );]]>"
 
 #. Tag: title
 #: events.xml:154
 #, no-c-format
 msgid "Event bindings with members"
-msgstr ""
+msgstr "Enlaces de evento con miembros"
 
 #. Tag: para
 #: events.xml:156
 #, no-c-format
 msgid "An event binding type may have annotation members:"
-msgstr ""
+msgstr "Un tipo de enlace de evento puede tener miembros de anotación:"
 
 #. Tag: programlisting
 #: events.xml:158
@@ -372,12 +382,18 @@
 "    RoleType value();\n"
 "}]]>"
 msgstr ""
+"<![CDATA[@BindingType\n"
+"@Target({PARAMETER, FIELD})\n"
+"@Retention(RUNTIME)\n"
+"public @interface Role {\n"
+"    RoleType value();\n"
+"}]]>"
 
 #. Tag: para
 #: events.xml:160
 #, no-c-format
 msgid "The member value is used to narrow the messages delivered to the observer:"
-msgstr ""
+msgstr "El valor de miembro se utiliza para limitar los mensajes enviados al observador:"
 
 #. Tag: programlisting
 #: events.xml:162
@@ -386,6 +402,8 @@
 "<![CDATA[public void adminLoggedIn(@Observes @Role(ADMIN) LoggedIn event) "
 "{ ... }]]>"
 msgstr ""
+"<![CDATA[public void adminLoggedIn(@Observes @Role(ADMIN) LoggedIn event) "
+"{ ... }]]>"
 
 #. Tag: para
 #: events.xml:164
@@ -393,13 +411,13 @@
 msgid ""
 "Event binding type members may be specified statically by the event "
 "producer, via annotations at the event notifier injection point:"
-msgstr ""
+msgstr "Los miembros de tipo de enlace de evento se pueden especificar estáticamente por el producto del evento, a través de anotaciones en el punto de inyección del notificador de evento."
 
 #. Tag: programlisting
 #: events.xml:167
 #, no-c-format
 msgid "<![CDATA[@Observable @Role(ADMIN) Event<LoggedIn> LoggedInEvent;}}]]>"
-msgstr ""
+msgstr "<![CDATA[@Observable @Role(ADMIN) Event<LoggedIn> LoggedInEvent;}}]]>"
 
 #. Tag: para
 #: events.xml:169
@@ -408,7 +426,7 @@
 "Alternatively, the value of the event binding type member may be determined "
 "dynamically by the event producer. We start by writing an abstract subclass "
 "of <literal>AnnotationLiteral</literal>:"
-msgstr ""
+msgstr "Alternativamente, el valor del miembro de tipo de enlace de evento puede ser determinado de modo dinámico por el productor de evento. Empezamos por escribir una subclase abstracta de <literal>AnotacíonLiteral</literal>:"
 
 #. Tag: programlisting
 #: events.xml:172
@@ -418,6 +436,9 @@
 "    extends AnnotationLiteral<Role> \n"
 "    implements Role {}]]>"
 msgstr ""
+"<![CDATA[abstract class RoleBinding \n"
+"    extends AnnotationLiteral<Role> \n"
+"    implements Role {}]]>"
 
 #. Tag: para
 #: events.xml:174
@@ -426,6 +447,8 @@
 "The event producer passes an instance of this class to <literal>fire()</"
 "literal>:"
 msgstr ""
+"El productor de evento pasa una instancia de esta clase a <literal>fire()</"
+"literal>:"
 
 #. Tag: programlisting
 #: events.xml:176
@@ -434,18 +457,20 @@
 "<![CDATA[documentEvent.fire( document, new RoleBinding() { public void value"
 "() { return user.getRole(); } } );]]>"
 msgstr ""
+"<![CDATA[documentEvent.fire( document, new RoleBinding() { public void value"
+"() { return user.getRole(); } } );]]>"
 
 #. Tag: title
 #: events.xml:181
 #, no-c-format
 msgid "Multiple event bindings"
-msgstr ""
+msgstr "Enlaces de evento múltiples"
 
 #. Tag: para
 #: events.xml:183
 #, no-c-format
 msgid "Event binding types may be combined, for example:"
-msgstr ""
+msgstr "Los tipos de enlaces de evento pueden combinarse, por ejemplo:"
 
 #. Tag: programlisting
 #: events.xml:185
@@ -456,6 +481,10 @@
 "if (document.isBlog()) blogEvent.fire(document, new "
 "AnnotationLiteral<Updated>(){});]]>"
 msgstr ""
+"<![CDATA[@Observable @Blog Event<Document> blogEvent;\n"
+"...\n"
+"if (document.isBlog()) blogEvent.fire(document, new "
+"AnnotationLiteral<Updated>(){});]]>"
 
 #. Tag: para
 #: events.xml:187
@@ -463,7 +492,7 @@
 msgid ""
 "When this event occurs, all of the following observer methods will be "
 "notified:"
-msgstr ""
+msgstr "Cuando un evento ocurre, todos los siguientes métodos de observador serán notificados:"
 
 #. Tag: programlisting
 #: events.xml:189
@@ -472,6 +501,8 @@
 "<![CDATA[public void afterBlogUpdate(@Observes @Updated @Blog Document "
 "document) { ... }]]>"
 msgstr ""
+"<![CDATA[public void afterBlogUpdate(@Observes @Updated @Blog Document "
+"document) { ... }]]>"
 
 #. Tag: programlisting
 #: events.xml:191
@@ -480,6 +511,8 @@
 "<![CDATA[public void onAnyBlogEvent(@Observes @Blog Document document) "
 "{ ... }]]>"
 msgstr ""
+"<![CDATA[public void onAnyBlogEvent(@Observes @Blog Document document) "
+"{ ... }]]>"
 
 #. Tag: programlisting
 #: events.xml:192
@@ -488,12 +521,14 @@
 "<![CDATA[public void onAnyDocumentEvent(@Observes Document document) "
 "{ ... }}}]]>"
 msgstr ""
+"<![CDATA[public void onAnyDocumentEvent(@Observes Document document) "
+"{ ... }}}]]>"
 
 #. Tag: title
 #: events.xml:197
 #, no-c-format
 msgid "Transactional observers"
-msgstr ""
+msgstr "Observadores transaccionales"
 
 #. Tag: para
 #: events.xml:199
@@ -504,7 +539,7 @@
 "For example, the following observer method needs to refresh a query result "
 "set that is cached in the application context, but only when transactions "
 "that update the <literal>Category</literal> tree succeed:"
-msgstr ""
+msgstr "Los observadores transaccionales reciben las notificaciones de sus eventos antes o después de la fase de finalización de la transacción en la se creó el evento. Por ejemplo, el siguiente método de observador necesita actualizar un conjunto de resultados de petición almacenado en caché en el contexto de aplicación, pero sólo cuando las transacciones que actualizan el árbol de <literal>Categoría</literal> tengan éxito:"
 
 #. Tag: programlisting
 #: events.xml:205
@@ -513,12 +548,14 @@
 "<![CDATA[public void refreshCategoryTree(@AfterTransactionSuccess @Observes "
 "CategoryUpdateEvent event) { ... }]]>"
 msgstr ""
+"<![CDATA[public void refreshCategoryTree(@AfterTransactionSuccess @Observes "
+"CategoryUpdateEvent event) { ... }]]>"
 
 #. Tag: para
 #: events.xml:207
 #, no-c-format
 msgid "There are three kinds of transactional observers:"
-msgstr ""
+msgstr "Hay tres clases de observadores transaccionales:"
 
 #. Tag: para
 #: events.xml:211
@@ -527,7 +564,7 @@
 "<literal>@AfterTransactionSuccess</literal> observers are called during the "
 "after completion phase of the transaction, but only if the transaction "
 "completes successfully"
-msgstr ""
+msgstr "Los observadores<literal>@AfterTransactionSuccess</literal> son llamados durante la fase de después de finalización de la transacción, pero sólo si la transacción finaliza exitosamente."
 
 #. Tag: para
 #: events.xml:216
@@ -536,7 +573,7 @@
 "<literal>@AfterTransactionFailure</literal> observers are called during the "
 "after completion phase of the transaction, but only if the transaction fails "
 "to complete successfully"
-msgstr ""
+msgstr "Los observadores <literal>@AfterTransactionFailure</literal> son llamados durante la fase de después de la finalización de la transacción, pero sólo si la transacción falla"
 
 #. Tag: para
 #: events.xml:221
@@ -544,7 +581,7 @@
 msgid ""
 "<literal>@AfterTransactionCompletion</literal> observers are called during "
 "the after completion phase of the transaction"
-msgstr ""
+msgstr "Los observadores <literal>@AfterTransactionCompletion</literal> son llamados durante la fase de después de finalización de la transacción"
 
 #. Tag: para
 #: events.xml:225
@@ -552,7 +589,7 @@
 msgid ""
 "<literal>@BeforeTransactionCompletion</literal> observers are called during "
 "the before completion phase of the transaction"
-msgstr ""
+msgstr "Los observadores <literal>@BeforeTransactionCompletion</literal> son llamados durante la fase de antes de finalización de la transacción"
 
 #. Tag: para
 #: events.xml:230
@@ -561,13 +598,13 @@
 "Transactional observers are very important in a stateful object model like "
 "Web Beans, because state is often held for longer than a single atomic "
 "transaction."
-msgstr ""
+msgstr "Los observadores transaccionales son muy importantes en un modelo de objetos con estado como Web Beans, porque el estado suele ser mantenido para más de una transacción atómica."
 
 #. Tag: para
 #: events.xml:233
 #, no-c-format
 msgid "Imagine that we have cached a JPA query result set in the application scope:"
-msgstr ""
+msgstr "Imagine que hemos almacenado en caché un conjunto de resultados de petición JPA en el ámbito de la aplicación:"
 
 #. Tag: programlisting
 #: events.xml:235
@@ -592,6 +629,24 @@
 "    \n"
 "}]]>"
 msgstr ""
+"<![CDATA[@ApplicationScoped @Singleton\n"
+"public class Catalog {\n"
+"\n"
+"    @PersistenceContext EntityManager em;\n"
+"    \n"
+"    List<Product> products;\n"
+"\n"
+"    @Produces @Catalog \n"
+"    List<Product> getCatalog() {\n"
+"        if (products==null) {\n"
+"            products = em.createQuery(\"select p from Product p where p."
+"deleted = false\")\n"
+"                .getResultList();\n"
+"        }\n"
+"        return products;\n"
+"    }\n"
+"    \n"
+"}]]>"
 
 #. Tag: para
 #: events.xml:237
@@ -601,7 +656,7 @@
 "this occurs, we need to refresh the <literal>Product</literal> catalog. But "
 "we should wait until <emphasis>after</emphasis> the transaction completes "
 "successfully before performing this refresh!"
-msgstr ""
+msgstr "De vez en cuando, se crea o borra un <literal>Producto</literal>. Cuando esto ocurre, necesitamos refrescar el catálogo del <literal>Producto</literal>. No obstante, deberíamos esperar hasta <emphasis>después</emphasis> de que la transacción finalice exitosamente antes de ¡actualizar!"
 
 #. Tag: para
 #: events.xml:242
@@ -609,7 +664,7 @@
 msgid ""
 "The Web Bean that creates and deletes <literal>Product</literal>s could "
 "raise events, for example:"
-msgstr ""
+msgstr "El Web Bean que crea y borra <literal>Productos</literal> podría crear eventos, por ejemplo:"
 
 #. Tag: programlisting
 #: events.xml:245
@@ -635,6 +690,25 @@
 "    \n"
 "}]]>"
 msgstr ""
+"<![CDATA[@Stateless\n"
+"public class ProductManager {\n"
+"\n"
+"    @PersistenceContext EntityManager em;\n"
+"    @Observable Event<Product> productEvent;\n"
+"\n"
+"    public void delete(Product product) {\n"
+"        em.delete(product);\n"
+"        productEvent.fire(product, new AnnotationLiteral<Deleted>(){});\n"
+"    }\n"
+"    \n"
+"    public void persist(Product product) {\n"
+"        em.persist(product);\n"
+"        productEvent.fire(product, new AnnotationLiteral<Created>(){});\n"
+"    }\n"
+"    \n"
+"    ...\n"
+"    \n"
+"}]]>"
 
 #. Tag: para
 #: events.xml:247
@@ -642,7 +716,7 @@
 msgid ""
 "And now <literal>Catalog</literal> can observe the events after successful "
 "completion of the transaction:"
-msgstr ""
+msgstr "Ahora el <literal>Catálogo</literal> puede observar los eventos después de finalizar la transacción exitosamente:"
 
 #. Tag: programlisting
 #: events.xml:250
@@ -665,4 +739,20 @@
 "    \n"
 "}]]>"
 msgstr ""
+"<![CDATA[@ApplicationScoped @Singleton\n"
+"public class Catalog {\n"
+"\n"
+"    ...\n"
+"    \n"
+"    void addProduct(@AfterTransactionSuccess @Observes @Created Product "
+"product) {\n"
+"        products.add(product);\n"
+"    }\n"
+"    \n"
+"    void addProduct(@AfterTransactionSuccess @Observes @Deleted Product "
+"product) {\n"
+"        products.remove(product);\n"
+"    }\n"
+"    \n"
+"}]]>"
 

Modified: doc/trunk/reference/es-ES/example.po
===================================================================
--- doc/trunk/reference/es-ES/example.po	2009-01-09 06:19:30 UTC (rev 839)
+++ doc/trunk/reference/es-ES/example.po	2009-01-09 06:41:20 UTC (rev 840)
@@ -1,23 +1,26 @@
+# translation of example.po to Spanish
 # Language es-ES translations for master.xml package.
+#
 # Automatically generated, 2008.
-#
+# Gladys Guerrero Lozano <gguerrer at redhat.com>, 2009.
 msgid ""
 msgstr ""
-"Project-Id-Version: master.xml \n"
+"Project-Id-Version: example\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
 "POT-Creation-Date: 2009-01-04 23:18+0000\n"
-"PO-Revision-Date: 2008-12-19 20:26+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-09 11:08+1000\n"
+"Last-Translator: Gladys Guerrero Lozano <gguerrer at redhat.com>\n"
+"Language-Team: Spanish <fedora-trans-es at redhat.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
 #: example.xml:4
 #, no-c-format
 msgid "JSF web application example"
-msgstr ""
+msgstr "ejemplo de aplicación de red JSF"
 
 #. Tag: para
 #: example.xml:6
@@ -26,7 +29,7 @@
 "Let's illustrate these ideas with a full example. We're going to implement "
 "user login/logout for an application that uses JSF. First, we'll define a "
 "Web Bean to hold the username and password entered during login:"
-msgstr ""
+msgstr "Ilustremos estas ideas con un ejemplo. Vamos a implementar inicio/cierre de sesión de usuario para una aplicación que utiliza JSF. Primero, definiremos un Web Bean para mantener el nombre de usuario y contraseña escrito durante el inicio de sesión:"
 
 #. Tag: programlisting
 #: example.xml:11
@@ -46,12 +49,25 @@
 "    \n"
 "}]]>"
 msgstr ""
+"<![CDATA[@Named @RequestScoped\n"
+"public class Credentials {\n"
+"        \n"
+"    private String username;\n"
+"    private String password;\n"
+"    \n"
+"    public String getUsername() { return username; }\n"
+"    public void setUsername(String username) { this.username = username; }\n"
+"    \n"
+"    public String getPassword() { return password; }\n"
+"    public void setPassword(String password) { this.password = password; }\n"
+"    \n"
+"}]]>"
 
 #. Tag: para
 #: example.xml:13
 #, no-c-format
 msgid "This Web Bean is bound to the login prompt in the following JSF form:"
-msgstr ""
+msgstr "Este Web Bean está vinculado al intérprete de comandos de inicio de sesión en la siguiente forma JSF:"
 
 #. Tag: programlisting
 #: example.xml:15
@@ -70,6 +86,18 @@
 "{login.loggedIn}\"/>\n"
 "</h:form>]]>"
 msgstr ""
+"<![CDATA[<h:form>\n"
+"    <h:panelGrid columns=\"2\" rendered=\"#{!login.loggedIn}\">\n"
+"        <h:outputLabel for=\"username\">Username:</h:outputLabel>\n"
+"        <h:inputText id=\"username\" value=\"#{credentials.username}\"/>\n"
+"        <h:outputLabel for=\"password\">Password:</h:outputLabel>\n"
+"        <h:inputText id=\"password\" value=\"#{credentials.password}\"/>\n"
+"    </h:panelGrid>\n"
+"    <h:commandButton value=\"Login\" action=\"#{login.login}\" rendered=\"#{!"
+"login.loggedIn}\"/>\n"
+"    <h:commandButton value=\"Logout\" acion=\"#{login.logout}\" rendered=\"#"
+"{login.loggedIn}\"/>\n"
+"</h:form>]]>"
 
 #. Tag: para
 #: example.xml:17
@@ -78,7 +106,7 @@
 "The actual work is done by a session scoped Web Bean that maintains "
 "information about the currently logged-in user and exposes the "
 "<literal>User</literal> entity to other Web Beans:"
-msgstr ""
+msgstr "El trabajo real está hecho por una sesión de ámbito Web Bean que mantiene información acerca del usuario actualmente conectado y expone la entidad del <literal>Usuario</literal> a otras Web Beans:"
 
 #. Tag: programlisting
 #: example.xml:21
@@ -121,12 +149,48 @@
 "\n"
 "}]]>"
 msgstr ""
+"<![CDATA[@SessionScoped @Named\n"
+"public class Login {\n"
+"\n"
+"    @Current Credentials credentials;\n"
+"    @PersistenceContext EntityManager userDatabase;\n"
+"\n"
+"    private User user;\n"
+"    \n"
+"    public void login() {\n"
+"            \n"
+"        List<User> results = userDatabase.createQuery(\n"
+"           \"select u from User u where u.username=:username and u.password=:"
+"password\")\n"
+"           .setParameter(\"username\", credentials.getUsername())\n"
+"           .setParameter(\"password\", credentials.getPassword())\n"
+"           .getResultList();\n"
+"        \n"
+"        if ( !results.isEmpty() ) {\n"
+"           user = results.get(0);\n"
+"        }\n"
+"        \n"
+"    }\n"
+"    \n"
+"    public void logout() {\n"
+"        user = null;\n"
+"    }\n"
+"    \n"
+"    public boolean isLoggedIn() {\n"
+"       return user!=null;\n"
+"    }\n"
+"    \n"
+"    @Produces @LoggedIn User getCurrentUser() {\n"
+"        return user;\n"
+"    }\n"
+"\n"
+"}]]>"
 
 #. Tag: para
 #: example.xml:23
 #, no-c-format
 msgid "Of course, <literal>@LoggedIn</literal> is a binding annotation:"
-msgstr ""
+msgstr "Obviamente, <literal>@LoggedIn</literal> es una anotación de enlace:"
 
 #. Tag: programlisting
 #: example.xml:25
@@ -137,12 +201,16 @@
 "@BindingType\n"
 "public @interface LoggedIn {}]]>"
 msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD, FIELD})\n"
+"@BindingType\n"
+"public @interface LoggedIn {}]]>"
 
 #. Tag: para
 #: example.xml:27
 #, no-c-format
 msgid "Now, any other Web Bean can easily inject the current user:"
-msgstr ""
+msgstr "Ahora, cualquier otro Web Bean puede fácilmente inyectar al usuario actual:"
 
 #. Tag: programlisting
 #: example.xml:29
@@ -161,6 +229,18 @@
 "    \n"
 "}]]>"
 msgstr ""
+"<![CDATA[public class DocumentEditor {\n"
+"\n"
+"    @Current Document document;\n"
+"    @LoggedIn User currentUser;\n"
+"    @PersistenceContext EntityManager docDatabase;\n"
+"    \n"
+"    public void save() {\n"
+"        document.setCreatedBy(currentUser);\n"
+"        docDatabase.persist(document);\n"
+"    }\n"
+"    \n"
+"}]]>"
 
 #. Tag: para
 #: example.xml:31
@@ -169,4 +249,5 @@
 "Hopefully, this example gives a flavor of the Web Bean programming model. In "
 "the next chapter, we'll explore Web Beans dependency injection in greater "
 "depth."
-msgstr ""
+msgstr "Esperamos que este ejemplo de una idea del modelo de programación de Web Bean. En el próximo capítulo, estudiaremos más a fondo la inyección de dependencia de Web Beans."
+

Modified: doc/trunk/reference/es-ES/extend.po
===================================================================
--- doc/trunk/reference/es-ES/extend.po	2009-01-09 06:19:30 UTC (rev 839)
+++ doc/trunk/reference/es-ES/extend.po	2009-01-09 06:41:20 UTC (rev 840)
@@ -1,23 +1,26 @@
+# translation of extend.po to Spanish
 # Language es-ES translations for master.xml package.
+#
 # Automatically generated, 2008.
-#
+# Gladys Guerrero Lozano <gguerrer at redhat.com>, 2009.
 msgid ""
 msgstr ""
-"Project-Id-Version: master.xml \n"
+"Project-Id-Version: extend\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
 "POT-Creation-Date: 2008-12-19 20:26+0000\n"
-"PO-Revision-Date: 2008-12-19 20:26+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-09 12:09+1000\n"
+"Last-Translator: Gladys Guerrero Lozano <gguerrer at redhat.com>\n"
+"Language-Team: Spanish <fedora-trans-es at redhat.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
 #: extend.xml:4
 #, no-c-format
 msgid "Extending Web Beans"
-msgstr ""
+msgstr "Extensión de Web Beans"
 
 #. Tag: para
 #: extend.xml:6
@@ -28,13 +31,13 @@
 "SPIs for the use of developers of portable extensions to Web Beans. For "
 "example, the following kinds of extensions were envisaged by the designers "
 "of Web Beans:"
-msgstr ""
+msgstr "Web Beans pretende ser una plataforma para marcos, extensiones e integración con otras tecnologías. Por lo tanto, Web Beans expone un conjunto de SPI para el uso de desarrolladores de extensiones portátiles para Web Beans. Por ejemplo, las siguientes clases de extensiones fueron previstas por los diseñadores de Web Beans:"
 
 #. Tag: para
 #: extend.xml:14
 #, no-c-format
 msgid "integration with Business Process Management engines,"
-msgstr ""
+msgstr "integración con motores de Gestión de Proceso de Negocios,"
 
 #. Tag: para
 #: extend.xml:17
@@ -42,13 +45,13 @@
 msgid ""
 "integration with third-party frameworks such as Spring, Seam, GWT or Wicket, "
 "and"
-msgstr ""
+msgstr "integración con marcos de terceras partes tales como Spring, Seam, GWT o Wicket, y"
 
 #. Tag: para
 #: extend.xml:21
 #, no-c-format
 msgid "new technology based upon the Web Beans programming model."
-msgstr ""
+msgstr "nueva tecnología basada en el modelo de programación de Web Beans."
 
 #. Tag: para
 #: extend.xml:25
@@ -56,13 +59,13 @@
 msgid ""
 "The nerve center for extending Web Beans is the <literal>Manager</literal> "
 "object."
-msgstr ""
+msgstr "El centro nervioso para extender Web Beans es el objeto de <literal>Manager</literal>. "
 
 #. Tag: title
 #: extend.xml:29
 #, no-c-format
 msgid "The <literal>Manager</literal> object"
-msgstr ""
+msgstr "El objeto <literal>Manager</literal>"
 
 #. Tag: para
 #: extend.xml:31
@@ -71,6 +74,8 @@
 "The <literal>Manager</literal> interface lets us register and obtain Web "
 "Beans, interceptors, decorators, observers and contexts programatically."
 msgstr ""
+"La interfaz <literal>Manager</literal> nos permite registrar y obtener Web "
+"Beans, interceptores, decoradores, observadores y contextos en forma programada."
 
 #. Tag: programlisting
 #: extend.xml:34
@@ -133,24 +138,80 @@
 "\n"
 "}]]>"
 msgstr ""
+"<![CDATA[public interface Manager\n"
+"{\n"
+"\n"
+"   public <T> Set<Bean<T>> resolveByType(Class<T> type, Annotation... "
+"bindings);\n"
+"\n"
+"   public <T> Set<Bean<T>> resolveByType(TypeLiteral<T> apiType,\n"
+"         Annotation... bindings);\n"
+"\n"
+"   public <T> T getInstanceByType(Class<T> type, Annotation... bindings);\n"
+"\n"
+"   public <T> T getInstanceByType(TypeLiteral<T> type,\n"
+"         Annotation... bindings);\n"
+"\n"
+"   public Set<Bean<?>> resolveByName(String name);\n"
+"\n"
+"   public Object getInstanceByName(String name);\n"
+"\n"
+"   public <T> T getInstance(Bean<T> bean);\n"
+"\n"
+"   public void fireEvent(Object event, Annotation... bindings);\n"
+"\n"
+"   public Context getContext(Class<? extends Annotation> scopeType);\n"
+"\n"
+"   public Manager addContext(Context context);\n"
+"\n"
+"   public Manager addBean(Bean<?> bean);\n"
+"\n"
+"   public Manager addInterceptor(Interceptor interceptor);\n"
+"\n"
+"   public Manager addDecorator(Decorator decorator);\n"
+"\n"
+"   public <T> Manager addObserver(Observer<T> observer, Class<T> eventType,\n"
+"         Annotation... bindings);\n"
+"\n"
+"   public <T> Manager addObserver(Observer<T> observer, TypeLiteral<T> "
+"eventType,\n"
+"         Annotation... bindings);\n"
+"\n"
+"   public <T> Manager removeObserver(Observer<T> observer, Class<T> "
+"eventType,\n"
+"         Annotation... bindings);\n"
+"\n"
+"   public <T> Manager removeObserver(Observer<T> observer,\n"
+"         TypeLiteral<T> eventType, Annotation... bindings);\n"
+"\n"
+"   public <T> Set<Observer<T>> resolveObservers(T event, Annotation... "
+"bindings);\n"
+"\n"
+"   public List<Interceptor> resolveInterceptors(InterceptionType type,\n"
+"         Annotation... interceptorBindings);\n"
+"\n"
+"   public List<Decorator> resolveDecorators(Set<Class<?>> types,\n"
+"         Annotation... bindings);\n"
+"\n"
+"}]]>"
 
 #. Tag: para
 #: extend.xml:36
 #, no-c-format
 msgid "We can obtain an instance of <literal>Manager</literal> via injection:"
-msgstr ""
+msgstr "Podemos obtener una instancia de <literal>Manager</literal> vía inyección:"
 
 #. Tag: programlisting
 #: extend.xml:38
 #, no-c-format
 msgid "@Current Manager manager"
-msgstr ""
+msgstr "@Current Manager manager"
 
 #. Tag: title
 #: extend.xml:43
 #, no-c-format
 msgid "The <literal>Bean</literal> class"
-msgstr ""
+msgstr "La clase <literal>Bean</literal>"
 
 #. Tag: para
 #: extend.xml:45
@@ -159,7 +220,7 @@
 "Instances of the abstract class <literal>Bean</literal> represent Web Beans. "
 "There is an instance of <literal>Bean</literal> registered with the "
 "<literal>Manager</literal> object for every Web Bean in the application."
-msgstr ""
+msgstr "Instancias de clase abstracta <literal>Bean</literal> representan Web Beans. Hay una instancia de <literal>Bean</literal> registrada con el objeto <literal>Manager</literal> para cada Web Bean en la aplicación. "
 
 #. Tag: programlisting
 #: extend.xml:50
@@ -191,6 +252,31 @@
 "    \n"
 "}"
 msgstr ""
+"public abstract class Bean&lt;T&gt; {\n"
+"    \n"
+"    private final Manager manager;\n"
+"    \n"
+"    protected Bean(Manager manager) {\n"
+"        this.manager=manager;\n"
+"    }\n"
+"    \n"
+"    protected Manager getManager() {\n"
+"        return manager;\n"
+"    }\n"
+"    \n"
+"    public abstract Set&lt;Class&gt; getTypes();\n"
+"    public abstract Set&lt;Annotation&gt; getBindingTypes();\n"
+"    public abstract Class&lt;? extends Annotation&gt; getScopeType();\n"
+"    public abstract Class&lt;? extends Annotation&gt; getDeploymentType(); \n"
+"    public abstract String getName();\n"
+"    \n"
+"    public abstract boolean isSerializable();\n"
+"    public abstract boolean isNullable();\n"
+"\n"
+"    public abstract T create();\n"
+"    public abstract void destroy(T instance);\n"
+"    \n"
+"}"
 
 #. Tag: para
 #: extend.xml:52
@@ -202,7 +288,7 @@
 "specification (simple and enterprise Web Beans, producer methods and JMS "
 "endpoints). For example, we could use the <literal>Bean</literal> class to "
 "allow objects managed by another framework to be injected into Web Beans."
-msgstr ""
+msgstr "Es posible extender la clase <literal>Bean</literal> y registrar instancias llamando a <literal>Manager.addBean()</literal> para proveer soporte a nuevas clases de Web Beans, además de los definidos por la especificación Web Beans (Web Beans sencillos y de empresa, métodos de productor y endpoints JMS). Por ejemplo, podríamos utilizar la clase <literal>Bean</literal> para permitir que los objetos sean administrados por otro marco que se inyecta en Web Beans."
 
 #. Tag: para
 #: extend.xml:60
@@ -212,12 +298,14 @@
 "specification: <literal>Interceptor</literal> and <literal>Decorator</"
 "literal>."
 msgstr ""
+"Hay dos subclase de <literal>Bean</literal> definidas por la especificación de Web Beans: <literal>Interceptor</literal> y <literal>Decorator</"
+"literal>."
 
 #. Tag: title
 #: extend.xml:67
 #, no-c-format
 msgid "The <literal>Context</literal> interface"
-msgstr ""
+msgstr "La interfaz <literal>Context</literal>"
 
 #. Tag: para
 #: extend.xml:69
@@ -225,7 +313,7 @@
 msgid ""
 "The <literal>Context</literal> interface supports addition of new scopes to "
 "Web Beans, or extension of the built-in scopes to new environments."
-msgstr ""
+msgstr "La interfaz <literal>Context</literal> soporta la adición de nuevos ámbitos a Web Beans, o extensión de los ámbitos incorporados a nuevos entornos."
 
 #. Tag: programlisting
 #: extend.xml:72
@@ -241,6 +329,15 @@
 "    \n"
 "}"
 msgstr ""
+"public interface Context {\n"
+"    \n"
+"    public Class&lt;? extends Annotation&gt; getScopeType();\n"
+"    \n"
+"    public &lt;T&gt; T get(Bean&lt;T&gt; bean, boolean create);\n"
+"    \n"
+"    boolean isActive();\n"
+"    \n"
+"}"
 
 #. Tag: para
 #: extend.xml:74
@@ -249,4 +346,5 @@
 "For example, we might implement <literal>Context</literal> to add a business "
 "process scope to Web Beans, or to add support for the conversation scope to "
 "an application that uses Wicket."
-msgstr ""
+msgstr "Por ejemplo, podríamos implementar <literal>Context</literal> para agregar un ámbito de proceso de negocio a Web Beans, o agregar soporte para el ámbito de conversación a una aplicación que utiliza Wicket."
+

Modified: doc/trunk/reference/es-ES/injection.po
===================================================================
--- doc/trunk/reference/es-ES/injection.po	2009-01-09 06:19:30 UTC (rev 839)
+++ doc/trunk/reference/es-ES/injection.po	2009-01-09 06:41:20 UTC (rev 840)
@@ -1,35 +1,38 @@
+# translation of injection.po to Spanish
 # Language es-ES translations for master.xml package.
+#
 # Automatically generated, 2008.
-#
+# Gladys Guerrero Lozano <gguerrer at redhat.com>, 2009.
 msgid ""
 msgstr ""
-"Project-Id-Version: master.xml \n"
+"Project-Id-Version: injection\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
 "POT-Creation-Date: 2008-12-19 20:26+0000\n"
-"PO-Revision-Date: 2008-12-19 20:26+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-09 16:28+1000\n"
+"Last-Translator: Gladys Guerrero Lozano <gguerrer at redhat.com>\n"
+"Language-Team: Spanish <fedora-trans-es at redhat.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
 #: injection.xml:4
 #, no-c-format
 msgid "Dependency injection"
-msgstr ""
+msgstr "Inyección de dependencia"
 
 #. Tag: para
 #: injection.xml:6
 #, no-c-format
 msgid "Web Beans supports three primary mechanisms for dependency injection:"
-msgstr ""
+msgstr "Web Beans soporta tres mecanismos primarios para inyección de dependencia:"
 
 #. Tag: para
 #: injection.xml:8
 #, no-c-format
 msgid "Constructor parameter injection:"
-msgstr ""
+msgstr "Constructor de inyección de parámetro:"
 
 #. Tag: programlisting
 #: injection.xml:10
@@ -46,12 +49,22 @@
 "\n"
 "}]]>"
 msgstr ""
+"<![CDATA[public class Checkout {\n"
+"        \n"
+"    private final ShoppingCart cart;\n"
+"    \n"
+"    @Initializer\n"
+"    public Checkout(ShoppingCart cart) {\n"
+"        this.cart = cart;\n"
+"    }\n"
+"\n"
+"}]]>"
 
 #. Tag: para
 #: injection.xml:12
 #, no-c-format
 msgid "<emphasis>Initializer</emphasis> method parameter injection:"
-msgstr ""
+msgstr "Inyección de parámetro de método <emphasis>Iniciador</emphasis>:"
 
 #. Tag: programlisting
 #: injection.xml:14
@@ -68,12 +81,22 @@
 "    \n"
 "}]]>"
 msgstr ""
+"<![CDATA[public class Checkout {\n"
+"        \n"
+"    private ShoppingCart cart;\n"
+"\n"
+"    @Initializer \n"
+"    void setShoppingCart(ShoppingCart cart) {\n"
+"        this.cart = cart;\n"
+"    }\n"
+"    \n"
+"}]]>"
 
 #. Tag: para
 #: injection.xml:16
 #, no-c-format
 msgid "And direct field injection:"
-msgstr ""
+msgstr "E inyección directa de campo:"
 
 #. Tag: programlisting
 #: injection.xml:18
@@ -85,6 +108,11 @@
 "    \n"
 "}]]>"
 msgstr ""
+"<![CDATA[public class Checkout {\n"
+"\n"
+"    private @Current ShoppingCart cart;\n"
+"    \n"
+"}]]>"
 
 #. Tag: para
 #: injection.xml:20
@@ -92,7 +120,7 @@
 msgid ""
 "Dependency injection always occurs when the Web Bean instance is first "
 "instantiated."
-msgstr ""
+msgstr "La inyección de dependencia siempre se presenta cuando la instancia de Web Bean se instancia primero:"
 
 #. Tag: para
 #: injection.xml:25
@@ -100,7 +128,7 @@
 msgid ""
 "First, the Web Bean manager calls the Web Bean constructor, to obtain an "
 "instance of the Web Bean."
-msgstr ""
+msgstr "Primero, el administrador de Web Bean llama al constructor de Web Bean, para obtener una instancia del Web Bean."
 
 #. Tag: para
 #: injection.xml:29
@@ -108,13 +136,13 @@
 msgid ""
 "Next, the Web Bean manager initializes the values of all injected fields of "
 "the Web Bean."
-msgstr ""
+msgstr "Luego, el administrador de Web Bean inicializa los valores de los campos inyectados del Web Bean."
 
 #. Tag: para
 #: injection.xml:33
 #, no-c-format
 msgid "Next, the Web Bean manager calls all initializer methods of Web Bean."
-msgstr ""
+msgstr "Más tarde, el administrador de Web Bean llama a todos los métodos inicializadores del Web Bean."
 
 #. Tag: para
 #: injection.xml:37
@@ -122,7 +150,7 @@
 msgid ""
 "Finally, the <literal>@PostConstruct</literal> method of the Web Bean, if "
 "any, is called."
-msgstr ""
+msgstr "Por último, se llama al método de Web Bean <literal>@PostConstruct</literal>, si existe."
 
 #. Tag: para
 #: injection.xml:42
@@ -131,6 +159,8 @@
 "Constructor parameter injection is not supported for EJB beans, since the "
 "EJB is instantiated by the EJB container, not the Web Bean manager."
 msgstr ""
+"La inyección de parámetro constructor no es admitida por beans de EJB, porque "
+"EJB es instanciada por el contenedor de EJB, no por el administrador de Web Bean."
 
 #. Tag: para
 #: injection.xml:45
@@ -141,13 +171,13 @@
 "Injected fields, however, <emphasis>must</emphasis> specify a binding type, "
 "even when the default binding type applies. If the field does not specify a "
 "binding type, it will not be injected."
-msgstr ""
+msgstr "Los parámetros de constructores y métodos de inicializador no necesitan ser anotados explícitamente cuando el tipo de enlace predeterminado <literal>@Current</literal> se aplique. Los campos inyectados, sin embargo, <emphasis>deben</emphasis> especificar un tipo de enlace, cuando el tipo de enlace por defecto se aplique. Si el campo no especifica ningún tipo de enlace, no será inyectado."
 
 #. Tag: para
 #: injection.xml:51
 #, no-c-format
 msgid "Producer methods also support parameter injection:"
-msgstr ""
+msgstr "Los métodos de productor también admiten inyección de parámetro:"
 
 #. Tag: programlisting
 #: injection.xml:53
@@ -157,6 +187,9 @@
 "    return new Checkout(cart);\n"
 "}]]>"
 msgstr ""
+"<![CDATA[@Produces Checkout createCheckout(ShoppingCart cart) {\n"
+"    return new Checkout(cart);\n"
+"}]]>"
 
 #. Tag: para
 #: injection.xml:55
@@ -164,7 +197,7 @@
 msgid ""
 "Finally, observer methods (which we'll meet in <xref linkend=\"events\"/>), "
 "disposal methods and destructor methods all support parameter injection."
-msgstr ""
+msgstr "Por último, los métodos de observador (que encontraremos en <xref linkend=\"events\"/>), los métodos desechables y los métodos destructores, admiten inyección de parámetro."
 
 #. Tag: para
 #: injection.xml:58
@@ -179,7 +212,7 @@
 "immediately if a Web Bean's dependencies cannot be satisfied, by throwing a "
 "<literal>UnsatisfiedDependencyException</literal> or "
 "<literal>AmbiguousDependencyException</literal>."
-msgstr ""
+msgstr "La especificación de Web Beans define un procedimiento, llamado <emphasis>algoritmo de resolución de typesafe</emphasis> que el administrador de Web Bean sigue al identificar el Web Bean para inyectar a un punto de inyección. Este algoritmo parece complejo en un principio, pero una vez que lo entienda, es en realidad muy intuitivo. La resolución de Typesafe se realiza al inicializar el sistema, lo que significa que el administrador informará al usuario inmediatamente si se pueden cumplir las dependencias de un Web Bean, lanzando un <literal>UnsatisfiedDependencyException</literal> o un <literal>AmbiguousDependencyException</literal>."
 
 #. Tag: para
 #: injection.xml:67
@@ -187,7 +220,7 @@
 msgid ""
 "The purpose of this algorithm is to allow multiple Web Beans to implement "
 "the same API type and either:"
-msgstr ""
+msgstr "El propósito de este algoritmo es permitir múltiples Web Beans para implementar el mismo tipo API y ya sea:"
 
 #. Tag: para
 #: injection.xml:72
@@ -195,7 +228,7 @@
 msgid ""
 "allow the client to select which implementation it requires using "
 "<emphasis>binding annotations</emphasis>,"
-msgstr ""
+msgstr "permitiendo al cliente seleccionar la aplicación que requiere mediante <emphasis>anotaciones de enlace</emphasis>,"
 
 #. Tag: para
 #: injection.xml:77
@@ -204,7 +237,7 @@
 "allow the application deployer to select which implementation is appropriate "
 "for a particular deployment, without changes to the client, by enabling or "
 "disabling <emphasis>deployment types</emphasis>, or"
-msgstr ""
+msgstr "permitiendo al desplegador de aplicación seleccionar la aplicación apropiada para una despliegue particular, sin cambios en el cliente, habilitando o inhabilitando los <emphasis>tipos de despliegue</emphasis>, o"
 
 #. Tag: para
 #: injection.xml:82
@@ -213,20 +246,19 @@
 "allow one implementation of an API to override another implementation of the "
 "same API at deployment time, without changes to the client, using "
 "<emphasis>deployment type precedence</emphasis>."
-msgstr ""
+msgstr "permitiendo que una implementación de un API remplace otra implementación del mismo API en el momento del despliegue, sin cambios al cliente, mediante <emphasis>prioridad de tipo de despliegue</emphasis>."
 
 #. Tag: para
 #: injection.xml:88
 #, no-c-format
-msgid ""
-"Let's explore how the Web Beans manager determines a Web Bean to be injected."
-msgstr ""
+msgid "Let's explore how the Web Beans manager determines a Web Bean to be injected."
+msgstr "Exploremos cómo el administrador de Web Beans determina una Web Bean para ser inyectado."
 
 #. Tag: title
 #: injection.xml:91
 #, no-c-format
 msgid "Binding annotations"
-msgstr ""
+msgstr "Anotaciones de Enlace"
 
 #. Tag: para
 #: injection.xml:93
@@ -236,7 +268,7 @@
 "injection point can specify exactly which Web Bean should be injected using "
 "a binding annotation. For example, there might be two implementations of "
 "<literal>PaymentProcessor</literal>:"
-msgstr ""
+msgstr "Si tenemos más de un Web Bean que implemente un tipo determinado de API, el punto de inyección puede especificar el Web Bean que debe ser inyectado utilizando una anotación de enlace. Por ejemplo, debería haber dos aplicaciones del <literal>PaymentProcessor</literal>:"
 
 #. Tag: programlisting
 #: injection.xml:98
@@ -247,6 +279,10 @@
 "    public void process(Payment payment) { ... }\n"
 "}]]>"
 msgstr ""
+"<![CDATA[@PayByCheque\n"
+"public class ChequePaymentProcessor implements PaymentProcessor {\n"
+"    public void process(Payment payment) { ... }\n"
+"}]]>"
 
 #. Tag: programlisting
 #: injection.xml:100
@@ -257,6 +293,10 @@
 "    public void process(Payment payment) { ... }\n"
 "}]]>"
 msgstr ""
+"<![CDATA[@PayByCreditCard\n"
+"public class CreditCardPaymentProcessor implements PaymentProcessor {\n"
+"    public void process(Payment payment) { ... }\n"
+"}]]>"
 
 #. Tag: para
 #: injection.xml:102
@@ -265,6 +305,8 @@
 "Where <literal>@PayByCheque</literal> and <literal>@PayByCreditCard</"
 "literal> are binding annotations:"
 msgstr ""
+"Donde <literal>@PayByCheque</literal> y <literal>@PayByCreditCard</"
+"literal> son anotaciones de enlace:"
 
 #. Tag: programlisting
 #: injection.xml:105
@@ -275,6 +317,10 @@
 "@BindingType\n"
 "public @interface PayByCheque {}]]>"
 msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD, FIELD, PARAMETER})\n"
+"@BindingType\n"
+"public @interface PayByCheque {}]]>"
 
 #. Tag: programlisting
 #: injection.xml:107
@@ -285,6 +331,10 @@
 "@BindingType\n"
 "public @interface PayByCreditCard {}]]>"
 msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD, FIELD, PARAMETER})\n"
+"@BindingType\n"
+"public @interface PayByCreditCard {}]]>"
 
 #. Tag: para
 #: injection.xml:109
@@ -292,13 +342,13 @@
 msgid ""
 "A client Web Bean developer uses the binding annotation to specify exactly "
 "which Web Bean should be injected."
-msgstr ""
+msgstr "Un desarrollador de cliente de Web Bean utiliza la anotación de enlace para especificar exactamente qué Web Bean debe inyectarse."
 
 #. Tag: para
 #: injection.xml:112
 #, no-c-format
 msgid "Using field injection:"
-msgstr ""
+msgstr "Uso de inyección de campo:"
 
 #. Tag: programlisting
 #: injection.xml:114
@@ -307,12 +357,14 @@
 "<![CDATA[@PayByCheque PaymentProcessor chequePaymentProcessor;\n"
 "@PayByCreditCard PaymentProcessor creditCardPaymentProcessor;]]>"
 msgstr ""
+"<![CDATA[@PayByCheque PaymentProcessor chequePaymentProcessor;\n"
+"@PayByCreditCard PaymentProcessor creditCardPaymentProcessor;]]>"
 
 #. Tag: para
 #: injection.xml:116
 #, no-c-format
 msgid "Using initializer method injection:"
-msgstr ""
+msgstr "Uso de inyección de método inicializador:"
 
 #. Tag: programlisting
 #: injection.xml:118
@@ -327,12 +379,20 @@
 "   this.creditCardPaymentProcessor = creditCardPaymentProcessor;\n"
 "}]]>"
 msgstr ""
+"<![CDATA[@Initializer\n"
+"public void setPaymentProcessors(@PayByCheque PaymentProcessor "
+"chequePaymentProcessor, \n"
+"                                 @PayByCreditCard PaymentProcessor "
+"creditCardPaymentProcessor) {\n"
+"   this.chequePaymentProcessor = chequePaymentProcessor;\n"
+"   this.creditCardPaymentProcessor = creditCardPaymentProcessor;\n"
+"}]]>"
 
 #. Tag: para
 #: injection.xml:120
 #, no-c-format
 msgid "Or using constructor injection:"
-msgstr ""
+msgstr "O uso de inyección de constructor:"
 
 #. Tag: programlisting
 #: injection.xml:122
@@ -346,18 +406,25 @@
 "   this.creditCardPaymentProcessor = creditCardPaymentProcessor;\n"
 "}]]>"
 msgstr ""
+"<![CDATA[@Initializer\n"
+"public Checkout(@PayByCheque PaymentProcessor chequePaymentProcessor, \n"
+"                @PayByCreditCard PaymentProcessor "
+"creditCardPaymentProcessor) {\n"
+"   this.chequePaymentProcessor = chequePaymentProcessor;\n"
+"   this.creditCardPaymentProcessor = creditCardPaymentProcessor;\n"
+"}]]>"
 
 #. Tag: title
 #: injection.xml:125
 #, no-c-format
 msgid "Binding annotations with members"
-msgstr ""
+msgstr "Anotaciones de enlace con miembros"
 
 #. Tag: para
 #: injection.xml:127
 #, no-c-format
 msgid "Binding annotations may have members:"
-msgstr ""
+msgstr "Las anotaciones de enlace pueden tener miembros:"
 
 #. Tag: programlisting
 #: injection.xml:129
@@ -370,12 +437,18 @@
 "    PaymentType value();\n"
 "}]]>"
 msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD, FIELD, PARAMETER})\n"
+"@BindingType\n"
+"public @interface PayBy {\n"
+"    PaymentType value();\n"
+"}]]>"
 
 #. Tag: para
 #: injection.xml:131
 #, no-c-format
 msgid "In which case, the member value is significant:"
-msgstr ""
+msgstr "En cuyo caso, el valor de miembro es importante:"
 
 #. Tag: programlisting
 #: injection.xml:133
@@ -384,6 +457,8 @@
 "<![CDATA[@PayBy(CHEQUE) PaymentProcessor chequePaymentProcessor;\n"
 "@PayBy(CREDIT_CARD) PaymentProcessor creditCardPaymentProcessor;]]>"
 msgstr ""
+"<![CDATA[@PayBy(CHEQUE) PaymentProcessor chequePaymentProcessor;\n"
+"@PayBy(CREDIT_CARD) PaymentProcessor creditCardPaymentProcessor;]]>"
 
 #. Tag: para
 #: injection.xml:135
@@ -391,26 +466,25 @@
 msgid ""
 "You can tell the Web Bean manager to ignore a member of a binding annotation "
 "type by annotating the member <literal>@NonBinding</literal>."
-msgstr ""
+msgstr "Se puede pedir al administrador de Web Bean que ignore a un miembro de un tipo de anotación de enlace anotando al miembro <literal>@NonBinding</literal>."
 
 #. Tag: title
 #: injection.xml:141
 #, no-c-format
 msgid "Combinations of binding annnotations"
-msgstr ""
+msgstr "Combinaciones de anotaciones de enlace"
 
 #. Tag: para
 #: injection.xml:143
 #, no-c-format
 msgid "An injection point may even specify multiple binding annotations:"
-msgstr ""
+msgstr "Un punto de inyección puede incluso especificar múltiples anotaciones de enlace:"
 
 #. Tag: programlisting
 #: injection.xml:145
 #, no-c-format
-msgid ""
-"<![CDATA[@Asynchronous @PayByCheque PaymentProcessor paymentProcessor]]>"
-msgstr ""
+msgid "<![CDATA[@Asynchronous @PayByCheque PaymentProcessor paymentProcessor]]>"
+msgstr "<![CDATA[@Asynchronous @PayByCheque PaymentProcessor paymentProcessor]]>"
 
 #. Tag: para
 #: injection.xml:147
@@ -418,19 +492,19 @@
 msgid ""
 "In this case, only a Web Bean which has <emphasis>both</emphasis> binding "
 "annotations would be eligible for injection."
-msgstr ""
+msgstr "En este caso, sólo un Web Bean que tiene <emphasis>ambas</emphasis> anotaciones de enlace sería elegible para inyección."
 
 #. Tag: title
 #: injection.xml:153
 #, no-c-format
 msgid "Binding annotations and producer methods"
-msgstr ""
+msgstr "Anotaciones de enlace y métodos de productor"
 
 #. Tag: para
 #: injection.xml:155
 #, no-c-format
 msgid "Even producer methods may specify binding annotations:"
-msgstr ""
+msgstr "Incluso los métodos de productor pueden especificar anotaciones de enlace:"
 
 #. Tag: programlisting
 #: injection.xml:157
@@ -443,12 +517,18 @@
 "    return new AsynchronousPaymentProcessor(processor);\n"
 "}]]>"
 msgstr ""
+"<![CDATA[@Produces \n"
+"@Asynchronous @PayByCheque \n"
+"PaymentProcessor createAsyncPaymentProcessor(@PayByCheque PaymentProcessor "
+"processor) {\n"
+"    return new AsynchronousPaymentProcessor(processor);\n"
+"}]]>"
 
 #. Tag: title
 #: injection.xml:162
 #, no-c-format
 msgid "The default binding type"
-msgstr ""
+msgstr "El tipo de enlace predeterminado"
 
 #. Tag: para
 #: injection.xml:164
@@ -457,7 +537,7 @@
 "Web Beans defines a binding type <literal>@Current</literal> that is the "
 "default binding type for any injection point or Web Bean that does not "
 "explicitly specify a binding type."
-msgstr ""
+msgstr "Web Beans define un tipo de enlace <literal>@Current</literal> que es el tipo de enlace predeterminado para cualquier punto de inyección o Web Bean que no especifique explícitamente un tipo de enlace."
 
 #. Tag: para
 #: injection.xml:168
@@ -465,7 +545,7 @@
 msgid ""
 "There are two common circumstances in which it is necessary to explicitly "
 "specify <literal>@Current</literal>:"
-msgstr ""
+msgstr "Hay dos circunstancias comunes en que se necesita especificar explícitamente a <literal>@Current</literal>:"
 
 #. Tag: para
 #: injection.xml:173
@@ -473,7 +553,7 @@
 msgid ""
 "on a field, in order to declare it as an injected field with the default "
 "binding type, and"
-msgstr ""
+msgstr "en un campo, para declararlo como un campo inyectado con el tipo de enlace por defecto, y "
 
 #. Tag: para
 #: injection.xml:177
@@ -481,13 +561,13 @@
 msgid ""
 "on a Web Bean which has another binding type in addition to the default "
 "binding type."
-msgstr ""
+msgstr "en un Web Bean, el cual tiene otro tipo de enlace además del tipo de enlace predeterminado."
 
 #. Tag: title
 #: injection.xml:187
 #, no-c-format
 msgid "Deployment types"
-msgstr ""
+msgstr "Tipos de despliegue"
 
 #. Tag: para
 #: injection.xml:189
@@ -496,7 +576,7 @@
 "All Web Beans have a <emphasis>deployment type</emphasis>. Each deployment "
 "type identifies a set of Web Beans that should be conditionally installed in "
 "some deployments of the system."
-msgstr ""
+msgstr "Todos los Web Beans tienen un <emphasis>tipo de despliegue</emphasis>. Cada tipo de despliegue identifica un conjunto de Web Beans que debería ser instalado bajo condiciones en algunos despliegues del sistema."
 
 #. Tag: para
 #: injection.xml:193
@@ -506,6 +586,8 @@
 "literal>, which would identify Web Beans that should only be installed when "
 "the system executes inside an integration testing environment:"
 msgstr ""
+"Por ejemplo, podríamos definir un tipo de despliegue llamado <literal>@Mock</"
+"literal>, el cual identificaría Web Beans que deberían ser instaladas sólo cuando el sistema se ejecute dentro de un entorno de pruebas de integración:"
 
 #. Tag: programlisting
 #: injection.xml:197
@@ -516,6 +598,10 @@
 "  @DeploymentType\n"
 "  public @interface Mock {}]]>"
 msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"  @Target({TYPE, METHOD})\n"
+"  @DeploymentType\n"
+"  public @interface Mock {}]]>"
 
 #. Tag: para
 #: injection.xml:199
@@ -523,7 +609,7 @@
 msgid ""
 "Suppose we had some Web Bean that interacted with an external system to "
 "process payments:"
-msgstr ""
+msgstr "Supongamos que tenemos algunos Web Bean que interactuaron con un sistema externo para procesar pagos:"
 
 #. Tag: programlisting
 #: injection.xml:202
@@ -537,6 +623,13 @@
 "    \n"
 "}]]>"
 msgstr ""
+"<![CDATA[public class ExternalPaymentProcessor {\n"
+"        \n"
+"    public void process(Payment p) {\n"
+"        ...\n"
+"    }\n"
+"    \n"
+"}]]>"
 
 #. Tag: para
 #: injection.xml:204
@@ -544,7 +637,7 @@
 msgid ""
 "Since this Web Bean does not explicitly specify a deployment type, it has "
 "the default deployment type <literal>@Production</literal>."
-msgstr ""
+msgstr "Como este Web Bean no especifica explícitamente un tipo de despliegue, tiene el tipo de despliegue predeterminado <literal>@Production</literal>."
 
 #. Tag: para
 #: injection.xml:207
@@ -552,7 +645,7 @@
 msgid ""
 "For integration or unit testing, the external system is slow or unavailable. "
 "So we would create a mock object:"
-msgstr ""
+msgstr "Para prueba de integración o de unidad, el sistema externo está lento o no está disponible. Por lo tanto, cremos el objeto mock:"
 
 #. Tag: programlisting
 #: injection.xml:210
@@ -568,6 +661,15 @@
 "\n"
 "}]]>"
 msgstr ""
+"<![CDATA[@Mock \n"
+"public class MockPaymentProcessor implements PaymentProcessor {\n"
+"\n"
+"    @Override\n"
+"    public void process(Payment p) {\n"
+"        p.setSuccessful(true);\n"
+"    }\n"
+"\n"
+"}]]>"
 
 #. Tag: para
 #: injection.xml:212
@@ -575,13 +677,13 @@
 msgid ""
 "But how does the Web Bean manager determine which implementation to use in a "
 "particular deployment?"
-msgstr ""
+msgstr "Pero, ¿cómo determina el administrador de Web Bean la aplicación que debe utilizar en un despliegue determinado?"
 
 #. Tag: title
 #: injection.xml:216
 #, no-c-format
 msgid "Enabling deployment types"
-msgstr ""
+msgstr "Habilitar tipos de despliegue"
 
 #. Tag: para
 #: injection.xml:218
@@ -593,6 +695,8 @@
 "can identify additional deployment types to be enabled in a particular "
 "deployment by listing them in <literal>web-beans.xml</literal>."
 msgstr ""
+"Web Beans define dos tipos de despliegue incorporados: <literal>@Production</"
+"literal> y <literal>@Standard</literal>. Por defecto, sólo los Web Beans con tipos de despliegue incorporados se habilitan cuando se despliega el sistema. Podemos identificar tipos de despliegue adicionales en un despliegue particular listándolos en <literal>web-beans.xml</literal>."
 
 #. Tag: para
 #: injection.xml:224
@@ -600,7 +704,7 @@
 msgid ""
 "Going back to our example, when we deploy our integration tests, we want all "
 "our <literal>@Mock</literal> objects to be installed:"
-msgstr ""
+msgstr "Volviendo a nuestro ejemplo, cuando desplegamos nuestras pruebas de integración, deseamos que todos nuestros objetos <literal>@Mock</literal> sean instalados:"
 
 #. Tag: programlisting
 #: injection.xml:227
@@ -614,6 +718,13 @@
 "    </Deploy>\n"
 "</WebBeans>]]>"
 msgstr ""
+"<![CDATA[<WebBeans>\n"
+"    <Deploy>\n"
+"        <Standard/>\n"
+"        <Production/>\n"
+"        <test:Mock/>\n"
+"    </Deploy>\n"
+"</WebBeans>]]>"
 
 #. Tag: para
 #: injection.xml:229
@@ -623,6 +734,8 @@
 "<literal>@Production</literal>, <literal>@Standard</literal> or "
 "<literal>@Mock</literal> at deployment time."
 msgstr ""
+"Ahora el administrador de Web Bean identificará e instalará todos los Web Beans anotados <literal>@Production</literal>, <literal>@Standard</literal> o "
+"<literal>@Mock</literal> en el momento del despliegue."
 
 #. Tag: para
 #: injection.xml:233
@@ -631,7 +744,7 @@
 "The deployment type <literal>@Standard</literal> is used only for certain "
 "special Web Beans defined by the Web Beans specification. We can't use it "
 "for our own Web Beans, and we can't disable it."
-msgstr ""
+msgstr "El tipo de despliegue <literal>@Standard</literal> es utilizado únicamente por algunos Web Beans especiales definidos por la especificación de Web Beans. No podemos utilizarlo para nuestros propios Web Beans ni inhabilitarlo."
 
 #. Tag: para
 #: injection.xml:237
@@ -640,13 +753,13 @@
 "The deployment type <literal>@Production</literal> is the default deployment "
 "type for Web Beans which don't explicitly declare a deployment type, and may "
 "be disabled."
-msgstr ""
+msgstr "El tipo de despliegue <literal>@Production</literal> es el tipo de despliegue predeterminado para Web Beans que no declaran explícitamente un tipo de despliegue, y que se puede inhabilitar."
 
 #. Tag: title
 #: injection.xml:244
 #, no-c-format
 msgid "Deployment type precedence"
-msgstr ""
+msgstr "Prioridad de tipo de despliegue"
 
 #. Tag: para
 #: injection.xml:246
@@ -657,12 +770,15 @@
 "literal> or <literal>MockPaymentProcessor</literal>&#151;to choose. Consider "
 "what happens when the manager encounters this injection point:"
 msgstr ""
+"Si ha prestado atención, probablemente se estará preguntando cómo escoge Web Bean "
+"la aplicación&#151;<literal>ExternalPaymentProcessor</"
+"literal> o <literal>MockPaymentProcessor</literal>&#151;. Piense en lo que sucede cuando el administrador encuentra este punto de inyección:"
 
 #. Tag: programlisting
 #: injection.xml:251
 #, no-c-format
 msgid "<![CDATA[@Current PaymentProcessor paymentProcessor]]>"
-msgstr ""
+msgstr "<![CDATA[@Current PaymentProcessor paymentProcessor]]>"
 
 #. Tag: para
 #: injection.xml:253
@@ -674,6 +790,8 @@
 "the injection point, and we want the manager to be able to decide at "
 "deployment time!"
 msgstr ""
+"Ahora hay dos Web Beans que cumplen el contrato <literal>PaymentProcessor</"
+"literal>. Claro está que no podemos utilizar una anotación de enlace para explicar, porque las anotaciones de enlace están codificadas en la fuente en el punto de inyección, y queremos que el administrador pueda decidir en el ¡momento de despliegue!"
 
 #. Tag: para
 #: injection.xml:258
@@ -685,6 +803,8 @@
 "literal>. In our example, <literal>@Mock</literal> appears later than "
 "<literal>@Production</literal> so it has a higher precedence."
 msgstr ""
+"La solución a este problema es que cada tipo de despliegue tiene una <emphasis>prioridad</emphasis> diferente. La prioridad de los tipos de despliegue es determinada por el orden de aparición en <literal>web-beans.xml</"
+"literal>. En nuestro ejemplo, <literal>@Mock</literal> posterior a <literal>@Production</literal> por lo tanto tiene una mayor prioridad."
 
 #. Tag: para
 #: injection.xml:264
@@ -697,7 +817,7 @@
 "to inject. So, in our example, the Web Bean manager will inject "
 "<literal>MockPaymentProcessor</literal> when executing in our integration "
 "testing environment (which is exactly what we want)."
-msgstr ""
+msgstr "Cada vez que el administrador descubre que más de un Web Bean cumple el contrato (tipo API más anotaciones de enlace) especificados por un punto de inyección, considera la prioridad relativa de los Web Beans. Si uno tiene una prioridad mayor que los otros, se escoge el Web Bean de mayor prioridad para inyectar. Por lo tanto, en nuestro ejemplo, el administrador de Web Bean inyectará <literal>MockPaymentProcessor</literal> al ejecutar en nuestro entorno de prueba de integración (que es precisamente lo que queremos)."
 
 #. Tag: para
 #: injection.xml:271
@@ -714,6 +834,9 @@
 "browsing the code can easily identify what deployment scenarios the Web Bean "
 "will be used in."
 msgstr ""
+"Es interesante comparar esta facilidad con las arquitecturas populares de administrador de hoy. Varios contenedores de \"pesoliviano\" también permiten despliegue condicional de clases que existen en el classpath, pero las clases que van a ser desplegadas deben ser explicitamente, listadas de modo individual en el código de configuración o en algún archivo de configuración XML. Web Beans no admite definición de Web Bean "
+"ni configuración vía XML, pero en el común de los casos donde no se requiere una configuración compleja, los tipos de despliegue permite habilitar un conjunto completo de Web "
+"Beans con una sóla línea de XML. Mientras tanto, un desarrollador que esté navegando el código puede fácilmente identificar los escenarios de despliegue en el que el Web Bean se utilizará."
 
 #. Tag: title
 #: injection.xml:284
@@ -724,8 +847,7 @@
 #. Tag: para
 #: injection.xml:286
 #, no-c-format
-msgid ""
-"Deployment types are useful for all kinds of things, here's some examples:"
+msgid "Deployment types are useful for all kinds of things, here's some examples:"
 msgstr ""
 
 #. Tag: para
@@ -734,13 +856,13 @@
 msgid ""
 "<literal>@Mock</literal> and <literal>@Staging</literal> deployment types "
 "for testing"
-msgstr ""
+msgstr "<literal>@Mock</literal> and <literal>@Staging</literal> tipos de despliegue para evaluación"
 
 #. Tag: para
 #: injection.xml:294
 #, no-c-format
 msgid "<literal>@AustralianTaxLaw</literal> for site-specific Web Beans"
-msgstr ""
+msgstr "<literal>@AustralianTaxLaw</literal> para Web Beans de sitio específico"
 
 #. Tag: para
 #: injection.xml:297
@@ -748,7 +870,7 @@
 msgid ""
 "<literal>@SeamFramework</literal>, <literal>@Guice</literal> for third-party "
 "frameworks which build on Web Beans"
-msgstr ""
+msgstr "<literal>@SeamFramework</literal>, <literal>@Guice</literal> para marcos de terceras partes que se generan en Web Beans"
 
 #. Tag: para
 #: injection.xml:301
@@ -756,7 +878,7 @@
 msgid ""
 "<literal>@Standard</literal> for standard Web Beans defined by the Web Beans "
 "specification"
-msgstr ""
+msgstr "<literal>@Standard</literal>para Web Beans definidos por la especificación Web Beans"
 
 #. Tag: para
 #: injection.xml:306
@@ -931,7 +1053,7 @@
 #: injection.xml:397
 #, no-c-format
 msgid "<![CDATA[@Current Manager manager;]]>"
-msgstr ""
+msgstr "<![CDATA[@Current Manager manager;]]>"
 
 #. Tag: para
 #: injection.xml:399
@@ -948,6 +1070,8 @@
 "<![CDATA[PaymentProcessor p = manager.getInstanceByType(PaymentProcessor."
 "class);]]>"
 msgstr ""
+"<![CDATA[PaymentProcessor p = manager.getInstanceByType(PaymentProcessor."
+"class);]]>"
 
 #. Tag: para
 #: injection.xml:404
@@ -967,6 +1091,10 @@
 "                                               new "
 "AnnotationLiteral<CreditCard>(){});]]>"
 msgstr ""
+"<![CDATA[PaymentProcessor p = manager.getInstanceByType(PaymentProcessor."
+"class, \n"
+"                                               new "
+"AnnotationLiteral<CreditCard>(){});]]>"
 
 #. Tag: para
 #: injection.xml:410
@@ -985,6 +1113,9 @@
 "    extends AnnotationLiteral<CreditCard> \n"
 "    implements CreditCard {}]]>"
 msgstr ""
+"<![CDATA[abstract class CreditCardBinding \n"
+"    extends AnnotationLiteral<CreditCard> \n"
+"    implements CreditCard {}]]>"
 
 #. Tag: programlisting
 #: injection.xml:415
@@ -997,6 +1128,12 @@
 "{ return paymentType; } \n"
 "                                               } );]]>"
 msgstr ""
+"<![CDATA[PaymentProcessor p = manager.getInstanceByType(PaymentProcessor."
+"class, \n"
+"                                               new CreditCardBinding() { \n"
+"                                                   public void value() "
+"{ return paymentType; } \n"
+"                                               } );]]>"
 
 #. Tag: title
 #: injection.xml:419
@@ -1081,7 +1218,7 @@
 msgid ""
 "Injection of the result of an EL expression evaluation depends upon the "
 "expression that was specified at the injection point."
-msgstr ""
+msgstr "La inyección del resultado de una prueba de expresión EL depende de la expresión que fue especificada en el punto de inyección."
 
 #. Tag: para
 #: injection.xml:461
@@ -1104,7 +1241,7 @@
 #: injection.xml:468
 #, no-c-format
 msgid "<![CDATA[Logger log = Logger.getLogger(MyClass.class.getName());]]>"
-msgstr ""
+msgstr "<![CDATA[Logger log = Logger.getLogger(MyClass.class.getName());]]>"
 
 #. Tag: para
 #: injection.xml:470
@@ -1127,6 +1264,14 @@
 "\n"
 "}]]>"
 msgstr ""
+"<![CDATA[class LogFactory {\n"
+"\n"
+"   @Produces Logger createLogger(InjectionPoint injectionPoint) { \n"
+"      return Logger.getLogger(injectionPoint.getMember().getDeclaringClass()."
+"getName()); \n"
+"   }\n"
+"\n"
+"}]]>"
 
 #. Tag: para
 #: injection.xml:475
@@ -1138,7 +1283,7 @@
 #: injection.xml:477
 #, no-c-format
 msgid "<![CDATA[@Current Logger log;]]>"
-msgstr ""
+msgstr "<![CDATA[@Current Logger log;]]>"
 
 #. Tag: para
 #: injection.xml:479
@@ -1159,6 +1304,12 @@
 "   @NonBinding public String value();\n"
 "}]]>"
 msgstr ""
+"<![CDATA[@BindingType\n"
+"@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD, FIELD, PARAMETER})\n"
+"public @interface HttpParam {\n"
+"   @NonBinding public String value();\n"
+"}]]>"
 
 #. Tag: para
 #: injection.xml:484
@@ -1173,6 +1324,8 @@
 "<![CDATA[@HttpParam(\"username\") String username;\n"
 "@HttpParam(\"password\") String password;]]>"
 msgstr ""
+"<![CDATA[@HttpParam(\"username\") String username;\n"
+"@HttpParam(\"password\") String password;]]>"
 
 #. Tag: para
 #: injection.xml:488
@@ -1194,6 +1347,15 @@
 "\n"
 "}]]>"
 msgstr ""
+"<![CDATA[class HttpParams\n"
+"\n"
+"   @Produces @HttpParam(\"\")\n"
+"   String getParamValue(ServletRequest request, InjectionPoint ip) {\n"
+"      return request.getParameter(ip.getAnnotation(HttpParam.class).value"
+"());\n"
+"   }\n"
+"\n"
+"}]]>"
 
 #. Tag: para
 #: injection.xml:492
@@ -1224,3 +1386,11 @@
 "   public Set<T extends Annotation> getAnnotations(); \n"
 "}]]>"
 msgstr ""
+"<![CDATA[public interface InjectionPoint { \n"
+"   public Object getInstance(); \n"
+"   public Bean<?> getBean(); \n"
+"   public Member getMember(): \n"
+"   public <T extends Annotation> T getAnnotation(Class<T> annotation); \n"
+"   public Set<T extends Annotation> getAnnotations(); \n"
+"}]]>"
+




More information about the weld-commits mailing list