[webbeans-commits] Webbeans SVN: r2520 - in doc/trunk/reference: es-ES and 8 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Sun Apr 19 17:01:40 EDT 2009


Author: pete.muir at jboss.org
Date: 2009-04-19 17:01:39 -0400 (Sun, 19 Apr 2009)
New Revision: 2520

Added:
   doc/trunk/reference/de-DE/gettingstarted.po
   doc/trunk/reference/de-DE/viewlayers.po
   doc/trunk/reference/es-ES/gettingstarted.po
   doc/trunk/reference/es-ES/viewlayers.po
   doc/trunk/reference/fr-FR/gettingstarted.po
   doc/trunk/reference/fr-FR/viewlayers.po
   doc/trunk/reference/it-IT/gettingstarted.po
   doc/trunk/reference/it-IT/viewlayers.po
   doc/trunk/reference/ja-JP/gettingstarted.po
   doc/trunk/reference/ja-JP/viewlayers.po
   doc/trunk/reference/ko-KR/gettingstarted.po
   doc/trunk/reference/ko-KR/viewlayers.po
   doc/trunk/reference/pot/gettingstarted.pot
   doc/trunk/reference/pot/viewlayers.pot
   doc/trunk/reference/pt-BR/gettingstarted.po
   doc/trunk/reference/pt-BR/viewlayers.po
   doc/trunk/reference/zh-CN/gettingstarted.po
   doc/trunk/reference/zh-CN/viewlayers.po
   doc/trunk/reference/zh-TW/gettingstarted.po
   doc/trunk/reference/zh-TW/viewlayers.po
Removed:
   doc/trunk/reference/de-DE/ri.po
   doc/trunk/reference/es-ES/ri.po
   doc/trunk/reference/fr-FR/ri.po
   doc/trunk/reference/it-IT/ri.po
   doc/trunk/reference/ja-JP/ri.po
   doc/trunk/reference/ko-KR/ri.po
   doc/trunk/reference/pot/ri.pot
   doc/trunk/reference/pt-BR/ri.po
   doc/trunk/reference/zh-CN/ri.po
   doc/trunk/reference/zh-TW/ri.po
Modified:
   doc/trunk/reference/de-DE/environments.po
   doc/trunk/reference/de-DE/extensions.po
   doc/trunk/reference/de-DE/producermethods.po
   doc/trunk/reference/de-DE/ri-spi.po
   doc/trunk/reference/de-DE/scopescontexts.po
   doc/trunk/reference/es-ES/environments.po
   doc/trunk/reference/es-ES/extensions.po
   doc/trunk/reference/es-ES/producermethods.po
   doc/trunk/reference/es-ES/ri-spi.po
   doc/trunk/reference/es-ES/scopescontexts.po
   doc/trunk/reference/fr-FR/environments.po
   doc/trunk/reference/fr-FR/extensions.po
   doc/trunk/reference/fr-FR/producermethods.po
   doc/trunk/reference/fr-FR/ri-spi.po
   doc/trunk/reference/fr-FR/scopescontexts.po
   doc/trunk/reference/it-IT/environments.po
   doc/trunk/reference/it-IT/extensions.po
   doc/trunk/reference/it-IT/producermethods.po
   doc/trunk/reference/it-IT/ri-spi.po
   doc/trunk/reference/it-IT/scopescontexts.po
   doc/trunk/reference/ja-JP/environments.po
   doc/trunk/reference/ja-JP/extensions.po
   doc/trunk/reference/ja-JP/producermethods.po
   doc/trunk/reference/ja-JP/ri-spi.po
   doc/trunk/reference/ja-JP/scopescontexts.po
   doc/trunk/reference/ko-KR/environments.po
   doc/trunk/reference/ko-KR/extensions.po
   doc/trunk/reference/ko-KR/producermethods.po
   doc/trunk/reference/ko-KR/ri-spi.po
   doc/trunk/reference/ko-KR/scopescontexts.po
   doc/trunk/reference/pot/Author_Group.pot
   doc/trunk/reference/pot/Book_Info.pot
   doc/trunk/reference/pot/decorators.pot
   doc/trunk/reference/pot/ee.pot
   doc/trunk/reference/pot/environments.pot
   doc/trunk/reference/pot/events.pot
   doc/trunk/reference/pot/example.pot
   doc/trunk/reference/pot/extend.pot
   doc/trunk/reference/pot/extensions.pot
   doc/trunk/reference/pot/injection.pot
   doc/trunk/reference/pot/interceptors.pot
   doc/trunk/reference/pot/intro.pot
   doc/trunk/reference/pot/master.pot
   doc/trunk/reference/pot/next.pot
   doc/trunk/reference/pot/part1.pot
   doc/trunk/reference/pot/part2.pot
   doc/trunk/reference/pot/part3.pot
   doc/trunk/reference/pot/part4.pot
   doc/trunk/reference/pot/part5.pot
   doc/trunk/reference/pot/producermethods.pot
   doc/trunk/reference/pot/ri-spi.pot
   doc/trunk/reference/pot/scopescontexts.pot
   doc/trunk/reference/pot/specialization.pot
   doc/trunk/reference/pot/stereotypes.pot
   doc/trunk/reference/pot/xml.pot
   doc/trunk/reference/pt-BR/environments.po
   doc/trunk/reference/pt-BR/extensions.po
   doc/trunk/reference/pt-BR/producermethods.po
   doc/trunk/reference/pt-BR/ri-spi.po
   doc/trunk/reference/pt-BR/scopescontexts.po
   doc/trunk/reference/zh-CN/environments.po
   doc/trunk/reference/zh-CN/extensions.po
   doc/trunk/reference/zh-CN/producermethods.po
   doc/trunk/reference/zh-CN/ri-spi.po
   doc/trunk/reference/zh-CN/scopescontexts.po
   doc/trunk/reference/zh-TW/environments.po
   doc/trunk/reference/zh-TW/extensions.po
   doc/trunk/reference/zh-TW/producermethods.po
   doc/trunk/reference/zh-TW/ri-spi.po
   doc/trunk/reference/zh-TW/scopescontexts.po
Log:
update translations

Modified: doc/trunk/reference/de-DE/environments.po
===================================================================
--- doc/trunk/reference/de-DE/environments.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/de-DE/environments.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 "Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
 "VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-28 17:09+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -96,13 +96,15 @@
 #. Tag: title
 #: environments.xml:53
 #, no-c-format
-msgid "Tomcat (or any plain Servlet container)"
+msgid "Servlet Containers (such as Tomcat or Jetty)"
 msgstr ""
 
 #. Tag: para
 #: environments.xml:55
 #, no-c-format
-msgid "Web Beans can be used in Tomcat 6.0."
+msgid ""
+"Web Beans can be used in any Servlet container such as Tomcat 6.0 or Jetty "
+"6.1."
 msgstr ""
 
 #. Tag: para
@@ -111,17 +113,18 @@
 msgid ""
 "Web Beans doesn't support deploying session beans, injection using "
 "<literal>@EJB</literal>, or <literal>@PersistenceContext</literal> or using "
-"transactional events on Tomcat."
+"transactional events in Servlet containers."
 msgstr ""
 
 #. Tag: para
 #: environments.xml:66
 #, no-c-format
 msgid ""
-"Web Beans should be used as a web application library in Tomcat. You should "
-"place <literal>webbeans-tomcat.jar</literal> in <literal>WEB-INF/lib</"
-"literal>. <literal>webbeans-tomcat.jar</literal> is an \"uber-jar\" provided "
-"for your convenience. Instead, you could use its component jars:"
+"Web Beans should be used as a web application library in a servlet "
+"container. You should place <literal>webbeans-servlet.jar</literal> in "
+"<literal>WEB-INF/lib</literal>. <literal>webbeans-serv;et.jar</literal> is "
+"an \"uber-jar\" provided for your convenience. Instead, you could use its "
+"component jars:"
 msgstr ""
 
 #. Tag: literal
@@ -157,7 +160,7 @@
 #. Tag: literal
 #: environments.xml:102
 #, no-c-format
-msgid "webbeans-tomcat-int.jar"
+msgid "webbeans-servlet-int.jar"
 msgstr ""
 
 #. Tag: literal
@@ -176,9 +179,9 @@
 #: environments.xml:117
 #, no-c-format
 msgid ""
-"You also need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control its interaction with requests) in <literal>web."
-"xml</literal>:"
+"You also need to explicitly specify the servlet listener (used to boot Web "
+"Beans, and control its interaction with requests) in <literal>web.xml</"
+"literal>:"
 msgstr ""
 
 #. Tag: programlisting
@@ -191,8 +194,14 @@
 "</listener>]]>"
 msgstr ""
 
+#. Tag: title
+#: environments.xml:126
+#, no-c-format
+msgid "Tomcat"
+msgstr ""
+
 #. Tag: para
-#: environments.xml:125
+#: environments.xml:128
 #, no-c-format
 msgid ""
 "Tomcat has a read-only JNDI, so Web Beans can't automatically bind the "
@@ -201,7 +210,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:131
+#: environments.xml:134
 #, no-c-format
 msgid ""
 "<![CDATA[<Resource name=\"app/Manager\" \n"
@@ -212,7 +221,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:133
+#: environments.xml:136
 #, no-c-format
 msgid ""
 "and make it available to your deployment by adding this to <literal>web.xml</"
@@ -220,7 +229,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:138
+#: environments.xml:141
 #, no-c-format
 msgid ""
 "<![CDATA[<resource-env-ref>\n"
@@ -234,7 +243,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:140
+#: environments.xml:143
 #, no-c-format
 msgid ""
 "Tomcat only allows you to bind entries to <literal>java:comp/env</literal>, "
@@ -243,7 +252,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:146
+#: environments.xml:149
 #, no-c-format
 msgid ""
 "Web Beans also supports Servlet injection in Tomcat. To enable this, place "
@@ -253,7 +262,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:153
+#: environments.xml:156
 #, no-c-format
 msgid ""
 "<![CDATA[<Listener className=\"org.jboss.webbeans.environment.tomcat."
@@ -261,13 +270,13 @@
 msgstr ""
 
 #. Tag: title
-#: environments.xml:158
+#: environments.xml:163
 #, no-c-format
 msgid "Java SE"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:160
+#: environments.xml:165
 #, no-c-format
 msgid ""
 "Apart from improved integration of the Enterprise Java stack, Web Beans also "
@@ -279,7 +288,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:168
+#: environments.xml:173
 #, no-c-format
 msgid ""
 "When executing in the SE environment the following features of Web Beans are "
@@ -287,61 +296,49 @@
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:174
+#: environments.xml:179
 #, no-c-format
 msgid "Simple Web Beans (POJOs)"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:179
+#: environments.xml:184
 #, no-c-format
 msgid "Typesafe Dependency Injection"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:184
+#: environments.xml:189
 #, no-c-format
 msgid "Application and Dependent Contexts"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:189
+#: environments.xml:194
 #, no-c-format
 msgid "Binding Types"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:194
+#: environments.xml:199
 #, no-c-format
 msgid "Stereotypes"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:199
-#, no-c-format
-msgid "Decorators"
-msgstr ""
-
-#. Tag: literal
 #: environments.xml:204
 #, no-c-format
-msgid "(TODO: Interceptors ?)"
-msgstr ""
-
-#. Tag: literal
-#: environments.xml:209
-#, no-c-format
 msgid "Typesafe Event Model"
 msgstr ""
 
 #. Tag: title
-#: environments.xml:215
+#: environments.xml:210
 #, no-c-format
 msgid "Web Beans SE Module"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:217
+#: environments.xml:212
 #, no-c-format
 msgid ""
 "To make life easy for developers Web Beans provides a special module with a "
@@ -354,7 +351,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:226
+#: environments.xml:221
 #, no-c-format
 msgid ""
 "<![CDATA[@Parameters List<String> params;\n"
@@ -363,13 +360,13 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:227
+#: environments.xml:222
 #, no-c-format
 msgid "Here's an example of a simple Web Beans SE application:"
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:231
+#: environments.xml:226
 #, no-c-format
 msgid ""
 "<![CDATA[@ApplicationScoped\n"
@@ -385,20 +382,20 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:233
+#: environments.xml:228
 #, no-c-format
 msgid ""
 "Web Beans SE applications are started by running the following main method."
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:235
+#: environments.xml:230
 #, no-c-format
 msgid "<![CDATA[java org.jboss.webbeans.environments.se.StartMain <args>]]>"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:237
+#: environments.xml:232
 #, no-c-format
 msgid ""
 "If you need to do any custom initialization of the Web Beans manager, for "
@@ -408,7 +405,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:242
+#: environments.xml:237
 #, no-c-format
 msgid ""
 "<![CDATA[public class PerformSetup\n"
@@ -422,7 +419,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:246
+#: environments.xml:240
 #, no-c-format
 msgid ""
 "The command line parameters do not become available for injection until the "

Modified: doc/trunk/reference/de-DE/extensions.po
===================================================================
--- doc/trunk/reference/de-DE/extensions.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/de-DE/extensions.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -3,9 +3,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
+"VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-03-28 17:09+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-28 17:09+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -33,13 +34,68 @@
 msgstr ""
 
 #. Tag: para
-#: extensions.xml:17 extensions.xml:26
+#: extensions.xml:17
 #, no-c-format
-msgid "TODO"
+msgid ""
+"Adding logging to your application is now even easier with simple injection "
+"of a logger object into any JSR-299 bean. Simply annotate a org.jboss."
+"webbeans.log.Log type member with <emphasis>@Logger</emphasis> and an "
+"appropriate logger object will be injected into any instance of the bean."
 msgstr ""
 
-#. Tag: title
-#: extensions.xml:24
+#. Tag: programlisting
+#: extensions.xml:25
 #, no-c-format
-msgid "XSD Generator for JSR-299 XML deployment descriptors"
+msgid ""
+"<![CDATA[public class Checkout {\n"
+"    import org.jboss.webbeans.annotation.Logger;\n"
+"    import org.jboss.webbeans.log.Log;\n"
+"    \n"
+"    @Logger\n"
+"    private Log log;\n"
+"\n"
+"    void invoiceItems() {\n"
+"        ShoppingCart cart;\n"
+"        . . .\n"
+"        log.debug(\"Items invoiced for {0}\", cart);\n"
+"    }\n"
+"    \n"
+"}]]>"
 msgstr ""
+
+#. Tag: para
+#: extensions.xml:27
+#, no-c-format
+msgid ""
+"The example shows how objects can be interpolated into a message. This "
+"interpolation is done using <emphasis>java.text.MessageFormat</emphasis>, so "
+"see the JavaDoc for that class for more details. In this case, the "
+"ShoppingCart should have implemented the <emphasis>toString()</emphasis> "
+"method to produce a human readable value that is meaningful in messages. "
+"Normally, this call would have involved evaluating cart.toString() with "
+"String concatenation to produce a single String argument. Thus it was "
+"necessary to surround the call with an if-statement using the condition "
+"<emphasis>log.isDebugEnabled()</emphasis> to avoid the expensive String "
+"concatenation if the message was not actually going to be used. However, "
+"when using @Logger injected logging, the conditional test can be left out "
+"since the object arguments are not evaluated unless the message is going to "
+"be logged."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:44
+#, no-c-format
+msgid ""
+"You can add the Web Beans Logger to your project by including webbeans-"
+"logger.jar and webbeans-logging.jar to your project. Alternatively, express "
+"a dependency on the <literal>org.jboss.webbeans:webbeans-logger</literal> "
+"Maven artifact."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:51
+#, no-c-format
+msgid ""
+"If you are using Web Beans as your JSR-299 implementation, there is no need "
+"to include <literal>webbeans-logging.jar</literal> as it's already included."
+msgstr ""

Copied: doc/trunk/reference/de-DE/gettingstarted.po (from rev 2516, doc/trunk/reference/de-DE/ri.po)
===================================================================
--- doc/trunk/reference/de-DE/gettingstarted.po	                        (rev 0)
+++ doc/trunk/reference/de-DE/gettingstarted.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,2259 @@
+# translation of ri.po to
+# Language de-DE translations for Introduction_to_Web_Beans package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ri\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2009-02-27 15:36+1100\n"
+"Last-Translator: \n"
+"Language-Team:  <en at li.org>\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
+#: gettingstarted.xml:4
+#, fuzzy, no-c-format
+msgid "Getting started with Web Beans, the Reference Implementation of JSR-299"
+msgstr "Die Web Beans Referenzimplementierung"
+
+#. Tag: para
+#: gettingstarted.xml:6
+#, fuzzy, no-c-format
+msgid ""
+"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
+"WebBeans\">the Seam project</ulink>. You can download the latest developer "
+"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
+"\">the downloads page</ulink>."
+msgstr ""
+"Die Web Beans Referenzimplementierung wird unter <ulink url=\"http://"
+"seamframework.org/WebBeans\">das Seam Projekt</ulink> entwickelt. Sie können "
+"die aktuellste Entwickler-Release von Web Beans von der <ulink url=\"http://"
+"seamframework.org/Download\">Downloads Seite</ulink> herunterladen."
+
+#. Tag: para
+#: gettingstarted.xml:13
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans comes with a two deployable example applications: "
+"<literal>webbeans-numberguess</literal>, a war example, containing only "
+"simple beans, and <literal>webbeans-translator</literal> an ear example, "
+"containing enterprise beans. There are also two variations on the "
+"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
+"and the jsf2 example, which you can use if you are running JSF2. To run the "
+"examples you'll need the following:"
+msgstr ""
+"Die Web Beans RI kommt mit zwei deploybaren Beispielanwendungen: "
+"<literal>webbeans-numberguess</literal>, ein war-Beispiel, das nur einfache "
+"Beans enthält und <literal>webbeans-translator</literal>, ein ear-Beispiel, "
+"dasEnterprise Beans enthält. Um Beispiele auszuführen benötigen Sie "
+"folgendes:"
+
+#. Tag: para
+#: gettingstarted.xml:25
+#, fuzzy, no-c-format
+msgid "the latest release of Web Beans,"
+msgstr "die aktuellste Release der Web Beans RI,"
+
+#. Tag: para
+#: gettingstarted.xml:28
+#, fuzzy, no-c-format
+msgid "JBoss AS 5.0.1.GA, or"
+msgstr "JBoss AS 5.0.0.GA und"
+
+#. Tag: para
+#: gettingstarted.xml:31
+#, no-c-format
+msgid "Apache Tomcat 6.0.x, and"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:34
+#, no-c-format
+msgid "Ant 1.7.0."
+msgstr "Ant 1.7.0."
+
+#. Tag: title
+#: gettingstarted.xml:39
+#, no-c-format
+msgid "Using JBoss AS 5"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:41
+#, fuzzy, no-c-format
+msgid ""
+"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
+"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
+msgstr ""
+"Momentan läuft die Web Beans RI nur auf JBoss Application Server 5. Sie "
+"werden JBoss AS 5.0.0.GA unter <ulink url=\"http://www.jboss.org/jbossas/"
+"downloads/\">jboss.org</ulink> herunterladen und es unzippen müssen. Zum "
+"Beispiel:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:47
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.1.GA.zip]]>"
+msgstr ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.0.GA.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:49 gettingstarted.xml:170
+#, fuzzy, no-c-format
+msgid ""
+"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
+"\">seamframework.org</ulink>, and unzip it. For example"
+msgstr ""
+"Anschließend laden Sie die Web Beans RI unter <ulink url=\"http://"
+"seamframework.org/Download\">seamframework.org</ulink> herunter und "
+"entzippen diese. Zum Beispiel "
+
+#. Tag: programlisting
+#: gettingstarted.xml:55 gettingstarted.xml:176
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-$VERSION.zip]]>"
+msgstr ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-$VERSION.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:58
+#, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>jboss.home</literal> "
+"property. For example:"
+msgstr ""
+"Als nächstes müssen wir Web Beans mitteilen, wo JBoss sich befindet. "
+"Editieren Sie <literal>jboss-as/build.properties</literal> und setzen Sie "
+"die <literal>jboss.home</literal>-Property. Zum Beispiel:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:64
+#, fuzzy, no-c-format
+msgid "jboss.home=/Applications/jboss-5.0.1.GA"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: gettingstarted.xml:66
+#, fuzzy, no-c-format
+msgid ""
+"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
+"<literal>ANT_HOME</literal> environment variable set. For example:"
+msgstr ""
+"Um das Update zu installieren, muss Ant 1.7.0 installiert und die "
+"<literal>ANT_HOME</literal> Umgebungsvariable gesetzt sein. Zum Beispiel:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:71
+#, no-c-format
+msgid ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+msgstr ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+
+#. Tag: para
+#: gettingstarted.xml:73
+#, fuzzy, no-c-format
+msgid ""
+"Then, you can install the update. The update script will use Maven to "
+"download Web Beans automatically."
+msgstr ""
+"Dann können Sie das Update installieren. Das Update-Skript verwendet Maven, "
+"um die Web Beans und EJB3 automatisch herunterzuladen."
+
+#. Tag: programlisting
+#: gettingstarted.xml:78
+#, no-c-format
+msgid ""
+"$ cd webbeans-$VERSION/jboss-as\n"
+"$ ant update"
+msgstr ""
+"$ cd webbeans-$VERSION/jboss-as\n"
+"$ ant update"
+
+#. Tag: para
+#: gettingstarted.xml:80
+#, no-c-format
+msgid "Now, you're ready to deploy your first example!"
+msgstr "Jetzt können Sie Ihr erstes Beispiel deployen!"
+
+#. Tag: para
+#: gettingstarted.xml:85
+#, fuzzy, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for JBoss AS, "
+"these are:"
+msgstr ""
+"Die Build-Skripte für die Beispiele bieten zahlreiche Ziele, diese sind:"
+
+#. Tag: para
+#: gettingstarted.xml:91
+#, no-c-format
+msgid "<literal>ant restart</literal> - deploy the example in exploded format"
+msgstr ""
+"<literal>ant restart</literal> - Deployment des Beispiels in ausgeklapptem "
+"Format"
+
+#. Tag: para
+#: gettingstarted.xml:97
+#, no-c-format
+msgid ""
+"<literal>ant explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+"<literal>ant explode</literal> - Aktualisierung eines ausgeklappten "
+"Beispiels ohne Neustart des Deployments"
+
+#. Tag: para
+#: gettingstarted.xml:103
+#, no-c-format
+msgid ""
+"<literal>ant deploy</literal> - deploy the example in compressed jar format"
+msgstr ""
+"<literal>ant deploy</literal> - Deployment des Beispiels in komprimiertem "
+"jar-Format"
+
+#. Tag: para
+#: gettingstarted.xml:108
+#, no-c-format
+msgid "<literal>ant undeploy</literal> - remove the example from the server"
+msgstr "<literal>ant undeploy</literal> - das Beispiel vom Server entfernen"
+
+#. Tag: para
+#: gettingstarted.xml:113
+#, no-c-format
+msgid "<literal>ant clean</literal> - clean the example"
+msgstr "<literal>ant clean</literal> - Das Beispiel bereinigen"
+
+#. Tag: para
+#: gettingstarted.xml:120
+#, no-c-format
+msgid "To deploy the numberguess example:"
+msgstr "Um das numberguess Beispiel zu deployen:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:124
+#, no-c-format
+msgid ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+msgstr ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:126
+#, no-c-format
+msgid "Start JBoss AS:"
+msgstr "JBoss AS starten:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:130
+#, no-c-format
+msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
+msgstr "$ /Application/jboss-5.0.0.GA/bin/run.sh"
+
+#. Tag: para
+#: gettingstarted.xml:133
+#, no-c-format
+msgid "If you use Windows, use the <literal>run.bat</literal>script."
+msgstr ""
+"Falls Sie Windows verwenden, verwenden Sie das <literal>run.bat</literal>-"
+"Skript."
+
+#. Tag: para
+#: gettingstarted.xml:138 gettingstarted.xml:240
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
+"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
+msgstr ""
+"Deployen Sie die Anwendung und genießen Sie stundenlangen Spaß unter <ulink "
+"url=\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
+
+#. Tag: para
+#: gettingstarted.xml:143
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans includes a second simple example that will translate your text "
+"into Latin. The numberguess example is a war example, and uses only simple "
+"beans; the translator example is an ear example, and includes enterprise "
+"beans, packaged in an EJB module. To try it out:"
+msgstr ""
+"Die Web Beans RI enthält ein zweites einfaches Beispiel, das Ihren Text ins "
+"Lateinische übersetzt. Beim numberguess Beispiel handelt es sich um ein war-"
+"Beispiel und es verwendet nur einfache Beans; das translator-Beispiel ist "
+"ein ear-Beispiel, das in einem EJB-Modul verpackte Enterprise Beans "
+"enthält . Um dies auszuprobieren:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:150
+#, no-c-format
+msgid ""
+"$ cd examples/translator\n"
+"ant deploy"
+msgstr ""
+"$ cd examples/translator\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:152
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and visit <ulink url=\"http://"
+"localhost:8080/webbeans-translator\"></ulink>!"
+msgstr ""
+"Warten Sie, bis die Anwendung deployt ist und besuchen Sie <ulink url="
+"\"http://localhost:8080/webbeans-translator\"></ulink>!"
+
+#. Tag: title
+#: gettingstarted.xml:160
+#, no-c-format
+msgid "Using Apache Tomcat 6.0"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:162
+#, fuzzy, no-c-format
+msgid ""
+"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
+"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
+"For example:"
+msgstr ""
+"Anschließend laden Sie die Web Beans RI unter <ulink url=\"http://"
+"seamframework.org/Download\">seamframework.org</ulink> herunter und "
+"entzippen diese. Zum Beispiel "
+
+#. Tag: programlisting
+#: gettingstarted.xml:168
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
+msgstr ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.0.GA.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:178
+#, fuzzy, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
+"property. For example:"
+msgstr ""
+"Als nächstes müssen wir Web Beans mitteilen, wo JBoss sich befindet. "
+"Editieren Sie <literal>jboss-as/build.properties</literal> und setzen Sie "
+"die <literal>jboss.home</literal>-Property. Zum Beispiel:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:184
+#, fuzzy, no-c-format
+msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: gettingstarted.xml:187
+#, fuzzy, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for Tomcat, "
+"these are:"
+msgstr ""
+"Die Build-Skripte für die Beispiele bieten zahlreiche Ziele, diese sind:"
+
+#. Tag: para
+#: gettingstarted.xml:193
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
+msgstr ""
+"<literal>ant restart</literal> - Deployment des Beispiels in ausgeklapptem "
+"Format"
+
+#. Tag: para
+#: gettingstarted.xml:199
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+"<literal>ant explode</literal> - Aktualisierung eines ausgeklappten "
+"Beispiels ohne Neustart des Deployments"
+
+#. Tag: para
+#: gettingstarted.xml:205
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
+"format"
+msgstr ""
+"<literal>ant deploy</literal> - Deployment des Beispiels in komprimiertem "
+"jar-Format"
+
+#. Tag: para
+#: gettingstarted.xml:210
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
+msgstr "<literal>ant undeploy</literal> - das Beispiel vom Server entfernen"
+
+#. Tag: para
+#: gettingstarted.xml:215
+#, fuzzy, no-c-format
+msgid "<literal>ant tomcat.clean</literal> - clean the example"
+msgstr "<literal>ant clean</literal> - Das Beispiel bereinigen"
+
+#. Tag: para
+#: gettingstarted.xml:222
+#, fuzzy, no-c-format
+msgid "To deploy the numberguess example for tomcat:"
+msgstr "Um das numberguess Beispiel zu deployen:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:226
+#, fuzzy, no-c-format
+msgid ""
+"$ cd examples/tomcat\n"
+"ant tomcat.deploy"
+msgstr ""
+"$ cd examples/translator\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:228
+#, no-c-format
+msgid "Start Tomcat:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:232
+#, fuzzy, no-c-format
+msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
+msgstr "$ /Application/jboss-5.0.0.GA/bin/run.sh"
+
+#. Tag: para
+#: gettingstarted.xml:235
+#, fuzzy, no-c-format
+msgid "If you use Windows, use the <literal>startup.bat</literal>script."
+msgstr ""
+"Falls Sie Windows verwenden, verwenden Sie das <literal>run.bat</literal>-"
+"Skript."
+
+#. Tag: title
+#: gettingstarted.xml:248
+#, no-c-format
+msgid "Using GlassFish"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:250
+#, no-c-format
+msgid "TODO"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:254
+#, no-c-format
+msgid "The numberguess example"
+msgstr "Das numberguess-Beispiel"
+
+#. Tag: para
+#: gettingstarted.xml:256
+#, no-c-format
+msgid ""
+"In the numberguess application you get given 10 attempts to guess a number "
+"between 1 and 100. After each attempt, you will be told whether you are too "
+"high, or too low."
+msgstr ""
+"In der numberguess-Anwendung haben Sie 10 Versuche, eine Zahl zwischen 1 und "
+"100 zu erraten. Nach jedem Versuch wird Ihnen mitgeteilt, ob Sie zu hoch "
+"oder zu niedrig liegen."
+
+#. Tag: para
+#: gettingstarted.xml:262
+#, no-c-format
+msgid ""
+"The numberguess example is comprised of a number of Web Beans, configuration "
+"files, and Facelet JSF pages, packaged as a war. Let's start with the "
+"configuration files."
+msgstr ""
+"Das numberguess-Beispiel besteht aus einer Reihe von Web Beans, "
+"Konfigurationsdateien und Facelet JSF-Seiten, die als eine war verpackt "
+"sind. Fangen wir mit den Konfigurationsdateien an."
+
+#. Tag: para
+#: gettingstarted.xml:268
+#, no-c-format
+msgid ""
+"All the configuration files for this example are located in <literal>WEB-INF/"
+"</literal>, which is stored in <literal>WebContent</literal> in the source "
+"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
+"JSF to use Facelets:"
+msgstr ""
+"Alle Konfigurationsdateien für dieses Beispiel befinden sich in <literal>WEB-"
+"INF/</literal>, das in <literal>WebContent</literal> im Quell-Baum "
+"gespeichert ist. Zunächst haben wir <literal>faces-config.xml</literal>, in "
+"dem wir JSF anweisen, Facelets zu verwenden:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:276
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+msgstr ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:278
+#, no-c-format
+msgid ""
+"There is an empty <literal>web-beans.xml</literal> file, which marks this "
+"application as a Web Beans application."
+msgstr ""
+"Es existiert eine leere <literal>web-beans.xml</literal>-Datei, die diese "
+"Anwendung als Web Beans Applikation kennzeichnet."
+
+#. Tag: para
+#: gettingstarted.xml:283
+#, no-c-format
+msgid "Finally there is <literal>web.xml</literal>:"
+msgstr "Und schließlich gibt es noch <literal>web.xml</literal>:"
+
+#. Tag: section
+#: gettingstarted.xml:285
+#, fuzzy, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
+"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
+"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
+"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
+"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
+"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
+"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
+"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
+"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
+"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
+"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
+"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
+"session timeout of 10 minutes </para> </callout> </calloutlist> </"
+"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
+"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
+"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
+"id=\"template\" coords=\"8\"/> <area id=\"messages2\" coords=\"12\"/> <area "
+"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
+"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
+"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
+"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
+"dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
+"number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
+"number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game."
+"biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
+"{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
+"<para> Facelets is a templating language for JSF, here we are wrapping our "
+"page in a template which defines the header. </para> </callout> <callout "
+"arearefs=\"messages2\"> <para> There are a number of messages which can be "
+"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
+"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
+"range of numbers they can guess gets smaller - this sentance changes to make "
+"sure they know what range to guess in. </para> </callout> <callout arearefs="
+"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
+"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
+"range validator is used to make sure the user doesn't accidentally input a "
+"number outside of the range in which they can guess - if the validator "
+"wasn't here, the user might use up a guess on an out of range number. </"
+"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
+"must be a way for the user to send their guess to the server. Here we bind "
+"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
+"programlistingco>"
+msgstr ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
+"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
+"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
+"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
+"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
+"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
+"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
+"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
+"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
+"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
+"giving our source files (facelets) an extension of <literal>.jsf</literal> </"
+"para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
+"session timeout of 10 minutes </para> </callout> </calloutlist> </"
+"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
+"the Web Beans RI with any Servlet based web framework. </para> </note> "
+"<para> Let's take a look at the Facelet view: </para> <programlistingco> "
+"<areaspec> <area id=\"template\" coords=\"8\"/> <area id=\"messages\" coords="
+"\"12\"/> <area id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords="
+"\"25\"/> <area id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords="
+"\"33\"/> </areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//"
+"W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/"
+"xhtml1-transitional.dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
+"number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
+"number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game."
+"biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
+"{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
+"<para> Facelets is a templating language for JSF, here we are wrapping our "
+"page in a template which defines the header. </para> </callout> <callout "
+"arearefs=\"messages\"> <para> There are a number of messages which can be "
+"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
+"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
+"range of numbers they can guess gets smaller - this sentance changes to make "
+"sure they know what range to guess in. </para> </callout> <callout arearefs="
+"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
+"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
+"range validator is used to make sure the user doesn't accidentally input a "
+"number outside of the range in which they can guess - if the validator "
+"wasn't here, the user might use up a guess on an out of range number. </"
+"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
+"must be a way for the user to send their guess to the server. Here we bind "
+"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
+"programlistingco>"
+
+#. Tag: para
+#: gettingstarted.xml:387
+#, no-c-format
+msgid ""
+"The example exists of 4 classes, the first two of which are binding types. "
+"First, there is the <literal>@Random</literal> binding type, used for "
+"injecting a random number:"
+msgstr ""
+"Das Beispiel besteht aus 4 Klassen, wobei die ersten beiden Binding-Typen "
+"sind. Zunächst gibt es den <literal>@Random</literal> Binding-Typ, der zur "
+"Einspeisung einer zufälligen Zahl dient:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:393
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+msgstr ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+
+#. Tag: para
+#: gettingstarted.xml:395
+#, no-c-format
+msgid ""
+"There is also the <literal>@MaxNumber</literal> binding type, used for "
+"injecting the maximum number that can be injected:"
+msgstr ""
+"Es gibt außerdem den <literal>@MaxNumber</literal> Binding-Typ, der zur "
+"Einspeisung der maximalen Zahl, die eingespeist werden kann, verwendet wird:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:400
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+msgstr ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+
+#. Tag: para
+#: gettingstarted.xml:402
+#, no-c-format
+msgid ""
+"The <literal>Generator</literal> class is responsible for creating the "
+"random number, via a producer method. It also exposes the maximum possible "
+"number via a producer method:"
+msgstr ""
+"Die <literal>Generator</literal>-Klasse ist verantwortlich für die "
+"Erstellung der zufälligen Zahl via einer  Producer-Methode. Sie legt auch "
+"die mögliche Maximalzahl via einer maximum Producer-Methode offen:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:408
+#, no-c-format
+msgid ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System."
+"currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+msgstr ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System."
+"currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+
+#. Tag: para
+#: gettingstarted.xml:410
+#, no-c-format
+msgid ""
+"You'll notice that the <literal>Generator</literal> is application scoped; "
+"therefore we don't get a different random each time."
+msgstr ""
+"Sie werden feststellen, dass der <literal>Generator</literal> "
+"anwendungsbegrenzt ist; daher erhalten wir nicht jedes Mal ein anderes "
+"Zufallsergebnis."
+
+#. Tag: para
+#: gettingstarted.xml:415
+#, no-c-format
+msgid ""
+"The final Web Bean in the application is the session scoped <literal>Game</"
+"literal>."
+msgstr ""
+"Das letzte Web Bean in der Anwendung ist das sessionbegrenzte <literal>Game</"
+"literal>."
+
+#. Tag: para
+#: gettingstarted.xml:420
+#, no-c-format
+msgid ""
+"You'll note that we've used the <literal>@Named</literal> annotation, so "
+"that we can use the bean through EL in the JSF page. Finally, we've used "
+"constructor injection to initialize the game with a random number. And of "
+"course, we need to tell the player when they've won, so we give feedback "
+"with a <literal>FacesMessage</literal>."
+msgstr ""
+"Sie werden bemerken, dass wir die <literal>@Named</literal>-Annotation "
+"verwendet haben, damit wir das Bean durch EL in der JSF-Seite verwenden "
+"können. Zu guter Letzt haben wir Konstruktor-Einspeisung zur Initialisierung "
+"des Spiels mit Zufallszahl verwendet. Und natürlich müssen wir dem Spieler "
+"mitteilen, wenn er gewonnen hat, daher bieten wir Feedback mittels einer "
+"<literal>FacesMessage</literal>."
+
+#. Tag: programlisting
+#: gettingstarted.xml:428
+#, no-c-format
+msgid ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
+"(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new "
+"AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+msgstr ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
+"(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new "
+"AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+
+#. Tag: title
+#: gettingstarted.xml:431
+#, fuzzy, no-c-format
+msgid "The numberguess example in Tomcat"
+msgstr "Das numberguess-Beispiel"
+
+#. Tag: para
+#: gettingstarted.xml:433
+#, no-c-format
+msgid ""
+"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
+"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
+"literal>. For your convenience we provide a single jar suitable for running "
+"Web Beans in any servlet container <literal>webbeans-servlet.jar</literal>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:442
+#, no-c-format
+msgid ""
+"Of course, you must also include JSF and EL, as well common annotations "
+"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:449
+#, no-c-format
+msgid ""
+"Secondly, we need to explicitly specify the servlet listener (used to boot "
+"Web Beans, and control it's interaction with requests) in <literal>web.xml</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:455
+#, no-c-format
+msgid ""
+"<![CDATA[<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:460
+#, fuzzy, no-c-format
+msgid "The numberguess example for Apache Wicket"
+msgstr "Das numberguess-Beispiel"
+
+#. Tag: para
+#: gettingstarted.xml:461
+#, no-c-format
+msgid ""
+"Whilst JSR-299 specifies integration with Java ServerFaces, Web Beans allows "
+"you to inject into Wicket components, and also allows you to use a "
+"conversation context with Wicket. In this section, we'll walk you through "
+"the Wicket version of the numberguess example."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:470
+#, no-c-format
+msgid ""
+"You may want to review the Wicket documentation at <ulink url=\"http://"
+"wicket.apache.org/\">http://wicket.apache.org/</ulink>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:476
+#, no-c-format
+msgid ""
+"Like the previous example, the Wicket WebBeans examples make use of the "
+"<literal>webbeans-servlet</literal> module. The use of the <ulink url="
+"\"http://jetty.mortbay.org/\">Jetty servlet container</ulink> is common in "
+"the Wicket community, and is chosen here as the runtime container in order "
+"to facilitate comparison between the standard Wicket examples and these "
+"examples, and also to show how the webbeans-servlet integration is not "
+"dependent upon Tomcat as the servlet container."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:487
+#, no-c-format
+msgid ""
+"These examples make use of the Eclipse IDE; instructions are also given to "
+"deploy the application from the command line."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:493
+#, no-c-format
+msgid "Creating the Eclipse project"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:495
+#, no-c-format
+msgid "To generate an Eclipse project from the example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:499
+#, no-c-format
+msgid ""
+"<![CDATA[cd examples/wicket/numberguess\n"
+"mvn eclipse:eclipse]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:501
+#, no-c-format
+msgid ""
+"Then, from eclipse, choose <emphasis>File -> Import -> General -> Existing "
+"Projects into Workspace</emphasis>, select the root directory of the "
+"numberguess example, and click finish. This will create a project in your "
+"workspace called <literal>webbeans-wicket-numberguess</literal>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:516
+#, no-c-format
+msgid "Running the example from Eclipse"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:518
+#, no-c-format
+msgid ""
+"This project follows the <literal>wicket-quickstart</literal> approach of "
+"creating an instance of Jetty in the <literal>Start</literal> class. So "
+"running the example is as simple as right-clicking on that Start class in "
+"<literal>src/test/java</literal> in the <emphasis>Package Explorer</"
+"emphasis> and choosing <emphasis>Run as Java Application</emphasis>. You "
+"should see console output related to Jetty starting up; then visit able "
+"<literal>http://localhost:8080</literal> to view the app. To debug choose "
+"<emphasis>Debug as Java Application</emphasis>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:533
+#, no-c-format
+msgid "Running the example from the command line in JBoss AS or Tomcat"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:535
+#, no-c-format
+msgid ""
+"This example can also be deployed from the command line in a (similar to the "
+"other examples). Assuming you have set up the <literal>build.properties</"
+"literal> file in the <literal>examples</literal> directory to specify the "
+"location of JBoss AS or Tomcat, as previously described, you can run "
+"<literal>ant deploy</literal> from the <literal>examples/wicket/numberguess</"
+"literal> directory, and access the application at <literal>http://"
+"localhost:8080/webbeans-numberguess-wicket</literal>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:549
+#, no-c-format
+msgid "Understanding the code"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:551
+#, no-c-format
+msgid ""
+"JSF uses Unified EL expressions to bind view layer components in JSP or "
+"Facelet views to beans, Wicket defines it's components in Java. The markup "
+"is plain html with a one-to-one mapping between html elements and the view "
+"components. All view logic, including binding of components to models and "
+"controlling the response of view actions, is handled in Java. The "
+"integration of Web Beans with Wicket takes advantage of the same binding "
+"annotations used in your business layer to provide injection into your "
+"WebPage subclass (or into other custom wicket component subclasses)."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:563
+#, no-c-format
+msgid ""
+"The code in the wicket numberguess example is very similar to the JSF-based "
+"numberguess example. The business layer is identical!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:568
+#, no-c-format
+msgid "Differences are:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:573
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass, In our case, our application class is <literal>SampleApplication</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:579
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:580
+#, no-c-format
+msgid ""
+"This class specifies which page wicket should treat as our home page, in our "
+"case, <literal>HomePage.class</literal>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:586
+#, no-c-format
+msgid ""
+"In <literal>HomePage</literal> we see typical wicket code to set up page "
+"elements. The bit that is interesting is the injection of the <literal>Game</"
+"literal> bean:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:592
+#, no-c-format
+msgid "<![CDATA[ @Current Game game;]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:594
+#, no-c-format
+msgid ""
+"The <literal>Game</literal> bean is can then be used, for example, by the "
+"code for submitting a guess:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:599
+#, no-c-format
+msgid ""
+"<![CDATA[final Component guessButton = new AjaxButton(\"GuessButton\") { \n"
+"   protected void onSubmit(AjaxRequestTarget target, Form form) {\n"
+"      if (game.check()) {]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:602
+#, no-c-format
+msgid ""
+"All injections may be serialized; actual storage of the bean is managed by "
+"JSR-299. Note that Wicket components, like the HomePage and it "
+"subcomponents, are <emphasis>not</emphasis> JSR-299 beans."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:608
+#, no-c-format
+msgid ""
+"Wicket components allow injection, but they <emphasis>cannot</emphasis> use "
+"interceptors, decorators and lifecycle callbacks such as "
+"<literal>@PostConstruct</literal> or <literal>@Initializer</literal> methods."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:618
+#, no-c-format
+msgid ""
+"The example uses AJAX for processing of button events, and dynamically hides "
+"buttons that are no longer relevant, for example when the user has won the "
+"game."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:626
+#, no-c-format
+msgid ""
+"In order to activate wicket for this webapp, the Wicket filter is added to "
+"web.xml, and our application class is specified:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:631
+#, no-c-format
+msgid ""
+"<![CDATA[<filter>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-"
+"class>\n"
+"   <init-param>\n"
+"      <param-name>applicationClassName</param-name>\n"
+"      <param-value>org.jboss.webbeans.examples.wicket.SampleApplication</"
+"param-value>\n"
+"   </init-param>\n"
+"</filter>\n"
+"\n"
+"<filter-mapping>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <url-pattern>/*</url-pattern>\n"
+"</filter-mapping>\n"
+" \n"
+"<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:632
+#, no-c-format
+msgid ""
+"Note that the servlet listener is also added, as in the Tomcat example, in "
+"order to boostrap Web Beans when Jetty starts, and to hook Web Beans into "
+"the Jetty servlet request and session lifecycles."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:645
+#, fuzzy, no-c-format
+msgid "The numberguess example for Java SE with Swing"
+msgstr "Das numberguess-Beispiel"
+
+#. Tag: para
+#: gettingstarted.xml:647
+#, no-c-format
+msgid ""
+"This example can be found in the <literal>examples/se/numberguess</literal> "
+"folder of the Web Beans distribution."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:654
+#, fuzzy, no-c-format
+msgid "To run this example:"
+msgstr "Das translator-Beispiel"
+
+#. Tag: para
+#: gettingstarted.xml:660
+#, no-c-format
+msgid ""
+"Open a command line/terminal window in the <literal>examples/se/numberguess</"
+"literal> directory"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:666
+#, no-c-format
+msgid "Ensure that Maven 2 is installed and in your PATH"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:671
+#, no-c-format
+msgid ""
+"Ensure that the <literal>JAVA_HOME</literal> environment variable is "
+"pointing to your JDK installation"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:677
+#, no-c-format
+msgid "execute the following command"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:680
+#, no-c-format
+msgid "mvn -Drun"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:686
+#, fuzzy, no-c-format
+msgid ""
+"There is an empty <literal>beans.xml</literal> file in the root package "
+"(<literal>src/main/resources/beans.xml</literal>), which marks this "
+"application as a Web Beans application."
+msgstr ""
+"Es existiert eine leere <literal>web-beans.xml</literal>-Datei, die diese "
+"Anwendung als Web Beans Applikation kennzeichnet."
+
+#. Tag: para
+#: gettingstarted.xml:692
+#, no-c-format
+msgid ""
+"The game's main logic is located in <literal>Game.java</literal>. Here is "
+"the code for that class, highlighting the changes made from the web "
+"application version:"
+msgstr ""
+
+#. Tag: section
+#: gettingstarted.xml:696
+#, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"scope\" coords=\"1\"/> <area id="
+"\"name\" coords=\"1\"/> <area id=\"messages1\" coords=\"26\"/> <area id="
+"\"validation\" coords=\"39\"/> <area id=\"reset\" coords=\"68\"/> </"
+"areaspec> <programlisting role=\"JAVA\"><![CDATA[@ApplicationScoped\n"
+"public class Game implements Serializable\n"
+"{\n"
+"\n"
+"    private int number;\n"
+"    private int guess;\n"
+"    private int smallest;\n"
+"\n"
+"    @MaxNumber\n"
+"    private int maxNumber;\n"
+"\n"
+"    private int biggest;\n"
+"    private int remainingGuesses;\n"
+"    private boolean validNumberRange = true;\n"
+"\n"
+"    @Current Generator rndGenerator;\n"
+"\n"
+"    ...\n"
+"\n"
+"    public boolean isValidNumberRange()\n"
+"    {\n"
+"        return validNumberRange;\n"
+"    }\n"
+"\n"
+"    public boolean isGameWon()\n"
+"    {\n"
+"        return guess == number;\n"
+"    }\n"
+"\n"
+"    public boolean isGameLost()\n"
+"    {\n"
+"        return guess != number && remainingGuesses <= 0;\n"
+"    }\n"
+"\n"
+"    public boolean check()\n"
+"    {\n"
+"        boolean result = false;\n"
+"\n"
+"        if ( checkNewNumberRangeIsValid() )\n"
+"        {\n"
+"            if ( guess > number )\n"
+"            {\n"
+"                biggest = guess - 1;\n"
+"            }\n"
+"\n"
+"            if ( guess < number )\n"
+"            {\n"
+"                smallest = guess + 1;\n"
+"            }\n"
+"\n"
+"            if ( guess == number )\n"
+"            {\n"
+"                result = true;\n"
+"            }\n"
+"\n"
+"            remainingGuesses--;\n"
+"        }\n"
+"\n"
+"        return result;\n"
+"    }\n"
+"\n"
+"    private boolean checkNewNumberRangeIsValid()\n"
+"    {\n"
+"        return validNumberRange = ( ( guess >= smallest ) && ( guess <= "
+"biggest ) );\n"
+"    }\n"
+"\n"
+"    @PostConstruct\n"
+"    public void reset()\n"
+"    {\n"
+"        this.smallest = 0;\n"
+"        ...\n"
+"        this.number = rndGenerator.next();\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"scope\"> <para> The "
+"bean is application scoped instead of session scoped, since an instance of "
+"the application represents a single 'session'. </para> </callout> <callout "
+"arearefs=\"name\"> <para> The bean is not named, since it doesn't need to be "
+"accessed via EL </para> </callout> <callout arearefs=\"messages1\"> <para> "
+"There is no JSF <literal>FacesContext</literal> to add messages to. Instead "
+"the <literal>Game</literal> class provides additional information about the "
+"state of the current game including: </para> <itemizedlist> <listitem> "
+"<para> If the game has been won or lost </para> </listitem> <listitem> "
+"<para> If the most recent guess was invalid </para> </listitem> </"
+"itemizedlist> <para> This allows the Swing UI to query the state of the "
+"game, which it does indirectly via a class called <literal>MessageGenerator,"
+"</literal> in order to determine the appropriate messages to display to the "
+"user during the game. </para> </callout> <callout arearefs=\"validation\"> "
+"<para> Validation of user input is performed during the <literal>check()</"
+"literal> method, since there is no dedicated validation phase </para> </"
+"callout> <callout arearefs=\"reset\"> <para> The <literal>reset()</literal> "
+"method makes a call to the injected <literal>rndGenerator</literal> in order "
+"to get the random number at the start of each game. It cannot use "
+"<literal>manager.getInstanceByType(Integer.class, new AnnotationLiteral&lt;"
+"Random&gt;(){})</literal> as the JSF example does because there will not be "
+"any active contexts like there is during a JSF request. </para> </callout> </"
+"calloutlist> </programlistingco> <para> The <literal>MessageGenerator</"
+"literal> class depends on the current instance of <literal>Game</literal>, "
+"and queries its state in order to determine the appropriate messages to "
+"provide as the prompt for the user's next guess and the response to the "
+"previous guess. The code for <literal>MessageGenerator</literal> is as "
+"follows: </para> <programlistingco> <areaspec> <area id=\"game\" coords=\"3"
+"\"/> <area id=\"challenge\" coords=\"5\"/> <area id=\"result\" coords=\"16\"/"
+"> </areaspec> <programlisting role=\"JAVA\"><![CDATA[public class "
+"MessageGenerator\n"
+"{\n"
+"    @Current Game game;\n"
+"\n"
+"    public String getChallengeMessage()\n"
+"    {\n"
+"        StringBuilder challengeMsg = new StringBuilder( \"I'm thinking of a "
+"number between \" );\n"
+"        challengeMsg.append( game.getSmallest() );\n"
+"        challengeMsg.append( \" and \" );\n"
+"        challengeMsg.append( game.getBiggest() );\n"
+"        challengeMsg.append( \". Can you guess what it is?\" );\n"
+"\n"
+"        return challengeMsg.toString();\n"
+"    }\n"
+"\n"
+"    public String getResultMessage()\n"
+"    {\n"
+"        if ( game.isGameWon() )\n"
+"        {\n"
+"            return \"You guess it! The number was \" + game.getNumber();\n"
+"        } else if ( game.isGameLost() )\n"
+"        {\n"
+"            return \"You are fail! The number was \" + game.getNumber();\n"
+"        } else if ( ! game.isValidNumberRange() )\n"
+"        {\n"
+"            return \"Invalid number range!\";\n"
+"        } else if ( game.getRemainingGuesses() == Game.MAX_NUM_GUESSES )\n"
+"        {\n"
+"            return \"What is your first guess?\";\n"
+"        } else\n"
+"        {\n"
+"            String direction = null;\n"
+"\n"
+"            if ( game.getGuess() < game.getNumber() )\n"
+"            {\n"
+"                direction = \"Higher\";\n"
+"            } else\n"
+"            {\n"
+"                direction = \"Lower\";\n"
+"            }\n"
+"\n"
+"            return direction + \"! You have \" + game.getRemainingGuesses() "
+"+ \" guesses left.\";\n"
+"        }\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"game\"> <para> The "
+"instance of <literal>Game</literal> for the application is injected here. </"
+"para> </callout> <callout arearefs=\"challenge\"> <para> The <literal>Game</"
+"literal>'s state is interrogated to determine the appropriate challenge "
+"message. </para> </callout> <callout arearefs=\"result\"> <para> And again "
+"to determine whether to congratulate, console or encourage the user to "
+"continue. </para> </callout> </calloutlist> </programlistingco> <para> "
+"Finally we come to the <literal>NumberGuessFrame</literal> class which "
+"provides the Swing front end to our guessing game. </para> "
+"<programlistingco> <areaspec> <area id=\"gameIn\" coords=\"3\"/> <area id="
+"\"messagesIn\" coords=\"4\"/> <area id=\"start\" coords=\"6\"/> <area id="
+"\"init\" coords=\"18\"/> <area id=\"guess1\" coords=\"34\"/> <area id="
+"\"replay\" coords=\"44\"/> <area id=\"refresh\" coords=\"50\"/> </areaspec> "
+"<programlisting role=\"JAVA\"><![CDATA[public class NumberGuessFrame  "
+"extends javax.swing.JFrame\n"
+"{\n"
+"    private @Current Game game;\n"
+"    private @Current MessageGenerator msgGenerator;\n"
+"\n"
+"    public void start( @Observes @Deployed Manager manager )\n"
+"    {\n"
+"        java.awt.EventQueue.invokeLater( new Runnable()\n"
+"            {\n"
+"                public void run()\n"
+"                {\n"
+"                    initComponents();\n"
+"                    setVisible( true );\n"
+"                }\n"
+"            } );\n"
+"    }\n"
+"\n"
+"    private void initComponents() {\n"
+"\n"
+"        buttonPanel = new javax.swing.JPanel();\n"
+"        mainMsgPanel = new javax.swing.JPanel();\n"
+"        mainLabel = new javax.swing.JLabel();\n"
+"        messageLabel = new javax.swing.JLabel();\n"
+"        guessText = new javax.swing.JTextField();\n"
+"        ...\n"
+"        mainLabel.setText(msgGenerator.getChallengeMessage());\n"
+"        mainMsgPanel.add(mainLabel);\n"
+"\n"
+"        messageLabel.setText(msgGenerator.getResultMessage());\n"
+"        mainMsgPanel.add(messageLabel);\n"
+"        ...\n"
+"    }\n"
+"\n"
+"    private void guessButtonActionPerformed( java.awt.event.ActionEvent "
+"evt )\n"
+"    {\n"
+"        int guess =  Integer.parseInt(guessText.getText());\n"
+"\n"
+"        game.setGuess( guess );\n"
+"        game.check();\n"
+"        refreshUI();\n"
+"\n"
+"    }\n"
+"\n"
+"    private void replayBtnActionPerformed( java.awt.event.ActionEvent evt )\n"
+"    {\n"
+"       game.reset();\n"
+"       refreshUI();\n"
+"    }\n"
+"\n"
+"    private void refreshUI()\n"
+"    {\n"
+"        mainLabel.setText( msgGenerator.getChallengeMessage() );\n"
+"        messageLabel.setText( msgGenerator.getResultMessage() );\n"
+"        guessText.setText( \"\" );\n"
+"        guessesLeftBar.setValue( game.getRemainingGuesses() );\n"
+"        guessText.requestFocus();\n"
+"    }\n"
+"\n"
+"    // swing components\n"
+"    private javax.swing.JPanel borderPanel;\n"
+"    ...\n"
+"    private javax.swing.JButton replayBtn;\n"
+"\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"gameIn\"> <para> The "
+"injected instance of the game (logic and state). </para> </callout> <callout "
+"arearefs=\"messagesIn\"> <para> The injected message generator for UI "
+"messages. </para> </callout> <callout arearefs=\"start\"> <para> This "
+"application is started in the usual Web Beans SE way, by observing the "
+"<literal>@Deployed Manager</literal> event. </para> </callout> <callout "
+"arearefs=\"init\"> <para> This method initialises all of the Swing "
+"components. Note the use of the <literal>msgGenerator</literal>. </para> </"
+"callout> <callout arearefs=\"guess1\"> <para> "
+"<literal>guessButtonActionPerformed</literal> is called when the 'Guess' "
+"button is clicked, and it does the following: </para> <itemizedlist> "
+"<listitem> <para> Gets the guess entered by the user and sets it as the "
+"current guess in the <literal>Game</literal> </para> </listitem> <listitem> "
+"<para> Calls <literal>game.check()</literal> to validate and perform one "
+"'turn' of the game </para> </listitem> <listitem> <para> Calls "
+"<literal>refreshUI</literal>. If there were validation errors with the "
+"input, this will have been captured during <literal>game.check()</literal> "
+"and as such will be reflected in the messeges returned by "
+"<literal>MessageGenerator</literal> and subsequently presented to the user. "
+"If there are no validation errors then the user will be told to guess again "
+"(higher or lower) or that the game has ended either in a win (correct guess) "
+"or a loss (ran out of guesses). </para> </listitem> </itemizedlist> </"
+"callout> <callout arearefs=\"replay\"> <para> "
+"<literal>replayBtnActionPerformed</literal> simply calls <literal>game.reset"
+"()</literal> to start a new game and refreshes the messages in the UI. </"
+"para> </callout> <callout arearefs=\"refresh\"> <para> <literal>refreshUI</"
+"literal> uses the <literal>MessageGenerator</literal> to update the messages "
+"to the user based on the current state of the Game. </para> </callout> </"
+"calloutlist> </programlistingco>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:904
+#, no-c-format
+msgid "The translator example"
+msgstr "Das translator-Beispiel"
+
+#. Tag: para
+#: gettingstarted.xml:906
+#, no-c-format
+msgid ""
+"The translator example will take any sentences you enter, and translate them "
+"to Latin."
+msgstr ""
+"Beim translator-Beispiel werden die von Ihnen eingegebenen Sätze ins "
+"Lateinische übersetzt."
+
+#. Tag: para
+#: gettingstarted.xml:911
+#, no-c-format
+msgid ""
+"The translator example is built as an ear, and contains EJBs. As a result, "
+"it's structure is more complex than the numberguess example."
+msgstr ""
+"Das translator-Beispiel ist eine ear und enthält EJBs. Als Folge ist seine "
+"Struktur komplexer als die desnumberguess-Beispiels."
+
+#. Tag: para
+#: gettingstarted.xml:917
+#, no-c-format
+msgid ""
+"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
+"this structure much simpler!"
+msgstr ""
+"EJB 3.1 und Jave EE 6 gestatten es Ihnen EJBs in eine war zu verpacken, "
+"wodurch diese Struktur wesentlich einfacher wird!"
+
+#. Tag: para
+#: gettingstarted.xml:923
+#, no-c-format
+msgid ""
+"First, let's take a look at the ear aggregator, which is located in "
+"<literal>webbeans-translator-ear</literal> module. Maven automatically "
+"generates the <literal>application.xml</literal> for us:"
+msgstr ""
+"Werfen wir zunächst einen Blick auf den ear-Aggregator, das sich im "
+"<literal>webbeans-translator-ear</literal>-Modul befindet. Maven generiert "
+"automatisch die <literal>application.xml</literal> für uns:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:929
+#, no-c-format
+msgid ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+msgstr ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:931
+#, no-c-format
+msgid ""
+"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
+"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
+"translator</ulink>)."
+msgstr ""
+"Hier setzen wir den Kontextpfad, der uns eine schöne url liefert (<ulink url="
+"\"http://localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
+"translator</ulink>)."
+
+#. Tag: para
+#: gettingstarted.xml:937
+#, no-c-format
+msgid ""
+"If you aren't using Maven to generate these files, you would need "
+"<literal>META-INF/application.xml</literal>:"
+msgstr ""
+"Falls Sie zur Generierung dieser Dateien nicht Maven verwendet haben, "
+"benötigen Sie <literal>META-INF/application.xml</literal>:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:942
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web "
+"Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+msgstr ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web "
+"Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:945
+#, fuzzy, no-c-format
+msgid ""
+"Next, lets look at the war. Just as in the numberguess example, we have a "
+"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
+"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
+msgstr ""
+"Als nächstes schauen wir uns die war an. Genau wie im numberguess Beispiel "
+"haben wir eine <literal>faces-config.xml</literal> (zur Aktivierung von "
+"Facelets) und eine <literal>web.xml</literal> (zur Aktivierung von JSF) in "
+"<literal>WebContent/WEB-INF</literal>."
+
+#. Tag: para
+#: gettingstarted.xml:952
+#, no-c-format
+msgid ""
+"More intersting is the facelet used to translate text. Just as in the "
+"numberguess example we have a template, which surrounds the form (ommitted "
+"here for brevity):"
+msgstr ""
+"Interessanter ist das zur Übersetzung des Texts verwendete Facelet. Ganz wie "
+"im numberguess-Beispiel besitzen wir eine Vorlage, die das Formular umgibt "
+"(hier der Kürze wegen weggelassen):"
+
+#. Tag: programlisting
+#: gettingstarted.xml:958
+#, no-c-format
+msgid ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+msgstr ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:960
+#, no-c-format
+msgid ""
+"The user can enter some text in the lefthand textarea, and hit the translate "
+"button to see the result to the right."
+msgstr ""
+"Der Benutzer kann Text im Textbereich links eingeben und dann die translate-"
+"Schaltfläche drücken (zur Übersetzung), um auf der rechten Seite das "
+"Ergebnis zu sehen."
+
+#. Tag: para
+#: gettingstarted.xml:965
+#, no-c-format
+msgid ""
+"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
+"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
+"empty <literal>web-beans.xml</literal>, used to mark the archive as "
+"containing Web Beans."
+msgstr ""
+"Sehen wir uns schließlich noch das ejb-Modul <literal>webbeans-translator-"
+"ejb</literal> an. In <literal>src/main/resources/META-INF</literal> "
+"existiert nur eine leere <literal>web-beans.xml</literal>, die dazu dient "
+"das Archiv als Web Beans enthaltend zu markieren."
+
+#. Tag: para
+#: gettingstarted.xml:973
+#, no-c-format
+msgid ""
+"We've saved the most interesting bit to last, the code! The project has two "
+"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
+"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
+"literal> and <literal>SentenceTranslator</literal>. You should be getting "
+"quite familiar with what a Web Bean looks like by now, so we'll just "
+"highlight the most interesting bits here."
+msgstr ""
+"Wir haben uns das Interessanteste bis zuletzt aufgehoben, nämlich den Code! "
+"Das Projekt besitzt zwei einfache Beans, <literal>SentenceParser</literal> "
+"und <literal>TextTranslator</literal> und zwei Enterprise Beans, "
+"<literal>TranslatorControllerBean</literal> und <literal>SentenceTranslator</"
+"literal>. Sie sind wahrscheinlich schon weitehend vertraut damit, wie Web "
+"Bean aussehen, daher gehen wir hier nur auf die interessantesten Aspekte ein."
+
+#. Tag: para
+#: gettingstarted.xml:983
+#, no-c-format
+msgid ""
+"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
+"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
+"initialization:"
+msgstr ""
+"Sowohl bei <literal>SentenceParser</literal> als auch bei "
+"<literal>TextTranslator</literal> handelt es sich um abhängige Beans und "
+"<literal>TextTranslator</literal> verwendet Konstruktor-Initialisierung :"
+
+#. Tag: programlisting
+#: gettingstarted.xml:989
+#, no-c-format
+msgid ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator "
+"sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+msgstr ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator "
+"sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+
+#. Tag: para
+#: gettingstarted.xml:991
+#, no-c-format
+msgid ""
+"<literal>TextTranslator</literal> is a stateless bean (with a local business "
+"interface), where the magic happens - of course, we couldn't develop a full "
+"translator, but we gave it a good go!"
+msgstr ""
+"<literal>TextTranslator</literal> ist ein stateless Bean (mit einem lokalen "
+"Business-Interface), wo alles passiert - natürlich konnten wir keinen "
+"kompletten Übersetzer entwickeln,, aber wir haben uns Mühe gegeben!"
+
+#. Tag: para
+#: gettingstarted.xml:997
+#, no-c-format
+msgid ""
+"Finally, there is UI orientated controller, that collects the text from the "
+"user, and dispatches it to the translator. This is a request scoped, named, "
+"stateful session bean, which injects the translator."
+msgstr ""
+"Schließlich gibt es noch den UI-orientierten Kontroller, der den Text vom "
+"Benutzer nimmt und ihn an den translator (Übersetzer) weitergibt. Hierbei "
+"handelt es sich um ein anfragenbegrenztes, benanntes, stateful Session Bean, "
+"das den translator einspeist."
+
+#. Tag: programlisting
+#: gettingstarted.xml:1003
+#, no-c-format
+msgid ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+msgstr ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+
+#. Tag: para
+#: gettingstarted.xml:1005
+#, no-c-format
+msgid "The bean also has getters and setters for all the fields on the page."
+msgstr "Das Bean besitzt auch Getter und Setter für alle Felder auf der Seite."
+
+#. Tag: para
+#: gettingstarted.xml:1009
+#, no-c-format
+msgid "As this is a stateful session bean, we have to have a remove method:"
+msgstr ""
+"Da es sich um ein stateful Session Bean handelt, müssen wir eine remove-"
+"Methode besitzen:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:1013
+#, no-c-format
+msgid ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+msgstr ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+
+#. Tag: para
+#: gettingstarted.xml:1015
+#, no-c-format
+msgid ""
+"The Web Beans manager will call the remove method for you when the bean is "
+"destroyed; in this case at the end of the request."
+msgstr ""
+"Der Web Beans Manager ruft die remove-Methode für Sie auf, wenn das Bean "
+"gelöscht wird, in diesem Fall am Ende der Anfrage."
+
+#. Tag: para
+#: gettingstarted.xml:1021
+#, fuzzy, no-c-format
+msgid ""
+"That concludes our short tour of the Web Beans examples. For more on Web "
+"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
+"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
+"Development</ulink>."
+msgstr ""
+"Dies beendet unsere kurze Tour von Web Beans RI Beispielen. Falls Sie "
+"weitere Informationen zur RI wünschen oder falls Sie helfen möchten, "
+"besuchen SIe bitte <ulink url=\"http://www.seamframework.org/WebBeans/"
+"Development\">http://www.seamframework.org/WebBeans/Development</ulink>."
+
+#. Tag: para
+#: gettingstarted.xml:1027
+#, no-c-format
+msgid ""
+"We need help in all areas - bug fixing, writing new features, writing "
+"examples and translating this reference guide."
+msgstr ""
+"Wir brauche Unterstützung auf allen Gebieten - Fehlerbehebung, Schreiben "
+"neuer Features, Schreiben neuer Beispiele und bei der Übersetzung dieses "
+"Referenzhandbuchs."
+
+#, fuzzy
+#~ msgid ""
+#~ "A new deployer, <literal>webbeans.deployer</literal> is added to JBoss "
+#~ "AS. This adds supports for Web Bean archives to JBoss AS, and allows the "
+#~ "Web Beans RI to query the EJB3 container and discover which EJBs are "
+#~ "installed in your application."
+#~ msgstr ""
+#~ "Derzeit sind zwei Updates nötig. Zuerst wird ein neuer Deployer "
+#~ "<literal>webbeans.deployer</literal> hinzugefügt. Dies fügt Supports für "
+#~ "Web Bean Archive zu JBoss AS hinzu und gestattet der Web Beans RI beim "
+#~ "EJB3 Container anzufragen und festzustellen, welche EJBs in Ihrer "
+#~ "Anwendung installiert sind. Desweiteren wird ein Update zu JBoss EJB3 "
+#~ "benötigt."
+
+#~ msgid ""
+#~ "As Web Beans is a new piece of software, you need to update JBoss AS to "
+#~ "run the Web Beans RI. Future versions of JBoss AS will include these "
+#~ "updates, and this step won't be necessary."
+#~ msgstr ""
+#~ "Da es sich bei Web Beans um ein neues Stück Software handelt, müssen Sie "
+#~ "JBoss AS aktualisieren, um die Web Beans RI auszuführen. Zukünftige "
+#~ "Versionen von JBoss AS werden diese Updates enthalten, und dieser Schritt "
+#~ "wird sich erübrigen."


Property changes on: doc/trunk/reference/de-DE/gettingstarted.po
___________________________________________________________________
Name: svn:mergeinfo
   + 

Modified: doc/trunk/reference/de-DE/producermethods.po
===================================================================
--- doc/trunk/reference/de-DE/producermethods.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/de-DE/producermethods.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: producermethods\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-02-23 08:08+1100\n"
 "Last-Translator: \n"
 "Language-Team:  <en at li.org>\n"
@@ -43,29 +43,83 @@
 msgid "According to the spec:"
 msgstr "Gemäß der Spezifikation:"
 
-#. Tag: chapter
-#: producermethods.xml:12
+#. Tag: para
+#: producermethods.xml:16
 #, no-c-format
 msgid ""
-"<blockquote> <para>A Web Beans producer method acts as a source of objects "
-"to be injected, where:</para> <itemizedlist> <listitem> <para>the objects to "
-"be injected are not required to be instances of Web Beans,</para> </"
-"listitem> <listitem> <para>the concrete type of the objects to be injected "
-"may vary at runtime or</para> </listitem> <listitem> <para>the objects "
-"require some custom initialization that is not performed by the Web Bean "
-"constructor</para> </listitem> </itemizedlist> </blockquote> <para>For "
-"example, producer methods let us:</para> <itemizedlist> <listitem> "
-"<para>expose a JPA entity as a Web Bean,</para> </listitem> <listitem> "
-"<para>expose any JDK class as a Web Bean,</para> </listitem> <listitem> "
-"<para>define multiple Web Beans, with different scopes or initialization, "
-"for the same implementation class, or</para> </listitem> <listitem> "
-"<para>vary the implementation of an API type at runtime.</para> </listitem> "
-"</itemizedlist> <para>In particular, producer methods let us use runtime "
-"polymorphism with Web Beans. As we've seen, deployment types are a powerful "
-"solution to the problem of deployment-time polymorphism. But once the system "
-"is deployed, the Web Bean implementation is fixed. A producer method has no "
-"such limitation:</para> <programlisting role=\"JAVA\"><![CDATA"
-"[@SessionScoped\n"
+"A Web Beans producer method acts as a source of objects to be injected, "
+"where:"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:20
+#, no-c-format
+msgid ""
+"the objects to be injected are not required to be instances of Web Beans,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:23
+#, no-c-format
+msgid "the concrete type of the objects to be injected may vary at runtime or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:26
+#, no-c-format
+msgid ""
+"the objects require some custom initialization that is not performed by the "
+"Web Bean constructor"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:33
+#, fuzzy, no-c-format
+msgid "For example, producer methods let us:"
+msgstr "Geltungsbereich einer Producer-Methode"
+
+#. Tag: para
+#: producermethods.xml:37
+#, no-c-format
+msgid "expose a JPA entity as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:40
+#, no-c-format
+msgid "expose any JDK class as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:43
+#, no-c-format
+msgid ""
+"define multiple Web Beans, with different scopes or initialization, for the "
+"same implementation class, or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:47
+#, no-c-format
+msgid "vary the implementation of an API type at runtime."
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:51
+#, no-c-format
+msgid ""
+"In particular, producer methods let us use runtime polymorphism with Web "
+"Beans. As we've seen, deployment types are a powerful solution to the "
+"problem of deployment-time polymorphism. But once the system is deployed, "
+"the Web Bean implementation is fixed. A producer method has no such "
+"limitation:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:56
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[@SessionScoped\n"
 "public class Preferences {\n"
 "    \n"
 "    private PaymentStrategyType paymentStrategy;\n"
@@ -82,60 +136,52 @@
 "        } \n"
 "    }\n"
 "    \n"
-"}]]></programlisting> <para>Consider an injection point:</para> "
-"<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
-"paymentStrat;]]></programlisting> <para>This injection point has the same "
-"type and binding annotations as the producer method, so it resolves to the "
-"producer method using the usual Web Beans injection rules. The producer "
-"method will be called by the Web Bean manager to obtain an instance to "
-"service this injection point.</para>."
+"}]]>"
 msgstr ""
-"<blockquote> <para>Eine Web Beans Producer-Methode fungiert als Quelle "
-"einzuspeisender Objekte wenn:</para> <itemizedlist> <listitem> <para>die "
-"einzuspeisenden Objekte keine Instanzen von Web Beans sein müssen,</para> </"
-"listitem> <listitem> <para>der konkrete Typ einzuspeisender Objekte zur "
-"Runtime variieren kann oder </para> </listitem> <listitem> <para>die Objekte "
-"eine bestimmte angepasste Initialisierung erfordern, die nicht vom Web Bean "
-"Konstruktor durchgeführt wird</para> </listitem> </itemizedlist> </"
-"blockquote> <para>Producer-Methoden lassen uns zum Beispiel:</para> "
-"<itemizedlist> <listitem> <para>eine JPA-Entity als ein Web Bean darlegen,</"
-"para> </listitem> <listitem> <para>eine beliebige JDK-Klasse als ein Web "
-"Bean darlegen,</para> </listitem> <listitem> <para>mehrere Web Beans mit "
-"unterschiedlichen Geltungsbereichen oder Initialisierung für diesselbe "
-"Implementierungsklasse definieren oder </para> </listitem> <listitem> "
-"<para>die Implementierung eines API-Typs zur Runtime variieren.</para> </"
-"listitem> </itemizedlist> <para>Insbesondere lassen uns Producer-Methoden "
-"Runtime-Polymorphie mit Web Beans verwenden. Wie wir bereits gesehen haben "
-"sind Deployment-Typen eine leistungsfähige Lösung zum Problem der "
-"Polymorphie zum Zeitpunkt des Deployment. Aber nachdem das System deployt "
-"ist, wird die Web Bean Implementierung behoben. Eine Producer-Methode "
-"besitzt keine solche Einschränkung:</para> <programlisting role=\"JAVA\"><!"
-"[CDATA[@SessionScoped\n"
-"public class Preferences {\n"
-"    \n"
-"    private PaymentStrategyType paymentStrategy;\n"
-"    \n"
+"<![CDATA[@Produces @Preferred @SessionScoped\n"
+"public PaymentStrategy getPaymentStrategy(CreditCardPaymentStrategy ccps,\n"
+"                                          ChequePaymentStrategy cps,\n"
+"                                          PayPalPaymentStrategy ppps) {\n"
+"    switch (paymentStrategy) {\n"
+"        case CREDIT_CARD: return ccps;\n"
+"        case CHEQUE: return cps;\n"
+"        case PAYPAL: return ppps;\n"
+"        default: return null;\n"
+"    } \n"
+"}]]>"
+
+#. Tag: para
+#: producermethods.xml:58
+#, no-c-format
+msgid "Consider an injection point:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:60
+#, fuzzy, no-c-format
+msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
+msgstr ""
+"<![CDATA[@Produces @Preferred @SessionScoped\n"
+"public PaymentStrategy getPaymentStrategy() {\n"
 "    ...\n"
-"    \n"
-"    @Produces @Preferred \n"
-"    public PaymentStrategy getPaymentStrategy() {\n"
-"        switch (paymentStrategy) {\n"
-"            case CREDIT_CARD: return new CreditCardPaymentStrategy();\n"
-"            case CHEQUE: return new ChequePaymentStrategy();\n"
-"            case PAYPAL: return new PayPalPaymentStrategy();\n"
-"            default: return null;\n"
-"        } \n"
-"    }\n"
-"    \n"
-"}]]></programlisting> <para>Überlegen Sie einen Einspeisungspunkt:</para> "
-"<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
-"paymentStrat;]]></programlisting> <para>Dieser Einspeisungspunkt besitzt "
-"denselben Typ und diesselben Binding-Annotationen wie die Producer-Methode, "
-"so dass er unter Verwendung der üblichen Web Beans Einspeisungsregeln zur "
-"Producer-Methode auflöst. Die Producer-Methode wird vom Web Bean Manager "
-"aufgerufen um eine Instanz zu erhalten, um diesen Einspeisungspunkt zu "
-"bedienen.</para>."
+"}]]>"
 
+#. Tag: para
+#: producermethods.xml:62
+#, no-c-format
+msgid ""
+"This injection point has the same type and binding annotations as the "
+"producer method, so it resolves to the producer method using the usual Web "
+"Beans injection rules. The producer method will be called by the Web Bean "
+"manager to obtain an instance to service this injection point."
+msgstr ""
+
+#. Tag: chapter
+#: producermethods.xml:65
+#, no-c-format
+msgid "<chapter>.</chapter>"
+msgstr ""
+
 #. Tag: title
 #: producermethods.xml:68
 #, no-c-format
@@ -368,13 +414,26 @@
 "gelöscht bis das <literal>Preferences</literal>-Objekt gelöscht wird, meist "
 "am Ende der Session."
 
-#, fuzzy
-#~ msgid "For example, producer methods let us:"
-#~ msgstr "Geltungsbereich einer Producer-Methode"
-
-#, fuzzy
 #~ msgid ""
-#~ "<![CDATA[@SessionScoped\n"
+#~ "<blockquote> <para>A Web Beans producer method acts as a source of "
+#~ "objects to be injected, where:</para> <itemizedlist> <listitem> <para>the "
+#~ "objects to be injected are not required to be instances of Web Beans,</"
+#~ "para> </listitem> <listitem> <para>the concrete type of the objects to be "
+#~ "injected may vary at runtime or</para> </listitem> <listitem> <para>the "
+#~ "objects require some custom initialization that is not performed by the "
+#~ "Web Bean constructor</para> </listitem> </itemizedlist> </blockquote> "
+#~ "<para>For example, producer methods let us:</para> <itemizedlist> "
+#~ "<listitem> <para>expose a JPA entity as a Web Bean,</para> </listitem> "
+#~ "<listitem> <para>expose any JDK class as a Web Bean,</para> </listitem> "
+#~ "<listitem> <para>define multiple Web Beans, with different scopes or "
+#~ "initialization, for the same implementation class, or</para> </listitem> "
+#~ "<listitem> <para>vary the implementation of an API type at runtime.</"
+#~ "para> </listitem> </itemizedlist> <para>In particular, producer methods "
+#~ "let us use runtime polymorphism with Web Beans. As we've seen, deployment "
+#~ "types are a powerful solution to the problem of deployment-time "
+#~ "polymorphism. But once the system is deployed, the Web Bean "
+#~ "implementation is fixed. A producer method has no such limitation:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@SessionScoped\n"
 #~ "public class Preferences {\n"
 #~ "    \n"
 #~ "    private PaymentStrategyType paymentStrategy;\n"
@@ -391,25 +450,56 @@
 #~ "        } \n"
 #~ "    }\n"
 #~ "    \n"
-#~ "}]]>"
+#~ "}]]></programlisting> <para>Consider an injection point:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
+#~ "paymentStrat;]]></programlisting> <para>This injection point has the same "
+#~ "type and binding annotations as the producer method, so it resolves to "
+#~ "the producer method using the usual Web Beans injection rules. The "
+#~ "producer method will be called by the Web Bean manager to obtain an "
+#~ "instance to service this injection point.</para>."
 #~ msgstr ""
-#~ "<![CDATA[@Produces @Preferred @SessionScoped\n"
-#~ "public PaymentStrategy getPaymentStrategy(CreditCardPaymentStrategy "
-#~ "ccps,\n"
-#~ "                                          ChequePaymentStrategy cps,\n"
-#~ "                                          PayPalPaymentStrategy ppps) {\n"
-#~ "    switch (paymentStrategy) {\n"
-#~ "        case CREDIT_CARD: return ccps;\n"
-#~ "        case CHEQUE: return cps;\n"
-#~ "        case PAYPAL: return ppps;\n"
-#~ "        default: return null;\n"
-#~ "    } \n"
-#~ "}]]>"
-
-#, fuzzy
-#~ msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
-#~ msgstr ""
-#~ "<![CDATA[@Produces @Preferred @SessionScoped\n"
-#~ "public PaymentStrategy getPaymentStrategy() {\n"
+#~ "<blockquote> <para>Eine Web Beans Producer-Methode fungiert als Quelle "
+#~ "einzuspeisender Objekte wenn:</para> <itemizedlist> <listitem> <para>die "
+#~ "einzuspeisenden Objekte keine Instanzen von Web Beans sein müssen,</para> "
+#~ "</listitem> <listitem> <para>der konkrete Typ einzuspeisender Objekte zur "
+#~ "Runtime variieren kann oder </para> </listitem> <listitem> <para>die "
+#~ "Objekte eine bestimmte angepasste Initialisierung erfordern, die nicht "
+#~ "vom Web Bean Konstruktor durchgeführt wird</para> </listitem> </"
+#~ "itemizedlist> </blockquote> <para>Producer-Methoden lassen uns zum "
+#~ "Beispiel:</para> <itemizedlist> <listitem> <para>eine JPA-Entity als ein "
+#~ "Web Bean darlegen,</para> </listitem> <listitem> <para>eine beliebige JDK-"
+#~ "Klasse als ein Web Bean darlegen,</para> </listitem> <listitem> "
+#~ "<para>mehrere Web Beans mit unterschiedlichen Geltungsbereichen oder "
+#~ "Initialisierung für diesselbe Implementierungsklasse definieren oder </"
+#~ "para> </listitem> <listitem> <para>die Implementierung eines API-Typs zur "
+#~ "Runtime variieren.</para> </listitem> </itemizedlist> <para>Insbesondere "
+#~ "lassen uns Producer-Methoden Runtime-Polymorphie mit Web Beans verwenden. "
+#~ "Wie wir bereits gesehen haben sind Deployment-Typen eine leistungsfähige "
+#~ "Lösung zum Problem der Polymorphie zum Zeitpunkt des Deployment. Aber "
+#~ "nachdem das System deployt ist, wird die Web Bean Implementierung "
+#~ "behoben. Eine Producer-Methode besitzt keine solche Einschränkung:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@SessionScoped\n"
+#~ "public class Preferences {\n"
+#~ "    \n"
+#~ "    private PaymentStrategyType paymentStrategy;\n"
+#~ "    \n"
 #~ "    ...\n"
-#~ "}]]>"
+#~ "    \n"
+#~ "    @Produces @Preferred \n"
+#~ "    public PaymentStrategy getPaymentStrategy() {\n"
+#~ "        switch (paymentStrategy) {\n"
+#~ "            case CREDIT_CARD: return new CreditCardPaymentStrategy();\n"
+#~ "            case CHEQUE: return new ChequePaymentStrategy();\n"
+#~ "            case PAYPAL: return new PayPalPaymentStrategy();\n"
+#~ "            default: return null;\n"
+#~ "        } \n"
+#~ "    }\n"
+#~ "    \n"
+#~ "}]]></programlisting> <para>Überlegen Sie einen Einspeisungspunkt:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
+#~ "paymentStrat;]]></programlisting> <para>Dieser Einspeisungspunkt besitzt "
+#~ "denselben Typ und diesselben Binding-Annotationen wie die Producer-"
+#~ "Methode, so dass er unter Verwendung der üblichen Web Beans "
+#~ "Einspeisungsregeln zur Producer-Methode auflöst. Die Producer-Methode "
+#~ "wird vom Web Bean Manager aufgerufen um eine Instanz zu erhalten, um "
+#~ "diesen Einspeisungspunkt zu bedienen.</para>."

Modified: doc/trunk/reference/de-DE/ri-spi.po
===================================================================
--- doc/trunk/reference/de-DE/ri-spi.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/de-DE/ri-spi.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: ri-spi\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-05 14:40+1100\n"
 "Last-Translator: \n"
 "Language-Team:  <en at li.org>\n"
@@ -17,19 +17,19 @@
 
 #. Tag: title
 #: ri-spi.xml:4
-#, no-c-format
-msgid "Integrating the Web Beans RI into other environments"
+#, fuzzy, no-c-format
+msgid "Integrating Web Beans into other environments"
 msgstr "Integration der Web Beans RI in andere Umgebungen"
 
 #. Tag: para
 #: ri-spi.xml:6
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
-"Currently the Web Beans RI only runs in JBoss AS 5; integrating the RI into "
-"other EE environments (for example another application server like "
-"Glassfish), into a servlet container (like Tomcat), or with an Embedded "
-"EJB3.1 implementation is fairly easy. In this Appendix we will briefly "
-"discuss the steps needed."
+"Currently Web Beans only runs in JBoss AS 5; integrating the RI into other "
+"EE environments (for example another application server like Glassfish), "
+"into a servlet container (like Tomcat), or with an Embedded EJB3.1 "
+"implementation is fairly easy. In this Appendix we will briefly discuss the "
+"steps needed."
 msgstr ""
 "Derzeit läuft die Web Beans RI nur in JBoss AS 5; die Implementierung der RI "
 "in andere EE-Umgebungen (zum Beispiel einen anderen Applikationsserver wie "
@@ -37,34 +37,19 @@
 "Implementierung ist recht einfach. In diesem Anhang gehen wir kurz auf die "
 "notwendigen Schritte ein."
 
-#. Tag: para
+#. Tag: title
 #: ri-spi.xml:15
-#, no-c-format
-msgid ""
-"It should be possible to run Web Beans in an SE environment, but you'll to "
-"do more work, adding your own contexts and lifecycle. The Web Beans RI "
-"currently doesn't expose lifecycle extension points, so you would have to "
-"code directly against Web Beans RI classes."
-msgstr ""
-"Es sollte möglich sein, Web Beans in einer SE Umgebung auszuführen, aber Sie "
-"werden mehr Arbeit durchführen müssen indem Sie Ihre eigenen Kontexte und "
-"Lebenszyklus hinzufügen. Die Web Beans RI legt derzeit keine Lebenszyklus-"
-"Erweiterungspunkte offen, weswegen Sie direkt gegen Web Beans RI-Klassen "
-"kodieren müssten."
-
-#. Tag: title
-#: ri-spi.xml:24
-#, no-c-format
-msgid "The Web Beans RI SPI"
+#, fuzzy, no-c-format
+msgid "The Web Beans SPI"
 msgstr "Das Web Beans RI SPI"
 
 #. Tag: para
-#: ri-spi.xml:26
+#: ri-spi.xml:17
 #, fuzzy, no-c-format
 msgid ""
-"The Web Beans SPI is located in <literal>webbeans-spi</literal> module, and "
-"packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, if "
-"you need to override the default behavior, others are required."
+"The Web Beans SPI is located in the <literal>webbeans-spi</literal> module, "
+"and packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, "
+"if you need to override the default behavior, others are required."
 msgstr ""
 "Das Web Beans SPI befindet sich im <literal>webbeans-ri-spi</literal>-Modul "
 "und ist als <literal>webbeans-ri-spi.jar</literal> verpackt. Einige SPIs "
@@ -72,42 +57,41 @@
 "möchten, sind andere erforderlich."
 
 #. Tag: para
-#: ri-spi.xml:33
+#: ri-spi.xml:24
 #, no-c-format
 msgid ""
 "All interfaces in the SPI support the decorator pattern and provide a "
-"<literal>Forwarding</literal> class."
+"<literal>Forwarding</literal> class located in the <literal>helpers</"
+"literal> sub package. Additional, commonly used, utility classes, and "
+"standard implementations are also located in the <literal>helpers</literal> "
+"sub package."
 msgstr ""
-"Alle Interfaces im SPI unterstützen das Dekorator-Muster und liefern eine "
-"<literal>Forwarding</literal>-Klasse."
 
 #. Tag: title
-#: ri-spi.xml:39
+#: ri-spi.xml:33
 #, no-c-format
 msgid "Web Bean Discovery"
 msgstr "Web Bean Discovery"
 
 #. Tag: programlisting
-#: ri-spi.xml:41
-#, no-c-format
+#: ri-spi.xml:35
+#, fuzzy, no-c-format
 msgid ""
-"<![CDATA[public interface WebBeanDiscovery {\n"
-"   /**\n"
-"    * Gets list of all classes in classpath archives with web-beans.xml "
-"files\n"
+"<![CDATA[/**\n"
+"    * Gets list of all classes in classpath archives with META-INF/beans.xml "
+"(or\n"
+"    * for WARs WEB-INF/beans.xml) files\n"
 "    * \n"
 "    * @return An iterable over the classes \n"
 "    */\n"
 "   public Iterable<Class<?>> discoverWebBeanClasses();\n"
 "   \n"
 "   /**\n"
-"    * Gets a list of all web-beans.xml files in the app classpath\n"
+"    * Gets a list of all deployment descriptors in the app classpath\n"
 "    * \n"
-"    * @return An iterable over the web-beans.xml files \n"
+"    * @return An iterable over the beans.xml files \n"
 "    */\n"
-"   public Iterable<URL> discoverWebBeansXml();\n"
-"   \n"
-"}]]>"
+"   public Iterable<URL> discoverWebBeansXml();]]>"
 msgstr ""
 "<![CDATA[public interface WebBeanDiscovery {\n"
 "   /**\n"
@@ -128,12 +112,12 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:43
-#, no-c-format
+#: ri-spi.xml:37
+#, fuzzy, no-c-format
 msgid ""
-"The discovery of Web Bean classes and <literal>web-bean.xml</literal> files "
-"is self-explanatory (the algorithm is described in Section 11.1 of the JSR-"
-"299 specification, and isn't repeated here)."
+"The discovery of Web Bean classes and <literal>beans.xml</literal> files is "
+"self-explanatory (the algorithm is described in Section 11.1 of the JSR-299 "
+"specification, and isn't repeated here)."
 msgstr ""
 "Die Discovery von Web Bean Klassen und <literal>web-bean.xml</literal> "
 "Dateien versteht sich von selbst (der Algorithmus wird in Abschnitt 11.1 der "
@@ -141,17 +125,25 @@
 "wird)."
 
 #. Tag: title
-#: ri-spi.xml:52
+#: ri-spi.xml:46
 #, no-c-format
 msgid "EJB services"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:54
+#: ri-spi.xml:49
 #, no-c-format
 msgid ""
-"The Web Beans RI also delegates EJB3 bean discovery to the container so that "
-"it doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
+"Web Beans will run without an EJB container; in this case you don't need to "
+"implement the EJB SPI."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:55
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans also delegates EJB3 bean discovery to the container so that it "
+"doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
 "literal>. For each EJB in the application an EJBDescriptor should be "
 "discovered:"
 msgstr ""
@@ -161,39 +153,13 @@
 "EJBDescriptor aufgefunden werden:"
 
 #. Tag: programlisting
-#: ri-spi.xml:61
+#: ri-spi.xml:62
 #, fuzzy, no-c-format
 msgid ""
-"<![CDATA[public interface EjbServices\n"
+"<![CDATA[public interface EjbDescriptor<T>\n"
 "{\n"
 "   \n"
 "   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
-msgstr ""
-"<![CDATA[public interface EjbDiscovery\n"
-"{\n"
-"   public static final String PROPERTY_NAME = EjbDiscovery.class.getName();\n"
-"   \n"
-"   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();\n"
-"   \n"
-"}]]>"
-
-#. Tag: programlisting
-#: ri-spi.xml:63
-#, no-c-format
-msgid ""
-"<![CDATA[public interface EjbDescriptor<T> {\n"
-"   \n"
-"   /**\n"
 "    * Gets the EJB type\n"
 "    * \n"
 "    * @return The EJB Bean class\n"
@@ -256,10 +222,7 @@
 "    * \n"
 "    * @return The name\n"
 "    */\n"
-"   public String getEjbName();\n"
-"   \n"
-"   \n"
-"}]]>"
+"   public String getEjbName();]]>"
 msgstr ""
 "<![CDATA[public interface EjbDescriptor<T> {\n"
 "   \n"
@@ -332,7 +295,7 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:65
+#: ri-spi.xml:64
 #, no-c-format
 msgid ""
 "The <literal>EjbDescriptor</literal> is fairly self-explanatory, and should "
@@ -350,15 +313,19 @@
 "Instanz des EJB verwendeten jndi-Namens enthaltend)."
 
 #. Tag: para
-#: ri-spi.xml:74
+#: ri-spi.xml:73
 #, fuzzy, no-c-format
 msgid ""
-"The resolution of <literal>@EJB</literal> and <literal>@Resource</literal> "
-"is delegated to the container. You must provide an implementation of "
-"<literal>org.jboss.webbeans.ejb.spi.EjbServices</literal> which provides "
-"these operations. Web Beans passes in the <literal>javax.inject.manager."
-"InjectionPoint</literal> the resolution is for, as well as the "
-"<literal>NamingContext</literal> in use for each resolution request."
+"The resolution of <literal>@EJB</literal> (for injection into simple beans), "
+"the resolution of local EJBs (for backing session beans) and remote EJBs "
+"(for injection as a Java EE resource) is delegated to the container. You "
+"must provide an implementation of <literal>org.jboss.webbeans.ejb.spi."
+"EjbServices</literal> which provides these operations. For resolving the "
+"<literal>@EJB</literal> injection point, Web Beans will provide the "
+"<literal>InjectionPoint</literal>; for resolving local EJBs, the "
+"<literal>EjbDescriptor</literal> will be provided, and for remote EJBs the "
+"<literal>jndiName</literal>, <literal>mappedName</literal>, or "
+"<literal>ejbLink</literal> will be provided."
 msgstr ""
 "Die Auflösung von <literal>@EJB</literal>, <literal>@PersistenceContext</"
 "literal> und <literal>@Resource</literal> wird an den Container delegiert. "
@@ -368,6 +335,17 @@
 "weiter für den die Auflösung ist sowie den für jede Auflösungsanfrage "
 "verwendeten <literal>NamingContext</literal>."
 
+#. Tag: para
+#: ri-spi.xml:87
+#, no-c-format
+msgid ""
+"When resolving local EJBs (used to back session beans) a wrapper "
+"(<literal>SessionObjectReference</literal>) around the EJB reference is "
+"returned. This wrapper allows Web Beans to request a reference that "
+"implements the given business interface, and, in the case of SFSBs, request "
+"the removal of the EJB from the container."
+msgstr ""
+
 #. Tag: title
 #: ri-spi.xml:98
 #, no-c-format
@@ -378,35 +356,59 @@
 #: ri-spi.xml:100
 #, no-c-format
 msgid ""
-"Just as resolution of <literal>@EJB</literal> is delegated to the container, "
-"so is resolution of <literal>@PersistenceContext</literal>."
+"Just as EJB resolution is delegated to the container, resolution of "
+"<literal>@PersistenceContext</literal> for injection into simple beans (with "
+"the <literal>InjectionPoint</literal> provided), and resolution of "
+"persistence contexts and persistence units (with the <literal>unitName</"
+"literal> provided) for injection as a Java EE resource is delegated to the "
+"container."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:106
+#: ri-spi.xml:109
 #, no-c-format
 msgid ""
-"OPEN ISSUE: Web Beans also requires the container to provide a list of "
-"entities in the deployment, so that they aren't discovered as simple beans."
+"To allow JPA integration, the <literal>JpaServices</literal> interface "
+"should be implemented."
 msgstr ""
 
-#. Tag: title
+#. Tag: para
 #: ri-spi.xml:114
 #, no-c-format
+msgid ""
+"Web Beans also needs to know what entities are in a deployment (so that they "
+"aren't managed by Web Beans). An implementation that detects entities "
+"through <literal>@Entity</literal> and <literal>orm.xml</literal> is "
+"provided by default. If you want to provide support for a entities defined "
+"by a JPA provider (such as Hibernate's <literal>.hbm.xml</literal> you can "
+"wrap or replace the default implementation."
+msgstr ""
+
+#. Tag: programlisting
+#: ri-spi.xml:124
+#, no-c-format
+msgid ""
+"<![CDATA[EntityDiscovery delegate = bootstrap.getServices().get"
+"(EntityDiscovery.class);]]>"
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:129
+#, no-c-format
 msgid "Transaction Services"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:116
+#: ri-spi.xml:131
 #, no-c-format
 msgid ""
-"The Web Beans RI must delegate JTA activities to the container. The SPI "
-"provides a couple hooks to easily achieve this with the "
-"<literal>TransactionServices</literal> interface."
+"Web Beans must delegate JTA activities to the container. The SPI provides a "
+"couple hooks to easily achieve this with the <literal>TransactionServices</"
+"literal> interface."
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:122
+#: ri-spi.xml:137
 #, no-c-format
 msgid ""
 "<![CDATA[public interface TransactionServices\n"
@@ -442,7 +444,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:124
+#: ri-spi.xml:139
 #, no-c-format
 msgid ""
 "The enumeration <literal>Status</literal> is a convenience for implementors "
@@ -452,7 +454,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:131
+#: ri-spi.xml:147
 #, no-c-format
 msgid ""
 "Any <literal>javax.transaction.Synchronization</literal> implementation may "
@@ -462,7 +464,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:138
+#: ri-spi.xml:155
 #, no-c-format
 msgid ""
 "To make it easier to determine whether or not a transaction is currently "
@@ -472,20 +474,109 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:147
+#: ri-spi.xml:165
 #, no-c-format
+msgid "JMS services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:167
+#, no-c-format
+msgid ""
+"A number of JMS operations are not container specific, and so should be "
+"provided via the SPI <literal>JmsServices</literal>. JMS does not specify "
+"how to obtain a <literal>ConnectionFactory</literal> so the SPI provides a "
+"method which should be used to look up a factory. Web Beans also delegates "
+"<literal>Destination</literal> lookup to the container via the SPI."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:178
+#, fuzzy, no-c-format
+msgid "Resource Services"
+msgstr "Laden von Ressourcen"
+
+#. Tag: para
+#: ri-spi.xml:180
+#, fuzzy, no-c-format
+msgid ""
+"The resolution of <literal>@Resource</literal> (for injection into simple "
+"beans) and the resolution of resources (for injection as a Java EE resource) "
+"is delegated to the container. You must provide an implementation of "
+"<literal>ResourceServices</literal> which provides these operations. For "
+"resolving the <literal>@Resource</literal> injection, Web Beans will provide "
+"the <literal>InjectionPoint</literal>; and for Java EE resources, the "
+"<literal>jndiName</literal> or <literal>mappedName</literal> will be "
+"provided."
+msgstr ""
+"Die Auflösung von <literal>@EJB</literal>, <literal>@PersistenceContext</"
+"literal> und <literal>@Resource</literal> wird an den Container delegiert. "
+"Sie müssen eine Implemntierung von <literal>org.jboss.webbeans.ejb.spi."
+"EjbResolver</literal> bereitstellen, die diese Operationen liefert. Web "
+"Beans gibt an den <literal>javax.inject.manager.InjectionPoint</literal> "
+"weiter für den die Auflösung ist sowie den für jede Auflösungsanfrage "
+"verwendeten <literal>NamingContext</literal>."
+
+#. Tag: title
+#: ri-spi.xml:194
+#, no-c-format
+msgid "Web Services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:196
+#, fuzzy, no-c-format
+msgid ""
+"The resolution of web service references (for injection as a Java EE "
+"resource) is delegated to the container. You must provide an implementation "
+"of <literal>WebServices</literal> whichprovides this operation. For "
+"resolving the Java EE resource, the <literal>jndiName</literal> or "
+"<literal>mappedName</literal> will be provided."
+msgstr ""
+"Die Auflösung von <literal>@EJB</literal>, <literal>@PersistenceContext</"
+"literal> und <literal>@Resource</literal> wird an den Container delegiert. "
+"Sie müssen eine Implemntierung von <literal>org.jboss.webbeans.ejb.spi."
+"EjbResolver</literal> bereitstellen, die diese Operationen liefert. Web "
+"Beans gibt an den <literal>javax.inject.manager.InjectionPoint</literal> "
+"weiter für den die Auflösung ist sowie den für jede Auflösungsanfrage "
+"verwendeten <literal>NamingContext</literal>."
+
+#. Tag: title
+#: ri-spi.xml:207
+#, no-c-format
+msgid "The bean store"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:209
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans uses a map like structure to store bean instances - <literal>org."
+"jboss.webbeans.context.api.BeanStore</literal>. You may find <literal>org."
+"jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore</literal> "
+"useful."
+msgstr ""
+"Web Beans erwartet, dass der Applikations-Server oder anderer Container den "
+"Speicher für den Kontext jeder Applikation bereitstellt. Der <literal>org."
+"jboss.webbeans.context.api.BeanStore</literal> sollte implementiert sein, um "
+"einen durch die Applikation begrenzten Speicher bereitzustellen. Vielleicht "
+"finden Sie in diesem Zusammenhang <literal>org.jboss.webbeans.context.api."
+"helpers.ConcurrentHashMapBeanStore</literal> hilfreich."
+
+#. Tag: title
+#: ri-spi.xml:219
+#, no-c-format
 msgid "The application context"
 msgstr "Der Applikationskontext"
 
 #. Tag: para
-#: ri-spi.xml:149
-#, no-c-format
+#: ri-spi.xml:221
+#, fuzzy, no-c-format
 msgid ""
 "Web Beans expects the Application Server or other container to provide the "
 "storage for each application's context. The <literal>org.jboss.webbeans."
 "context.api.BeanStore</literal> should be implemented to provide an "
-"application scoped storage. You may find <literal>org.jboss.webbeans.context."
-"api.helpers.ConcurrentHashMapBeanStore</literal> useful."
+"application scoped storage."
 msgstr ""
 "Web Beans erwartet, dass der Applikations-Server oder anderer Container den "
 "Speicher für den Kontext jeder Applikation bereitstellt. Der <literal>org."
@@ -495,13 +586,13 @@
 "helpers.ConcurrentHashMapBeanStore</literal> hilfreich."
 
 #. Tag: title
-#: ri-spi.xml:162
+#: ri-spi.xml:231
 #, no-c-format
 msgid "Bootstrap and shutdown"
 msgstr "Bootstrap und Shutdown"
 
 #. Tag: para
-#: ri-spi.xml:163
+#: ri-spi.xml:232
 #, no-c-format
 msgid ""
 "The <literal>org.jboss.webbeans.bootstrap.api.Bootstrap</literal> interface "
@@ -518,7 +609,7 @@
 "anfragen."
 
 #. Tag: para
-#: ri-spi.xml:172
+#: ri-spi.xml:241
 #, fuzzy, no-c-format
 msgid ""
 "The bootstrap is split into phases, bootstrap initialization and boot and "
@@ -534,18 +625,30 @@
 "unter Verwendung von XML definierte Beans hinzu; und validiert alle Beans."
 
 #. Tag: para
-#: ri-spi.xml:180
+#: ri-spi.xml:249
 #, no-c-format
 msgid ""
-"The bootstrap supports multiple environments. Different environments require "
-"different services to be present (for example servlet doesn't require "
-"transaction, EJB or JPA services). By default an EE environment is assumed, "
-"but you can adjust the environment by calling <literal>bootstrap."
-"setEnvironment()</literal>."
+"The bootstrap supports multiple environments. An environment is defined by "
+"an implementation of the <literal>Environment</literal> interface. A number "
+"of standard envrionments are built in as the enumeration "
+"<literal>Environments</literal>. Different environments require different "
+"services to be present (for example servlet doesn't require transaction, EJB "
+"or JPA services). By default an EE environment is assumed, but you can "
+"adjust the environment by calling <literal>bootstrap.setEnvironment()</"
+"literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:188
+#: ri-spi.xml:260
+#, no-c-format
+msgid ""
+"Web Beans uses a generic-typed service registry to allow services to be "
+"registered. All services implement the <literal>Service</literal> interface. "
+"The service registry allows services to be added and retrieved."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:267
 #, fuzzy, no-c-format
 msgid ""
 "To initialize the bootstrap you call <literal>Bootstrap.initialize()</"
@@ -562,7 +665,7 @@
 "Sie diese setzen, ehe Sie <literal>initialize()</literal> aufrufen."
 
 #. Tag: para
-#: ri-spi.xml:197
+#: ri-spi.xml:276
 #, no-c-format
 msgid ""
 "Having called <literal>initialize()</literal>, the <literal>Manager</"
@@ -574,105 +677,60 @@
 "literal>."
 
 #. Tag: para
-#: ri-spi.xml:203
+#: ri-spi.xml:282
 #, no-c-format
 msgid "To boot the container you call <literal>Bootstrap.boot()</literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:207
-#, no-c-format
+#: ri-spi.xml:286
+#, fuzzy, no-c-format
 msgid ""
-"To shutdown the container you call <literal>Bootstrap.shutdown()</literal>. "
-"This allows the container to perform any cleanup operations needed."
+"To shutdown the container you call <literal>Bootstrap.shutdown()</literal> "
+"or <literal>webBeansManager.shutdown()</literal>. This allows the container "
+"to perform any cleanup operations needed."
 msgstr ""
 "Um den Container herunterzufahren, rufen Sie you call <literal>Bootstrap."
 "shutdown()</literal> auf. Dies gestattet es dem Container notwendige "
 "Bereinigungsvorgänge durchzuführen."
 
 #. Tag: title
-#: ri-spi.xml:216
+#: ri-spi.xml:296
 #, no-c-format
 msgid "JNDI"
 msgstr "JNDI"
 
 #. Tag: para
-#: ri-spi.xml:218
+#: ri-spi.xml:298
 #, no-c-format
 msgid ""
-"The Web Beans RI implements JNDI binding and lookup according to standards, "
-"however you may want to alter the binding and lookup (for example in an "
-"environment where JNDI isn't available). To do this, implement <literal>org."
-"jboss.webbeans.resources.spi.NamingContext</literal>:"
+"Web Beans delegates all JNDI operations to the container through the SPI."
 msgstr ""
-"Die Web Beans RI implementiert JNDI-Binding und Lookup gemäß Standards, "
-"jedoch möchten Sie vielleicht Binding und Lookup ändern (etwa in einer "
-"Umgebung, in der JNDI nicht verfügbar ist). Um dies zu tun, implementieren "
-"Sie <literal>org.jboss.webbeans.resources.spi.NamingContext</literal>:"
 
-#. Tag: programlisting
-#: ri-spi.xml:226
+#. Tag: para
+#: ri-spi.xml:304
 #, no-c-format
 msgid ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
+"A number of the SPI interface require JNDI lookup, and the class "
+"<literal>AbstractResourceServices</literal> provides JNDI/Java EE spec "
+"compliant lookup methods."
 msgstr ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
 
 #. Tag: title
-#: ri-spi.xml:231
+#: ri-spi.xml:315
 #, no-c-format
 msgid "Resource loading"
 msgstr "Laden von Ressourcen"
 
 #. Tag: para
-#: ri-spi.xml:233
-#, no-c-format
+#: ri-spi.xml:317
+#, fuzzy, no-c-format
 msgid ""
-"The Web Beans RI needs to load classes and resources from the classpath at "
-"various times. By default, they are loaded from the same classloader that "
-"was used to load the RI, however this may not be correct for some "
-"environments. If this is case, you can implement <literal>org.jboss.webbeans."
-"spi.ResourceLoader</literal>:"
+"Web Beans needs to load classes and resources from the classpath at various "
+"times. By default, they are loaded from the Thread Context ClassLoader if "
+"available, if not the same classloader that was used to load Web Beans, "
+"however this may not be correct for some environments. If this is case, you "
+"can implement <literal>org.jboss.webbeans.spi.ResourceLoader</literal>:"
 msgstr ""
 "Die Web Beans RI muss Klassen und Ressourcen zu verschiedenen Zeiten aus dem "
 "Klasspfad laden. Standardmäßig werden diese aus demselben Klasslader "
@@ -682,7 +740,7 @@
 "implementieren:"
 
 #. Tag: programlisting
-#: ri-spi.xml:241
+#: ri-spi.xml:326
 #, no-c-format
 msgid ""
 "<![CDATA[\n"
@@ -746,13 +804,13 @@
 "         ]]>"
 
 #. Tag: title
-#: ri-spi.xml:246
+#: ri-spi.xml:331
 #, fuzzy, no-c-format
 msgid "Servlet injection"
 msgstr "Servlet-Listener"
 
 #. Tag: para
-#: ri-spi.xml:248
+#: ri-spi.xml:333
 #, no-c-format
 msgid ""
 "Java EE / Servlet does not provide any hooks which can be used to provide "
@@ -761,7 +819,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:254
+#: ri-spi.xml:339
 #, no-c-format
 msgid ""
 "To be compliant with JSR-299, the container should request servlet injection "
@@ -770,7 +828,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:260
+#: ri-spi.xml:345
 #, fuzzy, no-c-format
 msgid ""
 "To perform injection on a servlet call <literal>WebBeansManager.injectServlet"
@@ -782,13 +840,13 @@
 "literal>."
 
 #. Tag: title
-#: ri-spi.xml:271
+#: ri-spi.xml:356
 #, no-c-format
 msgid "The contract with the container"
 msgstr "Der Vertrag mit dem Container"
 
 #. Tag: para
-#: ri-spi.xml:273
+#: ri-spi.xml:358
 #, no-c-format
 msgid ""
 "There are a number of requirements that the Web Beans RI places on the "
@@ -799,13 +857,13 @@
 "von Implementierung von APIs fallen."
 
 #. Tag: term
-#: ri-spi.xml:281
+#: ri-spi.xml:366
 #, no-c-format
 msgid "Classloader isolation"
 msgstr "Klassenlader-Isolierung"
 
 #. Tag: para
-#: ri-spi.xml:285
+#: ri-spi.xml:370
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans RI into an environment that supports "
@@ -819,13 +877,13 @@
 "Anwendung aktivieren."
 
 #. Tag: term
-#: ri-spi.xml:294
-#, fuzzy, no-c-format
-msgid "Servlet listener and filters"
-msgstr "Servlet-Listener"
+#: ri-spi.xml:379
+#, no-c-format
+msgid "Servlet"
+msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:298
+#: ri-spi.xml:383
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a Servlet environment you must "
@@ -839,11 +897,33 @@
 "Benutzerkonfiguration. Dies muss für jede Servlet benutzende Web Beans "
 "Applikation erfolgen."
 
+#. Tag: term
+#: ri-spi.xml:394
+#, no-c-format
+msgid "<term>JSF</term>"
+msgstr ""
+
 #. Tag: para
-#: ri-spi.xml:307
+#: ri-spi.xml:399
 #, fuzzy, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a JSF environment you must "
+"register <literal>org.jboss.webbeans.jsf.WebBeansPhaseListener</literal> as "
+"a phase listener, and <literal>org.jboss.webbeans.el.WebBeansELREsolver</"
+"literal> as an EL resolver, either automatically, or through user "
+"configuration, for each Web Beans application which uses JSF."
+msgstr ""
+"Falls Sie Web Beans in eine Servlet Umgebung integrieren, müssen Sie "
+"<literal>org.jboss.webbeans.servlet.WebBeansListener</literal> als einen "
+"Servlet-Listener registrieren, entweder automatisch oder aber durch "
+"Benutzerkonfiguration. Dies muss für jede Servlet benutzende Web Beans "
+"Applikation erfolgen."
+
+#. Tag: para
+#: ri-spi.xml:410
+#, fuzzy, no-c-format
+msgid ""
+"If you are integrating the Web Beans into a JSF environment you must "
 "register <literal>org.jboss.webbeans.servlet.ConversationPropagationFilter</"
 "literal> as a Servlet listener, either automatically, or through user "
 "configuration, for each Web Beans application which uses JSF. This filter "
@@ -855,14 +935,20 @@
 "Benutzerkonfiguration. Dies muss für jede Servlet benutzende Web Beans "
 "Applikation erfolgen."
 
+#. Tag: para
+#: ri-spi.xml:421
+#, no-c-format
+msgid "Web Beans only supports JSF 1.2 and above."
+msgstr ""
+
 #. Tag: term
-#: ri-spi.xml:319
+#: ri-spi.xml:428
 #, no-c-format
 msgid "Session Bean Interceptor"
 msgstr "Session Bean Interzeptor"
 
 #. Tag: para
-#: ri-spi.xml:323
+#: ri-spi.xml:432
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an EJB environment you must "
@@ -878,7 +964,7 @@
 "Enterprise Beans benutzende Web Beans Applikation erfolgen."
 
 #. Tag: para
-#: ri-spi.xml:333
+#: ri-spi.xml:442
 #, no-c-format
 msgid ""
 "You must register the <literal>SessionBeanInterceptor</literal> as the inner "
@@ -886,13 +972,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:341
+#: ri-spi.xml:450
 #, fuzzy, no-c-format
 msgid "The <literal>webbeans-core.jar</literal>"
 msgstr "Die <literal>webbeans-ri.jar</literal>"
 
 #. Tag: para
-#: ri-spi.xml:345
+#: ri-spi.xml:454
 #, fuzzy, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an environment that supports "
@@ -905,6 +991,130 @@
 "literal> in den isolierten Klassenlader der Anwendungen einfügen. Das Laden "
 "kann nicht aus einem geteilten Klassenlader erfolgen."
 
+#. Tag: term
+#: ri-spi.xml:464
+#, no-c-format
+msgid "Binding the manager in JNDI"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:468
+#, no-c-format
+msgid ""
+"You should bind a <literal>Reference</literal> to the Manager "
+"<literal>ObjectFactory</literal> into JNDI at <literal>java:app/Manager</"
+"literal>. The type should be <literal>javax.inject.manager.Manager</literal> "
+"and the factory class is <literal>org.jboss.webbeans.resources."
+"ManagerObjectFactory</literal>"
+msgstr ""
+
+#~ msgid ""
+#~ "It should be possible to run Web Beans in an SE environment, but you'll "
+#~ "to do more work, adding your own contexts and lifecycle. The Web Beans RI "
+#~ "currently doesn't expose lifecycle extension points, so you would have to "
+#~ "code directly against Web Beans RI classes."
+#~ msgstr ""
+#~ "Es sollte möglich sein, Web Beans in einer SE Umgebung auszuführen, aber "
+#~ "Sie werden mehr Arbeit durchführen müssen indem Sie Ihre eigenen Kontexte "
+#~ "und Lebenszyklus hinzufügen. Die Web Beans RI legt derzeit keine "
+#~ "Lebenszyklus-Erweiterungspunkte offen, weswegen Sie direkt gegen Web "
+#~ "Beans RI-Klassen kodieren müssten."
+
+#~ msgid ""
+#~ "All interfaces in the SPI support the decorator pattern and provide a "
+#~ "<literal>Forwarding</literal> class."
+#~ msgstr ""
+#~ "Alle Interfaces im SPI unterstützen das Dekorator-Muster und liefern eine "
+#~ "<literal>Forwarding</literal>-Klasse."
+
+#, fuzzy
+#~ msgid ""
+#~ "<![CDATA[public interface EjbServices\n"
+#~ "{\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Gets a descriptor for each EJB in the application\n"
+#~ "    * \n"
+#~ "    * @return The bean class to descriptor map \n"
+#~ "    */\n"
+#~ "   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
+#~ msgstr ""
+#~ "<![CDATA[public interface EjbDiscovery\n"
+#~ "{\n"
+#~ "   public static final String PROPERTY_NAME = EjbDiscovery.class.getName"
+#~ "();\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Gets a descriptor for each EJB in the application\n"
+#~ "    * \n"
+#~ "    * @return The bean class to descriptor map \n"
+#~ "    */\n"
+#~ "   public Iterable<EjbDescriptor<?>> discoverEjbs();\n"
+#~ "   \n"
+#~ "}]]>"
+
+#~ msgid ""
+#~ "The Web Beans RI implements JNDI binding and lookup according to "
+#~ "standards, however you may want to alter the binding and lookup (for "
+#~ "example in an environment where JNDI isn't available). To do this, "
+#~ "implement <literal>org.jboss.webbeans.resources.spi.NamingContext</"
+#~ "literal>:"
+#~ msgstr ""
+#~ "Die Web Beans RI implementiert JNDI-Binding und Lookup gemäß Standards, "
+#~ "jedoch möchten Sie vielleicht Binding und Lookup ändern (etwa in einer "
+#~ "Umgebung, in der JNDI nicht verfügbar ist). Um dies zu tun, "
+#~ "implementieren Sie <literal>org.jboss.webbeans.resources.spi."
+#~ "NamingContext</literal>:"
+
+#~ msgid ""
+#~ "<![CDATA[public interface NamingContext extends Serializable {\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Typed JNDI lookup\n"
+#~ "    * \n"
+#~ "    * @param <T> The type\n"
+#~ "    * @param name The JNDI name\n"
+#~ "    * @param expectedType The expected type\n"
+#~ "    * @return The object\n"
+#~ "    */\n"
+#~ "   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
+#~ "\n"
+#~ "   /**\n"
+#~ "    * Binds an item to JNDI\n"
+#~ "    * \n"
+#~ "    * @param name The key to bind under\n"
+#~ "    * @param value The item to bind\n"
+#~ "    */\n"
+#~ "   public void bind(String name, Object value);\n"
+#~ "   \n"
+#~ "}]]>"
+#~ msgstr ""
+#~ "<![CDATA[public interface NamingContext extends Serializable {\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Typed JNDI lookup\n"
+#~ "    * \n"
+#~ "    * @param <T> The type\n"
+#~ "    * @param name The JNDI name\n"
+#~ "    * @param expectedType The expected type\n"
+#~ "    * @return The object\n"
+#~ "    */\n"
+#~ "   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
+#~ "\n"
+#~ "   /**\n"
+#~ "    * Binds an item to JNDI\n"
+#~ "    * \n"
+#~ "    * @param name The key to bind under\n"
+#~ "    * @param value The item to bind\n"
+#~ "    */\n"
+#~ "   public void bind(String name, Object value);\n"
+#~ "   \n"
+#~ "}]]>"
+
+#, fuzzy
+#~ msgid "Servlet listener and filters"
+#~ msgstr "Servlet-Listener"
+
 #~ msgid "EJB Discovery"
 #~ msgstr "EJB Discovery"
 

Deleted: doc/trunk/reference/de-DE/ri.po
===================================================================
--- doc/trunk/reference/de-DE/ri.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/de-DE/ri.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -1,1640 +0,0 @@
-# translation of ri.po to
-# Language de-DE translations for Introduction_to_Web_Beans package.
-# Automatically generated, 2009.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: ri\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
-"PO-Revision-Date: 2009-02-27 15:36+1100\n"
-"Last-Translator: \n"
-"Language-Team:  <en at li.org>\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
-#: ri.xml:4
-#, fuzzy, no-c-format
-msgid "Web Beans, the Reference Implementation of JSR-299"
-msgstr "Die Web Beans Referenzimplementierung"
-
-#. Tag: para
-#: ri.xml:6
-#, fuzzy, no-c-format
-msgid ""
-"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
-"WebBeans\">the Seam project</ulink>. You can download the latest developer "
-"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
-"\">the downloads page</ulink>."
-msgstr ""
-"Die Web Beans Referenzimplementierung wird unter <ulink url=\"http://"
-"seamframework.org/WebBeans\">das Seam Projekt</ulink> entwickelt. Sie können "
-"die aktuellste Entwickler-Release von Web Beans von der <ulink url=\"http://"
-"seamframework.org/Download\">Downloads Seite</ulink> herunterladen."
-
-#. Tag: para
-#: ri.xml:13
-#, fuzzy, no-c-format
-msgid ""
-"Web Beans comes with a two deployable example applications: "
-"<literal>webbeans-numberguess</literal>, a war example, containing only "
-"simple beans, and <literal>webbeans-translator</literal> an ear example, "
-"containing enterprise beans. There are also two variations on the "
-"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
-"and the jsf2 example, which you can use if you are running JSF2. To run the "
-"examples you'll need the following:"
-msgstr ""
-"Die Web Beans RI kommt mit zwei deploybaren Beispielanwendungen: "
-"<literal>webbeans-numberguess</literal>, ein war-Beispiel, das nur einfache "
-"Beans enthält und <literal>webbeans-translator</literal>, ein ear-Beispiel, "
-"dasEnterprise Beans enthält. Um Beispiele auszuführen benötigen Sie "
-"folgendes:"
-
-#. Tag: para
-#: ri.xml:25
-#, fuzzy, no-c-format
-msgid "the latest release of Web Beans,"
-msgstr "die aktuellste Release der Web Beans RI,"
-
-#. Tag: para
-#: ri.xml:28
-#, fuzzy, no-c-format
-msgid "JBoss AS 5.0.1.GA, or"
-msgstr "JBoss AS 5.0.0.GA und"
-
-#. Tag: para
-#: ri.xml:31
-#, no-c-format
-msgid "Apache Tomcat 6.0.x, and"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:34
-#, no-c-format
-msgid "Ant 1.7.0."
-msgstr "Ant 1.7.0."
-
-#. Tag: title
-#: ri.xml:39
-#, no-c-format
-msgid "Using JBoss AS 5"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:41
-#, fuzzy, no-c-format
-msgid ""
-"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
-"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
-msgstr ""
-"Momentan läuft die Web Beans RI nur auf JBoss Application Server 5. Sie "
-"werden JBoss AS 5.0.0.GA unter <ulink url=\"http://www.jboss.org/jbossas/"
-"downloads/\">jboss.org</ulink> herunterladen und es unzippen müssen. Zum "
-"Beispiel:"
-
-#. Tag: programlisting
-#: ri.xml:47
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.1.GA.zip]]>"
-msgstr ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.0.GA.zip]]>"
-
-#. Tag: para
-#: ri.xml:49 ri.xml:170
-#, fuzzy, no-c-format
-msgid ""
-"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
-"\">seamframework.org</ulink>, and unzip it. For example"
-msgstr ""
-"Anschließend laden Sie die Web Beans RI unter <ulink url=\"http://"
-"seamframework.org/Download\">seamframework.org</ulink> herunter und "
-"entzippen diese. Zum Beispiel "
-
-#. Tag: programlisting
-#: ri.xml:55 ri.xml:176
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-$VERSION.zip]]>"
-msgstr ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-$VERSION.zip]]>"
-
-#. Tag: para
-#: ri.xml:58
-#, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>jboss.home</literal> "
-"property. For example:"
-msgstr ""
-"Als nächstes müssen wir Web Beans mitteilen, wo JBoss sich befindet. "
-"Editieren Sie <literal>jboss-as/build.properties</literal> und setzen Sie "
-"die <literal>jboss.home</literal>-Property. Zum Beispiel:"
-
-#. Tag: programlisting
-#: ri.xml:64
-#, fuzzy, no-c-format
-msgid "jboss.home=/Applications/jboss-5.0.1.GA"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:66
-#, fuzzy, no-c-format
-msgid ""
-"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
-"<literal>ANT_HOME</literal> environment variable set. For example:"
-msgstr ""
-"Um das Update zu installieren, muss Ant 1.7.0 installiert und die "
-"<literal>ANT_HOME</literal> Umgebungsvariable gesetzt sein. Zum Beispiel:"
-
-#. Tag: programlisting
-#: ri.xml:71
-#, no-c-format
-msgid ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-msgstr ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-
-#. Tag: para
-#: ri.xml:73
-#, fuzzy, no-c-format
-msgid ""
-"Then, you can install the update. The update script will use Maven to "
-"download Web Beans automatically."
-msgstr ""
-"Dann können Sie das Update installieren. Das Update-Skript verwendet Maven, "
-"um die Web Beans und EJB3 automatisch herunterzuladen."
-
-#. Tag: programlisting
-#: ri.xml:78
-#, no-c-format
-msgid ""
-"$ cd webbeans-$VERSION/jboss-as\n"
-"$ ant update"
-msgstr ""
-"$ cd webbeans-$VERSION/jboss-as\n"
-"$ ant update"
-
-#. Tag: para
-#: ri.xml:80
-#, no-c-format
-msgid "Now, you're ready to deploy your first example!"
-msgstr "Jetzt können Sie Ihr erstes Beispiel deployen!"
-
-#. Tag: para
-#: ri.xml:85
-#, fuzzy, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for JBoss AS, "
-"these are:"
-msgstr ""
-"Die Build-Skripte für die Beispiele bieten zahlreiche Ziele, diese sind:"
-
-#. Tag: para
-#: ri.xml:91
-#, no-c-format
-msgid "<literal>ant restart</literal> - deploy the example in exploded format"
-msgstr ""
-"<literal>ant restart</literal> - Deployment des Beispiels in ausgeklapptem "
-"Format"
-
-#. Tag: para
-#: ri.xml:97
-#, no-c-format
-msgid ""
-"<literal>ant explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-"<literal>ant explode</literal> - Aktualisierung eines ausgeklappten "
-"Beispiels ohne Neustart des Deployments"
-
-#. Tag: para
-#: ri.xml:103
-#, no-c-format
-msgid ""
-"<literal>ant deploy</literal> - deploy the example in compressed jar format"
-msgstr ""
-"<literal>ant deploy</literal> - Deployment des Beispiels in komprimiertem "
-"jar-Format"
-
-#. Tag: para
-#: ri.xml:108
-#, no-c-format
-msgid "<literal>ant undeploy</literal> - remove the example from the server"
-msgstr "<literal>ant undeploy</literal> - das Beispiel vom Server entfernen"
-
-#. Tag: para
-#: ri.xml:113
-#, no-c-format
-msgid "<literal>ant clean</literal> - clean the example"
-msgstr "<literal>ant clean</literal> - Das Beispiel bereinigen"
-
-#. Tag: para
-#: ri.xml:120
-#, no-c-format
-msgid "To deploy the numberguess example:"
-msgstr "Um das numberguess Beispiel zu deployen:"
-
-#. Tag: programlisting
-#: ri.xml:124
-#, no-c-format
-msgid ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-msgstr ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:126
-#, no-c-format
-msgid "Start JBoss AS:"
-msgstr "JBoss AS starten:"
-
-#. Tag: programlisting
-#: ri.xml:130
-#, no-c-format
-msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
-msgstr "$ /Application/jboss-5.0.0.GA/bin/run.sh"
-
-#. Tag: para
-#: ri.xml:133
-#, no-c-format
-msgid "If you use Windows, use the <literal>run.bat</literal>script."
-msgstr ""
-"Falls Sie Windows verwenden, verwenden Sie das <literal>run.bat</literal>-"
-"Skript."
-
-#. Tag: para
-#: ri.xml:138 ri.xml:240
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
-"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
-msgstr ""
-"Deployen Sie die Anwendung und genießen Sie stundenlangen Spaß unter <ulink "
-"url=\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
-
-#. Tag: para
-#: ri.xml:143
-#, fuzzy, no-c-format
-msgid ""
-"Web Beans includes a second simple example that will translate your text "
-"into Latin. The numberguess example is a war example, and uses only simple "
-"beans; the translator example is an ear example, and includes enterprise "
-"beans, packaged in an EJB module. To try it out:"
-msgstr ""
-"Die Web Beans RI enthält ein zweites einfaches Beispiel, das Ihren Text ins "
-"Lateinische übersetzt. Beim numberguess Beispiel handelt es sich um ein war-"
-"Beispiel und es verwendet nur einfache Beans; das translator-Beispiel ist "
-"ein ear-Beispiel, das in einem EJB-Modul verpackte Enterprise Beans "
-"enthält . Um dies auszuprobieren:"
-
-#. Tag: programlisting
-#: ri.xml:150
-#, no-c-format
-msgid ""
-"$ cd examples/translator\n"
-"ant deploy"
-msgstr ""
-"$ cd examples/translator\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:152
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and visit <ulink url=\"http://"
-"localhost:8080/webbeans-translator\"></ulink>!"
-msgstr ""
-"Warten Sie, bis die Anwendung deployt ist und besuchen Sie <ulink url="
-"\"http://localhost:8080/webbeans-translator\"></ulink>!"
-
-#. Tag: title
-#: ri.xml:160
-#, no-c-format
-msgid "Using Apache Tomcat 6.0"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:162
-#, fuzzy, no-c-format
-msgid ""
-"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
-"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
-"For example:"
-msgstr ""
-"Anschließend laden Sie die Web Beans RI unter <ulink url=\"http://"
-"seamframework.org/Download\">seamframework.org</ulink> herunter und "
-"entzippen diese. Zum Beispiel "
-
-#. Tag: programlisting
-#: ri.xml:168
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
-msgstr ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.0.GA.zip]]>"
-
-#. Tag: para
-#: ri.xml:178
-#, fuzzy, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
-"property. For example:"
-msgstr ""
-"Als nächstes müssen wir Web Beans mitteilen, wo JBoss sich befindet. "
-"Editieren Sie <literal>jboss-as/build.properties</literal> und setzen Sie "
-"die <literal>jboss.home</literal>-Property. Zum Beispiel:"
-
-#. Tag: programlisting
-#: ri.xml:184
-#, fuzzy, no-c-format
-msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:187
-#, fuzzy, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for Tomcat, "
-"these are:"
-msgstr ""
-"Die Build-Skripte für die Beispiele bieten zahlreiche Ziele, diese sind:"
-
-#. Tag: para
-#: ri.xml:193
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
-msgstr ""
-"<literal>ant restart</literal> - Deployment des Beispiels in ausgeklapptem "
-"Format"
-
-#. Tag: para
-#: ri.xml:199
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-"<literal>ant explode</literal> - Aktualisierung eines ausgeklappten "
-"Beispiels ohne Neustart des Deployments"
-
-#. Tag: para
-#: ri.xml:205
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
-"format"
-msgstr ""
-"<literal>ant deploy</literal> - Deployment des Beispiels in komprimiertem "
-"jar-Format"
-
-#. Tag: para
-#: ri.xml:210
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
-msgstr "<literal>ant undeploy</literal> - das Beispiel vom Server entfernen"
-
-#. Tag: para
-#: ri.xml:215
-#, fuzzy, no-c-format
-msgid "<literal>ant tomcat.clean</literal> - clean the example"
-msgstr "<literal>ant clean</literal> - Das Beispiel bereinigen"
-
-#. Tag: para
-#: ri.xml:222
-#, fuzzy, no-c-format
-msgid "To deploy the numberguess example for tomcat:"
-msgstr "Um das numberguess Beispiel zu deployen:"
-
-#. Tag: programlisting
-#: ri.xml:226
-#, fuzzy, no-c-format
-msgid ""
-"$ cd examples/tomcat\n"
-"ant tomcat.deploy"
-msgstr ""
-"$ cd examples/translator\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:228
-#, no-c-format
-msgid "Start Tomcat:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:232
-#, fuzzy, no-c-format
-msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
-msgstr "$ /Application/jboss-5.0.0.GA/bin/run.sh"
-
-#. Tag: para
-#: ri.xml:235
-#, fuzzy, no-c-format
-msgid "If you use Windows, use the <literal>startup.bat</literal>script."
-msgstr ""
-"Falls Sie Windows verwenden, verwenden Sie das <literal>run.bat</literal>-"
-"Skript."
-
-#. Tag: title
-#: ri.xml:248
-#, no-c-format
-msgid "Using GlassFish"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:250
-#, no-c-format
-msgid "TODO"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:254
-#, no-c-format
-msgid "The numberguess example"
-msgstr "Das numberguess-Beispiel"
-
-#. Tag: para
-#: ri.xml:256
-#, no-c-format
-msgid ""
-"In the numberguess application you get given 10 attempts to guess a number "
-"between 1 and 100. After each attempt, you will be told whether you are too "
-"high, or too low."
-msgstr ""
-"In der numberguess-Anwendung haben Sie 10 Versuche, eine Zahl zwischen 1 und "
-"100 zu erraten. Nach jedem Versuch wird Ihnen mitgeteilt, ob Sie zu hoch "
-"oder zu niedrig liegen."
-
-#. Tag: para
-#: ri.xml:262
-#, no-c-format
-msgid ""
-"The numberguess example is comprised of a number of Web Beans, configuration "
-"files, and Facelet JSF pages, packaged as a war. Let's start with the "
-"configuration files."
-msgstr ""
-"Das numberguess-Beispiel besteht aus einer Reihe von Web Beans, "
-"Konfigurationsdateien und Facelet JSF-Seiten, die als eine war verpackt "
-"sind. Fangen wir mit den Konfigurationsdateien an."
-
-#. Tag: para
-#: ri.xml:268
-#, no-c-format
-msgid ""
-"All the configuration files for this example are located in <literal>WEB-INF/"
-"</literal>, which is stored in <literal>WebContent</literal> in the source "
-"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
-"JSF to use Facelets:"
-msgstr ""
-"Alle Konfigurationsdateien für dieses Beispiel befinden sich in <literal>WEB-"
-"INF/</literal>, das in <literal>WebContent</literal> im Quell-Baum "
-"gespeichert ist. Zunächst haben wir <literal>faces-config.xml</literal>, in "
-"dem wir JSF anweisen, Facelets zu verwenden:"
-
-#. Tag: programlisting
-#: ri.xml:276
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-msgstr ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-
-#. Tag: para
-#: ri.xml:278
-#, no-c-format
-msgid ""
-"There is an empty <literal>web-beans.xml</literal> file, which marks this "
-"application as a Web Beans application."
-msgstr ""
-"Es existiert eine leere <literal>web-beans.xml</literal>-Datei, die diese "
-"Anwendung als Web Beans Applikation kennzeichnet."
-
-#. Tag: para
-#: ri.xml:283
-#, no-c-format
-msgid "Finally there is <literal>web.xml</literal>:"
-msgstr "Und schließlich gibt es noch <literal>web.xml</literal>:"
-
-#. Tag: section
-#: ri.xml:285
-#, fuzzy, no-c-format
-msgid ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
-"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
-"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
-"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
-"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
-"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
-"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
-"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
-"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
-"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
-"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
-"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
-"session timeout of 10 minutes </para> </callout> </calloutlist> </"
-"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
-"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
-"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
-"id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area "
-"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
-"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
-"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
-"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
-"dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
-"number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
-"number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game."
-"biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
-"{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
-"<para> Facelets is a templating language for JSF, here we are wrapping our "
-"page in a template which defines the header. </para> </callout> <callout "
-"arearefs=\"messages\"> <para> There are a number of messages which can be "
-"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
-"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
-"range of numbers they can guess gets smaller - this sentance changes to make "
-"sure they know what range to guess in. </para> </callout> <callout arearefs="
-"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
-"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
-"range validator is used to make sure the user doesn't accidentally input a "
-"number outside of the range in which they can guess - if the validator "
-"wasn't here, the user might use up a guess on an out of range number. </"
-"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
-"must be a way for the user to send their guess to the server. Here we bind "
-"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
-"programlistingco>"
-msgstr ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
-"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
-"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
-"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
-"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
-"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
-"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
-"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
-"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
-"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
-"giving our source files (facelets) an extension of <literal>.jsf</literal> </"
-"para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
-"session timeout of 10 minutes </para> </callout> </calloutlist> </"
-"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
-"the Web Beans RI with any Servlet based web framework. </para> </note> "
-"<para> Let's take a look at the Facelet view: </para> <programlistingco> "
-"<areaspec> <area id=\"template\" coords=\"8\"/> <area id=\"messages\" coords="
-"\"12\"/> <area id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords="
-"\"25\"/> <area id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords="
-"\"33\"/> </areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//"
-"W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/"
-"xhtml1-transitional.dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
-"number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
-"number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game."
-"biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
-"{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
-"<para> Facelets is a templating language for JSF, here we are wrapping our "
-"page in a template which defines the header. </para> </callout> <callout "
-"arearefs=\"messages\"> <para> There are a number of messages which can be "
-"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
-"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
-"range of numbers they can guess gets smaller - this sentance changes to make "
-"sure they know what range to guess in. </para> </callout> <callout arearefs="
-"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
-"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
-"range validator is used to make sure the user doesn't accidentally input a "
-"number outside of the range in which they can guess - if the validator "
-"wasn't here, the user might use up a guess on an out of range number. </"
-"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
-"must be a way for the user to send their guess to the server. Here we bind "
-"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
-"programlistingco>"
-
-#. Tag: para
-#: ri.xml:387
-#, no-c-format
-msgid ""
-"The example exists of 4 classes, the first two of which are binding types. "
-"First, there is the <literal>@Random</literal> binding type, used for "
-"injecting a random number:"
-msgstr ""
-"Das Beispiel besteht aus 4 Klassen, wobei die ersten beiden Binding-Typen "
-"sind. Zunächst gibt es den <literal>@Random</literal> Binding-Typ, der zur "
-"Einspeisung einer zufälligen Zahl dient:"
-
-#. Tag: programlisting
-#: ri.xml:393
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-msgstr ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-
-#. Tag: para
-#: ri.xml:395
-#, no-c-format
-msgid ""
-"There is also the <literal>@MaxNumber</literal> binding type, used for "
-"injecting the maximum number that can be injected:"
-msgstr ""
-"Es gibt außerdem den <literal>@MaxNumber</literal> Binding-Typ, der zur "
-"Einspeisung der maximalen Zahl, die eingespeist werden kann, verwendet wird:"
-
-#. Tag: programlisting
-#: ri.xml:400
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-msgstr ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-
-#. Tag: para
-#: ri.xml:402
-#, no-c-format
-msgid ""
-"The <literal>Generator</literal> class is responsible for creating the "
-"random number, via a producer method. It also exposes the maximum possible "
-"number via a producer method:"
-msgstr ""
-"Die <literal>Generator</literal>-Klasse ist verantwortlich für die "
-"Erstellung der zufälligen Zahl via einer  Producer-Methode. Sie legt auch "
-"die mögliche Maximalzahl via einer maximum Producer-Methode offen:"
-
-#. Tag: programlisting
-#: ri.xml:408
-#, no-c-format
-msgid ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System."
-"currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-msgstr ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System."
-"currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-
-#. Tag: para
-#: ri.xml:410
-#, no-c-format
-msgid ""
-"You'll notice that the <literal>Generator</literal> is application scoped; "
-"therefore we don't get a different random each time."
-msgstr ""
-"Sie werden feststellen, dass der <literal>Generator</literal> "
-"anwendungsbegrenzt ist; daher erhalten wir nicht jedes Mal ein anderes "
-"Zufallsergebnis."
-
-#. Tag: para
-#: ri.xml:415
-#, no-c-format
-msgid ""
-"The final Web Bean in the application is the session scoped <literal>Game</"
-"literal>."
-msgstr ""
-"Das letzte Web Bean in der Anwendung ist das sessionbegrenzte <literal>Game</"
-"literal>."
-
-#. Tag: para
-#: ri.xml:420
-#, no-c-format
-msgid ""
-"You'll note that we've used the <literal>@Named</literal> annotation, so "
-"that we can use the bean through EL in the JSF page. Finally, we've used "
-"constructor injection to initialize the game with a random number. And of "
-"course, we need to tell the player when they've won, so we give feedback "
-"with a <literal>FacesMessage</literal>."
-msgstr ""
-"Sie werden bemerken, dass wir die <literal>@Named</literal>-Annotation "
-"verwendet haben, damit wir das Bean durch EL in der JSF-Seite verwenden "
-"können. Zu guter Letzt haben wir Konstruktor-Einspeisung zur Initialisierung "
-"des Spiels mit Zufallszahl verwendet. Und natürlich müssen wir dem Spieler "
-"mitteilen, wenn er gewonnen hat, daher bieten wir Feedback mittels einer "
-"<literal>FacesMessage</literal>."
-
-#. Tag: programlisting
-#: ri.xml:428
-#, no-c-format
-msgid ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
-"(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new "
-"AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-msgstr ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
-"(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new "
-"AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-
-#. Tag: title
-#: ri.xml:431
-#, fuzzy, no-c-format
-msgid "The numberguess example for Tomcat"
-msgstr "Das numberguess-Beispiel"
-
-#. Tag: para
-#: ri.xml:433
-#, no-c-format
-msgid ""
-"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
-"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
-"literal>. For your convenience we provide a single jar suitable for running "
-"Web Beans on Tomcat <literal>webbeans-tomcat.jar</literal>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:442
-#, no-c-format
-msgid ""
-"Of course, you must also include JSF and EL, as well common annotations "
-"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:449
-#, no-c-format
-msgid ""
-"Secondly, we need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control it's interaction with requests) in <literal>web."
-"xml</literal>:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:455
-#, no-c-format
-msgid ""
-"<![CDATA[<listener>\n"
-"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-"
-"class>\n"
-"</listener>]]>"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:461
-#, no-c-format
-msgid "The translator example"
-msgstr "Das translator-Beispiel"
-
-#. Tag: para
-#: ri.xml:463
-#, no-c-format
-msgid ""
-"The translator example will take any sentences you enter, and translate them "
-"to Latin."
-msgstr ""
-"Beim translator-Beispiel werden die von Ihnen eingegebenen Sätze ins "
-"Lateinische übersetzt."
-
-#. Tag: para
-#: ri.xml:468
-#, no-c-format
-msgid ""
-"The translator example is built as an ear, and contains EJBs. As a result, "
-"it's structure is more complex than the numberguess example."
-msgstr ""
-"Das translator-Beispiel ist eine ear und enthält EJBs. Als Folge ist seine "
-"Struktur komplexer als die desnumberguess-Beispiels."
-
-#. Tag: para
-#: ri.xml:474
-#, no-c-format
-msgid ""
-"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
-"this structure much simpler!"
-msgstr ""
-"EJB 3.1 und Jave EE 6 gestatten es Ihnen EJBs in eine war zu verpacken, "
-"wodurch diese Struktur wesentlich einfacher wird!"
-
-#. Tag: para
-#: ri.xml:480
-#, no-c-format
-msgid ""
-"First, let's take a look at the ear aggregator, which is located in "
-"<literal>webbeans-translator-ear</literal> module. Maven automatically "
-"generates the <literal>application.xml</literal> for us:"
-msgstr ""
-"Werfen wir zunächst einen Blick auf den ear-Aggregator, das sich im "
-"<literal>webbeans-translator-ear</literal>-Modul befindet. Maven generiert "
-"automatisch die <literal>application.xml</literal> für uns:"
-
-#. Tag: programlisting
-#: ri.xml:486
-#, no-c-format
-msgid ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-msgstr ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-
-#. Tag: para
-#: ri.xml:488
-#, no-c-format
-msgid ""
-"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
-"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
-"translator</ulink>)."
-msgstr ""
-"Hier setzen wir den Kontextpfad, der uns eine schöne url liefert (<ulink url="
-"\"http://localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
-"translator</ulink>)."
-
-#. Tag: para
-#: ri.xml:494
-#, no-c-format
-msgid ""
-"If you aren't using Maven to generate these files, you would need "
-"<literal>META-INF/application.xml</literal>:"
-msgstr ""
-"Falls Sie zur Generierung dieser Dateien nicht Maven verwendet haben, "
-"benötigen Sie <literal>META-INF/application.xml</literal>:"
-
-#. Tag: programlisting
-#: ri.xml:499
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web "
-"Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-msgstr ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web "
-"Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-
-#. Tag: para
-#: ri.xml:502
-#, fuzzy, no-c-format
-msgid ""
-"Next, lets look at the war. Just as in the numberguess example, we have a "
-"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
-"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
-msgstr ""
-"Als nächstes schauen wir uns die war an. Genau wie im numberguess Beispiel "
-"haben wir eine <literal>faces-config.xml</literal> (zur Aktivierung von "
-"Facelets) und eine <literal>web.xml</literal> (zur Aktivierung von JSF) in "
-"<literal>WebContent/WEB-INF</literal>."
-
-#. Tag: para
-#: ri.xml:509
-#, no-c-format
-msgid ""
-"More intersting is the facelet used to translate text. Just as in the "
-"numberguess example we have a template, which surrounds the form (ommitted "
-"here for brevity):"
-msgstr ""
-"Interessanter ist das zur Übersetzung des Texts verwendete Facelet. Ganz wie "
-"im numberguess-Beispiel besitzen wir eine Vorlage, die das Formular umgibt "
-"(hier der Kürze wegen weggelassen):"
-
-#. Tag: programlisting
-#: ri.xml:515
-#, no-c-format
-msgid ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
-"required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
-"{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-msgstr ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
-"required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
-"{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-
-#. Tag: para
-#: ri.xml:517
-#, no-c-format
-msgid ""
-"The user can enter some text in the lefthand textarea, and hit the translate "
-"button to see the result to the right."
-msgstr ""
-"Der Benutzer kann Text im Textbereich links eingeben und dann die translate-"
-"Schaltfläche drücken (zur Übersetzung), um auf der rechten Seite das "
-"Ergebnis zu sehen."
-
-#. Tag: para
-#: ri.xml:522
-#, no-c-format
-msgid ""
-"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
-"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
-"empty <literal>web-beans.xml</literal>, used to mark the archive as "
-"containing Web Beans."
-msgstr ""
-"Sehen wir uns schließlich noch das ejb-Modul <literal>webbeans-translator-"
-"ejb</literal> an. In <literal>src/main/resources/META-INF</literal> "
-"existiert nur eine leere <literal>web-beans.xml</literal>, die dazu dient "
-"das Archiv als Web Beans enthaltend zu markieren."
-
-#. Tag: para
-#: ri.xml:530
-#, no-c-format
-msgid ""
-"We've saved the most interesting bit to last, the code! The project has two "
-"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
-"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
-"literal> and <literal>SentenceTranslator</literal>. You should be getting "
-"quite familiar with what a Web Bean looks like by now, so we'll just "
-"highlight the most interesting bits here."
-msgstr ""
-"Wir haben uns das Interessanteste bis zuletzt aufgehoben, nämlich den Code! "
-"Das Projekt besitzt zwei einfache Beans, <literal>SentenceParser</literal> "
-"und <literal>TextTranslator</literal> und zwei Enterprise Beans, "
-"<literal>TranslatorControllerBean</literal> und <literal>SentenceTranslator</"
-"literal>. Sie sind wahrscheinlich schon weitehend vertraut damit, wie Web "
-"Bean aussehen, daher gehen wir hier nur auf die interessantesten Aspekte ein."
-
-#. Tag: para
-#: ri.xml:540
-#, no-c-format
-msgid ""
-"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
-"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
-"initialization:"
-msgstr ""
-"Sowohl bei <literal>SentenceParser</literal> als auch bei "
-"<literal>TextTranslator</literal> handelt es sich um abhängige Beans und "
-"<literal>TextTranslator</literal> verwendet Konstruktor-Initialisierung :"
-
-#. Tag: programlisting
-#: ri.xml:546
-#, no-c-format
-msgid ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator "
-"sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-msgstr ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator "
-"sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-
-#. Tag: para
-#: ri.xml:548
-#, no-c-format
-msgid ""
-"<literal>TextTranslator</literal> is a stateless bean (with a local business "
-"interface), where the magic happens - of course, we couldn't develop a full "
-"translator, but we gave it a good go!"
-msgstr ""
-"<literal>TextTranslator</literal> ist ein stateless Bean (mit einem lokalen "
-"Business-Interface), wo alles passiert - natürlich konnten wir keinen "
-"kompletten Übersetzer entwickeln,, aber wir haben uns Mühe gegeben!"
-
-#. Tag: para
-#: ri.xml:554
-#, no-c-format
-msgid ""
-"Finally, there is UI orientated controller, that collects the text from the "
-"user, and dispatches it to the translator. This is a request scoped, named, "
-"stateful session bean, which injects the translator."
-msgstr ""
-"Schließlich gibt es noch den UI-orientierten Kontroller, der den Text vom "
-"Benutzer nimmt und ihn an den translator (Übersetzer) weitergibt. Hierbei "
-"handelt es sich um ein anfragenbegrenztes, benanntes, stateful Session Bean, "
-"das den translator einspeist."
-
-#. Tag: programlisting
-#: ri.xml:560
-#, no-c-format
-msgid ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-msgstr ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-
-#. Tag: para
-#: ri.xml:562
-#, no-c-format
-msgid "The bean also has getters and setters for all the fields on the page."
-msgstr "Das Bean besitzt auch Getter und Setter für alle Felder auf der Seite."
-
-#. Tag: para
-#: ri.xml:566
-#, no-c-format
-msgid "As this is a stateful session bean, we have to have a remove method:"
-msgstr ""
-"Da es sich um ein stateful Session Bean handelt, müssen wir eine remove-"
-"Methode besitzen:"
-
-#. Tag: programlisting
-#: ri.xml:570
-#, no-c-format
-msgid ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-msgstr ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-
-#. Tag: para
-#: ri.xml:572
-#, no-c-format
-msgid ""
-"The Web Beans manager will call the remove method for you when the bean is "
-"destroyed; in this case at the end of the request."
-msgstr ""
-"Der Web Beans Manager ruft die remove-Methode für Sie auf, wenn das Bean "
-"gelöscht wird, in diesem Fall am Ende der Anfrage."
-
-#. Tag: para
-#: ri.xml:578
-#, fuzzy, no-c-format
-msgid ""
-"That concludes our short tour of the Web Beans examples. For more on Web "
-"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
-"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
-"Development</ulink>."
-msgstr ""
-"Dies beendet unsere kurze Tour von Web Beans RI Beispielen. Falls Sie "
-"weitere Informationen zur RI wünschen oder falls Sie helfen möchten, "
-"besuchen SIe bitte <ulink url=\"http://www.seamframework.org/WebBeans/"
-"Development\">http://www.seamframework.org/WebBeans/Development</ulink>."
-
-#. Tag: para
-#: ri.xml:584
-#, no-c-format
-msgid ""
-"We need help in all areas - bug fixing, writing new features, writing "
-"examples and translating this reference guide."
-msgstr ""
-"Wir brauche Unterstützung auf allen Gebieten - Fehlerbehebung, Schreiben "
-"neuer Features, Schreiben neuer Beispiele und bei der Übersetzung dieses "
-"Referenzhandbuchs."
-
-#, fuzzy
-#~ msgid ""
-#~ "A new deployer, <literal>webbeans.deployer</literal> is added to JBoss "
-#~ "AS. This adds supports for Web Bean archives to JBoss AS, and allows the "
-#~ "Web Beans RI to query the EJB3 container and discover which EJBs are "
-#~ "installed in your application."
-#~ msgstr ""
-#~ "Derzeit sind zwei Updates nötig. Zuerst wird ein neuer Deployer "
-#~ "<literal>webbeans.deployer</literal> hinzugefügt. Dies fügt Supports für "
-#~ "Web Bean Archive zu JBoss AS hinzu und gestattet der Web Beans RI beim "
-#~ "EJB3 Container anzufragen und festzustellen, welche EJBs in Ihrer "
-#~ "Anwendung installiert sind. Desweiteren wird ein Update zu JBoss EJB3 "
-#~ "benötigt."
-
-#~ msgid ""
-#~ "As Web Beans is a new piece of software, you need to update JBoss AS to "
-#~ "run the Web Beans RI. Future versions of JBoss AS will include these "
-#~ "updates, and this step won't be necessary."
-#~ msgstr ""
-#~ "Da es sich bei Web Beans um ein neues Stück Software handelt, müssen Sie "
-#~ "JBoss AS aktualisieren, um die Web Beans RI auszuführen. Zukünftige "
-#~ "Versionen von JBoss AS werden diese Updates enthalten, und dieser Schritt "
-#~ "wird sich erübrigen."

Modified: doc/trunk/reference/de-DE/scopescontexts.po
===================================================================
--- doc/trunk/reference/de-DE/scopescontexts.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/de-DE/scopescontexts.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: scopescontexts\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-01-10 14:18+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-05 17:54+1100\n"
 "Last-Translator: \n"
 "Language-Team:  <en at li.org>\n"
@@ -31,26 +31,36 @@
 "instances of the Web Bean. According to the Web Beans specification, a scope "
 "determines:"
 msgstr ""
-"Bis jetzt haben wir ein paar Beispiele von <emphasis>Geltungsbereichtyp-Annotationen</"
-"emphasis> gesehen. Der Geltungsbereich eines Web Beans bestimmt den Lebenszyklus der Instanzen des Web Beans. Der Geltungsbereich bestimmt auch, welche Clients sich auf welche Instanzen des Web Beans beziehen. Gemäß der Web Beans Spezifikation bestimmt ein Geltungsbereich:"
+"Bis jetzt haben wir ein paar Beispiele von <emphasis>Geltungsbereichtyp-"
+"Annotationen</emphasis> gesehen. Der Geltungsbereich eines Web Beans "
+"bestimmt den Lebenszyklus der Instanzen des Web Beans. Der Geltungsbereich "
+"bestimmt auch, welche Clients sich auf welche Instanzen des Web Beans "
+"beziehen. Gemäß der Web Beans Spezifikation bestimmt ein Geltungsbereich:"
 
 #. Tag: para
 #: scopescontexts.xml:14
 #, no-c-format
 msgid "When a new instance of any Web Bean with that scope is created"
-msgstr "Wann eine neue Instanz eines beliebigen Web Beans mit diesem Geltungsbereich erstellt wird"
+msgstr ""
+"Wann eine neue Instanz eines beliebigen Web Beans mit diesem Geltungsbereich "
+"erstellt wird"
 
 #. Tag: para
 #: scopescontexts.xml:17
 #, no-c-format
 msgid "When an existing instance of any Web Bean with that scope is destroyed"
-msgstr "Wenn eine bestehende Instanz eines beliebigen Web Beans mit diesem Geltungsbereich gelöscht wird"
+msgstr ""
+"Wenn eine bestehende Instanz eines beliebigen Web Beans mit diesem "
+"Geltungsbereich gelöscht wird"
 
 #. Tag: para
 #: scopescontexts.xml:20
 #, no-c-format
-msgid "Which injected references refer to any instance of a Web Bean with that scope"
-msgstr "Welche eingespeisten Referenzen auf eine beliebige Instanz eines Web Beans mit diesem Geltungsbereich verweisen"
+msgid ""
+"Which injected references refer to any instance of a Web Bean with that scope"
+msgstr ""
+"Welche eingespeisten Referenzen auf eine beliebige Instanz eines Web Beans "
+"mit diesem Geltungsbereich verweisen"
 
 #. Tag: para
 #: scopescontexts.xml:25
@@ -63,10 +73,12 @@
 "the first time a <literal>CurrentUser</literal> is needed in that session, "
 "and automatically destroyed when the session ends."
 msgstr ""
-"Wenn wir etwa ein session-begrenztes Web Bean <literal>CurrentUser</"
-"literal> haben, so sehen alle Web Beans, die im Kontext derselben "
+"Wenn wir etwa ein session-begrenztes Web Bean <literal>CurrentUser</literal> "
+"haben, so sehen alle Web Beans, die im Kontext derselben "
 "<literal>HttpSession</literal> aufgerufen werden, dieselbe Instanz von "
-"<literal>CurrentUser</literal>. Diese Instanz wird automatisch erstellt, wenn <literal>CurrentUser</literal> erstmals in dieser Session benötigt wird und automatisch gelöscht, wenn die Session endet."
+"<literal>CurrentUser</literal>. Diese Instanz wird automatisch erstellt, "
+"wenn <literal>CurrentUser</literal> erstmals in dieser Session benötigt wird "
+"und automatisch gelöscht, wenn die Session endet."
 
 #. Tag: title
 #: scopescontexts.xml:32
@@ -80,7 +92,10 @@
 msgid ""
 "Web Beans features an <emphasis>extensible context model</emphasis>. It is "
 "possible to define new scopes by creating a new scope type annotation:"
-msgstr "Web Beans besitzen ein <emphasis>erweiterbares Kontextmodell</emphasis>. Es ist möglich, neue Geltungsbereiche zu definieren, indem man eine neue Annotation für einen Geltungsbereich-Typ erstellt:"
+msgstr ""
+"Web Beans besitzen ein <emphasis>erweiterbares Kontextmodell</emphasis>. Es "
+"ist möglich, neue Geltungsbereiche zu definieren, indem man eine neue "
+"Annotation für einen Geltungsbereich-Typ erstellt:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:37
@@ -104,7 +119,12 @@
 "useful, we will also need to define a <literal>Context</literal> object that "
 "implements the scope! Implementing a <literal>Context</literal> is usually a "
 "very technical task, intended for framework development only."
-msgstr "Natürlich ist dies der einfache Teil des Jobs. Damit dieser Typ von Geltungsbereich von Nutzen ist, müssen wir außerdem ein <literal>Context</literal>-Objekt definieren, das den Geltungsbereich implementiert! Die Implementierung eines <literal>Context</literal> ist in der Regel ein sehr technisches Unterfangen, das nur für Framework-Entwicklung vorgesehen ist."
+msgstr ""
+"Natürlich ist dies der einfache Teil des Jobs. Damit dieser Typ von "
+"Geltungsbereich von Nutzen ist, müssen wir außerdem ein <literal>Context</"
+"literal>-Objekt definieren, das den Geltungsbereich implementiert! Die "
+"Implementierung eines <literal>Context</literal> ist in der Regel ein sehr "
+"technisches Unterfangen, das nur für Framework-Entwicklung vorgesehen ist."
 
 #. Tag: para
 #: scopescontexts.xml:44
@@ -112,7 +132,10 @@
 msgid ""
 "We can apply a scope type annotation to a Web Bean implementation class to "
 "specify the scope of the Web Bean:"
-msgstr "Wir können eine Annotation eines Geltungsbereich-Typs an einer Web Bean Implementierungsklasse anwenden, um den Geltungsbereich des Web Beans festzulegen:"
+msgstr ""
+"Wir können eine Annotation eines Geltungsbereich-Typs an einer Web Bean "
+"Implementierungsklasse anwenden, um den Geltungsbereich des Web Beans "
+"festzulegen:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:47
@@ -128,7 +151,9 @@
 #: scopescontexts.xml:58
 #, no-c-format
 msgid "Usually, you'll use one of Web Beans' built-in scopes."
-msgstr "In der Regel verwenden Sie einen der eingebauten Geltungsbereiche der Web Beans."
+msgstr ""
+"In der Regel verwenden Sie einen der eingebauten Geltungsbereiche der Web "
+"Beans."
 
 #. Tag: title
 #: scopescontexts.xml:63
@@ -178,13 +203,16 @@
 msgid ""
 "any servlet request has access to active request, session and application "
 "scopes, and, additionally"
-msgstr "Jede Servlet-Anfrage hat Zugriff auf die aktuelle Anfrage, Session und Geltungsbereiche der Anwendung und zusätzlich "
+msgstr ""
+"Jede Servlet-Anfrage hat Zugriff auf die aktuelle Anfrage, Session und "
+"Geltungsbereiche der Anwendung und zusätzlich "
 
 #. Tag: para
 #: scopescontexts.xml:90
 #, no-c-format
 msgid "any JSF request has access to an active conversation scope."
-msgstr "hat jede JSF-Anfrage Zugriff auf einen aktiven Konversations-Geltungsbereich."
+msgstr ""
+"hat jede JSF-Anfrage Zugriff auf einen aktiven Konversations-Geltungsbereich."
 
 #. Tag: para
 #: scopescontexts.xml:94
@@ -223,7 +251,10 @@
 "If the application tries to invoke a Web Bean with a scope that does not "
 "have an active context, a <literal>ContextNotActiveException</literal> is "
 "thrown by the Web Bean manager at runtime."
-msgstr "Versucht die Applikation ein Web Bean aufzurufen, das keinen aktiven Kontext besitzt, so wird zur Runtime eine <literal>ContextNotActiveException</literal> vom Web Bean Manager gemeldet."
+msgstr ""
+"Versucht die Applikation ein Web Bean aufzurufen, das keinen aktiven Kontext "
+"besitzt, so wird zur Runtime eine <literal>ContextNotActiveException</"
+"literal> vom Web Bean Manager gemeldet."
 
 #. Tag: para
 #: scopescontexts.xml:115
@@ -233,8 +264,9 @@
 "EE developer, so let's not waste time discussing them here. One of the "
 "scopes, however, is new."
 msgstr ""
-"Drei der vier eingebauten Geltungsbereiche solltem jedem Java "
-"EE Entwickler sehr vertraut sein, daher wollen wir hier nicht weiter auf diese eingehen. Einer der Geltungsbereiche jedoch ist neu."
+"Drei der vier eingebauten Geltungsbereiche solltem jedem Java EE Entwickler "
+"sehr vertraut sein, daher wollen wir hier nicht weiter auf diese eingehen. "
+"Einer der Geltungsbereiche jedoch ist neu."
 
 #. Tag: title
 #: scopescontexts.xml:122
@@ -250,7 +282,12 @@
 "in that it holds state associated with a user of the system, and spans "
 "multiple requests to the server. However, unlike the session scope, the "
 "conversation scope:"
-msgstr "Der Web Beans Geltungsbereich der Konversation ähnelt dem herkömmlichen Geltungsbereich der Session dahingehend, dass er den mit einem Benutzer des Systems assoziierten Status verwahrt und mehrere Anfragen zum Server umfasst. Anders als für den Geltungsbereich der Session gilt für den Geltungsbereich der Konversation jedoch:"
+msgstr ""
+"Der Web Beans Geltungsbereich der Konversation ähnelt dem herkömmlichen "
+"Geltungsbereich der Session dahingehend, dass er den mit einem Benutzer des "
+"Systems assoziierten Status verwahrt und mehrere Anfragen zum Server "
+"umfasst. Anders als für den Geltungsbereich der Session gilt für den "
+"Geltungsbereich der Konversation jedoch:"
 
 #. Tag: para
 #: scopescontexts.xml:130
@@ -264,7 +301,9 @@
 msgid ""
 "holds state associated with a particular web browser tab in a JSF "
 "application."
-msgstr "verwahrt den mit einem bestimmten Webbrowser assoziierten Status in einer JSF-Applikation."
+msgstr ""
+"verwahrt den mit einem bestimmten Webbrowser assoziierten Status in einer "
+"JSF-Applikation."
 
 #. Tag: para
 #: scopescontexts.xml:138
@@ -274,7 +313,11 @@
 "the user. The conversation context holds state associated with what the user "
 "is currently working on. If the user is doing multiple things at the same "
 "time, there are multiple conversations."
-msgstr "Eine Konversation repräsentiert aus Perspektive des Benutzers eine Aufgabe, eine Arbeitseinheit. Der Konversationskontext enthält den Status dessen, woran der Benutzer gerade arbeitet. Arbeitet der Benutzer gleichzeitig an mehreren Dingen, so existieren mehrere Konversationen."
+msgstr ""
+"Eine Konversation repräsentiert aus Perspektive des Benutzers eine Aufgabe, "
+"eine Arbeitseinheit. Der Konversationskontext enthält den Status dessen, "
+"woran der Benutzer gerade arbeitet. Arbeitet der Benutzer gleichzeitig an "
+"mehreren Dingen, so existieren mehrere Konversationen."
 
 #. Tag: para
 #: scopescontexts.xml:143
@@ -284,7 +327,12 @@
 "conversations are destroyed at the end of the request. If a conversation "
 "should hold state across multiple requests, it must be explicitly promoted "
 "to a <emphasis>long-running conversation</emphasis>."
-msgstr "Der Konversation skontext ist während jeder JSF-Anfrage aktiv. Jedoch werden die meisten Konversationen am Ende der Anfrage gelöscht. Soll eine Konversation den Status über mehrere Anfragen hinweg verwahren, so muss sie explizit zu einer <emphasis>lange laufenden Konversation</emphasis> fortgepflanzt werden."
+msgstr ""
+"Der Konversation skontext ist während jeder JSF-Anfrage aktiv. Jedoch werden "
+"die meisten Konversationen am Ende der Anfrage gelöscht. Soll eine "
+"Konversation den Status über mehrere Anfragen hinweg verwahren, so muss sie "
+"explizit zu einer <emphasis>lange laufenden Konversation</emphasis> "
+"fortgepflanzt werden."
 
 #. Tag: title
 #: scopescontexts.xml:149
@@ -299,7 +347,10 @@
 "Web Beans provides a built-in Web Bean for controlling the lifecyle of "
 "conversations in a JSF application. This Web Bean may be obtained by "
 "injection:"
-msgstr "Web Beans liefert ein eingebautes Web Bean für die Steuerung des Lebenszyklus von Konversationen in einer JSF-Applikation. Dieses Web Bean kann durch Einspeisung erhalten werden:"
+msgstr ""
+"Web Beans liefert ein eingebautes Web Bean für die Steuerung des "
+"Lebenszyklus von Konversationen in einer JSF-Applikation. Dieses Web Bean "
+"kann durch Einspeisung erhalten werden:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:154
@@ -317,8 +368,11 @@
 "for destruction at the end of the current request, call <literal>end()</"
 "literal>."
 msgstr ""
-"Um die mit der aktuellen Anfrage assoziierte Konversation an eine lange laufende Konversation fortzupflanzen, rufen Sie die <literal>begin()</literal>-Methode vom Applikationscode auf. Um den aktuellen, lange laufenden Konversationskontext für die Löschung am Ende der aktuellen Anfrage zu terminieren, rufen Sie <literal>end()</"
-"literal> auf."
+"Um die mit der aktuellen Anfrage assoziierte Konversation an eine lange "
+"laufende Konversation fortzupflanzen, rufen Sie die <literal>begin()</"
+"literal>-Methode vom Applikationscode auf. Um den aktuellen, lange laufenden "
+"Konversationskontext für die Löschung am Ende der aktuellen Anfrage zu "
+"terminieren, rufen Sie <literal>end()</literal> auf."
 
 #. Tag: para
 #: scopescontexts.xml:161
@@ -326,7 +380,9 @@
 msgid ""
 "In the following example, a conversation-scoped Web Bean controls the "
 "conversation with which it is associated:"
-msgstr "IIm folgenden Beispiel steuert ein konversationsbegrenztes Web Bean die Konversation, mit der es assoziiert ist:"
+msgstr ""
+"IIm folgenden Beispiel steuert ein konversationsbegrenztes Web Bean die "
+"Konversation, mit der es assoziiert ist:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:164
@@ -402,8 +458,10 @@
 "<literal>Conversation</literal> API. But some other Web Beans have a "
 "lifecycle which depends completely upon another object."
 msgstr ""
-"Dieses Web Bean ist in der Lage, seinen eigenen Lebenszyklus durch Verwendung der "
-"<literal>Conversation</literal>-API zu steuern. Aber einige andere Web Beans besitzen einen Lebenszyklus, der komplett von einem anderen Objekt abhängt."
+"Dieses Web Bean ist in der Lage, seinen eigenen Lebenszyklus durch "
+"Verwendung der <literal>Conversation</literal>-API zu steuern. Aber einige "
+"andere Web Beans besitzen einen Lebenszyklus, der komplett von einem anderen "
+"Objekt abhängt."
 
 #. Tag: title
 #: scopescontexts.xml:173
@@ -419,8 +477,9 @@
 "(JSF form submission). It does not automatically propagate with non-faces "
 "requests, for example, navigation via a link."
 msgstr ""
-"Der Konversationskontext wird automatisch mit allen JSF Faces Anfragen fortgepflanzt"
-"(JSF-Formulareinreichung). Nicht-Faces Anfragen werden nicht automatisch fortgepflanzt, zum Beispiel Navigation via einem Link."
+"Der Konversationskontext wird automatisch mit allen JSF Faces Anfragen "
+"fortgepflanzt(JSF-Formulareinreichung). Nicht-Faces Anfragen werden nicht "
+"automatisch fortgepflanzt, zum Beispiel Navigation via einem Link."
 
 #. Tag: para
 #: scopescontexts.xml:179
@@ -433,10 +492,13 @@
 "conversation may be obtained from the <literal>Conversation</literal> "
 "object, which has the Web Beans name <literal>conversation</literal>."
 msgstr ""
-"Wir können die Konversation zwingen, mit einer nicht-Faces Anfrage fortzupflanzen, indem wir den eindeutigen Bezeichner der Konversation als einen Anfragenparameter mit einschließen. "
-"Die Web Beans Spezifikation reserviert den Anfragenparameter namens "
-"<literal>cid</literal> für diesen Gebrauch. Den eindeutigen Bezeichner der Konversation "
-"erhält man vom <literal>Conversation</literal>-Objekt, welches den Web Beans Namen <literal>conversation</literal> besitzt."
+"Wir können die Konversation zwingen, mit einer nicht-Faces Anfrage "
+"fortzupflanzen, indem wir den eindeutigen Bezeichner der Konversation als "
+"einen Anfragenparameter mit einschließen. Die Web Beans Spezifikation "
+"reserviert den Anfragenparameter namens <literal>cid</literal> für diesen "
+"Gebrauch. Den eindeutigen Bezeichner der Konversation erhält man vom "
+"<literal>Conversation</literal>-Objekt, welches den Web Beans Namen "
+"<literal>conversation</literal> besitzt."
 
 #. Tag: para
 #: scopescontexts.xml:186
@@ -463,7 +525,13 @@
 "very easy to implement the common POST-then-redirect pattern, without resort "
 "to fragile constructs such as a \"flash\" object. In this case, the Web Bean "
 "manager automatically adds a request parameter to the redirect URL."
-msgstr "Der Web Bean Manager muss auch Konversationen über ein Redirect fortpflanzen, selbst wenn die Konversation nicht als lange laufend gekennzeichnet ist. Dies macht die Implementierung des POST-then-redirect Musters sehr einfach, ohne dass man sich auf anfällige Konstrukte wie etwa ein \"Flash\"-Objekt stützen müsste. In tdiesem Fall fügt der Web Bean Manager automatisch einen Anfragenparameter hinzu, um die URL umzuleiten."
+msgstr ""
+"Der Web Bean Manager muss auch Konversationen über ein Redirect "
+"fortpflanzen, selbst wenn die Konversation nicht als lange laufend "
+"gekennzeichnet ist. Dies macht die Implementierung des POST-then-redirect "
+"Musters sehr einfach, ohne dass man sich auf anfällige Konstrukte wie etwa "
+"ein \"Flash\"-Objekt stützen müsste. In tdiesem Fall fügt der Web Bean "
+"Manager automatisch einen Anfragenparameter hinzu, um die URL umzuleiten."
 
 #. Tag: title
 #: scopescontexts.xml:200
@@ -478,11 +546,15 @@
 "The Web Bean manager is permitted to destroy a conversation and all state "
 "held in its context at any time in order to preserve resources. A Web Bean "
 "manager implementation will normally do this on the basis of some kind of "
-"timeout &#151; though this is not required by the Web Beans specification. The "
-"timeout is the period of inactivity before the conversation is destroyed."
+"timeout &#151; though this is not required by the Web Beans specification. "
+"The timeout is the period of inactivity before the conversation is destroyed."
 msgstr ""
-"Dem Web Bean Manager ist gestattet, eine Konversation und alle Stati innerhalb seines Kontexts zu jedem Zeitpunkt zu löschen, um Ressourcen zu schonen. Eine Implementierung des Web Bean "
-"Managers wird dies in der Regel auf der Basis einer Art von Timeout &#151; tun, obwohl dies nicht durch die Web Beans Spezifikation gefordert wird. Beim Timeout handelt es sich um den Zeitraum von Inaktivität, ehe die Konversation gelöscht wird."
+"Dem Web Bean Manager ist gestattet, eine Konversation und alle Stati "
+"innerhalb seines Kontexts zu jedem Zeitpunkt zu löschen, um Ressourcen zu "
+"schonen. Eine Implementierung des Web Bean Managers wird dies in der Regel "
+"auf der Basis einer Art von Timeout &#151; tun, obwohl dies nicht durch die "
+"Web Beans Spezifikation gefordert wird. Beim Timeout handelt es sich um den "
+"Zeitraum von Inaktivität, ehe die Konversation gelöscht wird."
 
 #. Tag: para
 #: scopescontexts.xml:208
@@ -491,7 +563,10 @@
 "The <literal>Conversation</literal> object provides a method to set the "
 "timeout. This is a hint to the Web Bean manager, which is free to ignore the "
 "setting."
-msgstr "Das <literal>Conversation</literal>-Objekt liefert eine Methode, mit der der Timeout eingestellt werden kann. Dies ist ein Tipp an den Web Bean Manager, der die Einstellung ignorieren kann."
+msgstr ""
+"Das <literal>Conversation</literal>-Objekt liefert eine Methode, mit der der "
+"Timeout eingestellt werden kann. Dies ist ein Tipp an den Web Bean Manager, "
+"der die Einstellung ignorieren kann."
 
 #. Tag: programlisting
 #: scopescontexts.xml:212
@@ -500,36 +575,41 @@
 msgstr "conversation.setTimeout(timeoutInMillis);"
 
 #. Tag: title
-#: scopescontexts.xml:219
+#: scopescontexts.xml:218
 #, no-c-format
 msgid "The dependent pseudo-scope"
 msgstr "Der abhängige Pseudo-Geltungsbereich (\"Pseudo-Scope\")"
 
 #. Tag: para
-#: scopescontexts.xml:221
+#: scopescontexts.xml:220
 #, no-c-format
 msgid ""
 "In addition to the four built-in scopes, Web Beans features the so-called "
 "<emphasis>dependent pseudo-scope</emphasis>. This is the default scope for a "
 "Web Bean which does not explicitly declare a scope type."
 msgstr ""
-"Neben den vier eingebauten Geltungsbereichen bieten Web Beans den sogenannten"
-"<emphasis>abhängigen Pseudo-Geltungsbereich</emphasis>. Dies ist der standardmäßige Geltungsbereich für ein Web Bean, das nicht expliziet einen Typ von Geltungsbereich deklariert."
+"Neben den vier eingebauten Geltungsbereichen bieten Web Beans den "
+"sogenannten<emphasis>abhängigen Pseudo-Geltungsbereich</emphasis>. Dies ist "
+"der standardmäßige Geltungsbereich für ein Web Bean, das nicht expliziet "
+"einen Typ von Geltungsbereich deklariert."
 
 #. Tag: para
-#: scopescontexts.xml:225
+#: scopescontexts.xml:224
 #, no-c-format
-msgid "For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
-msgstr "Zum Beispiel besitzt dieses Web Bean den Geltungsbereich-Typ <literal>@Dependent</literal>:"
+msgid ""
+"For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
+msgstr ""
+"Zum Beispiel besitzt dieses Web Bean den Geltungsbereich-Typ "
+"<literal>@Dependent</literal>:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:227
+#: scopescontexts.xml:226
 #, no-c-format
 msgid "<![CDATA[public class Calculator { ... }]]>"
 msgstr "<![CDATA[public class Calculator { ... }]]>"
 
 #. Tag: para
-#: scopescontexts.xml:229
+#: scopescontexts.xml:228
 #, no-c-format
 msgid ""
 "When an injection point of a Web Bean resolves to a dependent Web Bean, a "
@@ -537,36 +617,45 @@
 "Bean is instantiated. Instances of dependent Web Beans are never shared "
 "between different Web Beans or different injection points. They are "
 "<emphasis>dependent objects</emphasis> of some other Web Bean instance."
-msgstr "Wenn der Einspeisungspunkt eines Web Bean zu einem abhängigen Web Bean hin aufgelöst wird, so wird jedes Mal, wenn das erste Web Bean instantiiert wird, eine neue Instanz des abhängigen Web Beans erstellt. Instanzen abhängiger Web Beans werden nie von unterschiedlichen Web Beans oder unterschiedlichen Einspeisungspunkten geteilt. Sie sind <emphasis>abhängige Objekte</emphasis> einer anderen Web Bean Instanz."
+msgstr ""
+"Wenn der Einspeisungspunkt eines Web Bean zu einem abhängigen Web Bean hin "
+"aufgelöst wird, so wird jedes Mal, wenn das erste Web Bean instantiiert "
+"wird, eine neue Instanz des abhängigen Web Beans erstellt. Instanzen "
+"abhängiger Web Beans werden nie von unterschiedlichen Web Beans oder "
+"unterschiedlichen Einspeisungspunkten geteilt. Sie sind <emphasis>abhängige "
+"Objekte</emphasis> einer anderen Web Bean Instanz."
 
 #. Tag: para
-#: scopescontexts.xml:235
+#: scopescontexts.xml:234
 #, no-c-format
 msgid ""
 "Dependent Web Bean instances are destroyed when the instance they depend "
 "upon is destroyed."
-msgstr "Abhängige Web Bean Instanzen werden gelöscht, wenn die Instanz von der sie abhängen gelöscht wird."
+msgstr ""
+"Abhängige Web Bean Instanzen werden gelöscht, wenn die Instanz von der sie "
+"abhängen gelöscht wird."
 
 #. Tag: para
-#: scopescontexts.xml:243
+#: scopescontexts.xml:242
 #, no-c-format
 msgid ""
 "Web Beans makes it easy to obtain a dependent instance of a Java class or "
 "EJB bean, even if the class or EJB bean is already declared as a Web Bean "
 "with some other scope type."
 msgstr ""
-"Web Beans machen es einfach, eine unabhängige Instanz einer Java-Klasse oder eines "
-"EJB-Beans zu erhalten, selbst wenn die Klasse oder das EJB-Bean bereits als ein Web Bean "
-"mit einem anderen Typ von Geltungsbereich deklariert sind."
+"Web Beans machen es einfach, eine unabhängige Instanz einer Java-Klasse oder "
+"eines EJB-Beans zu erhalten, selbst wenn die Klasse oder das EJB-Bean "
+"bereits als ein Web Bean mit einem anderen Typ von Geltungsbereich "
+"deklariert sind."
 
 #. Tag: title
-#: scopescontexts.xml:248
+#: scopescontexts.xml:247
 #, no-c-format
 msgid "The <literal>@New</literal> annotation"
 msgstr "Die <literal>@New</literal>-Annotation"
 
 #. Tag: para
-#: scopescontexts.xml:250
+#: scopescontexts.xml:249
 #, no-c-format
 msgid ""
 "The built-in <literal>@New</literal> binding annotation allows "
@@ -574,16 +663,18 @@
 "injection point. Suppose we declare the following injected field:"
 msgstr ""
 "Die eingebaute <literal>@New</literal> Binding-Annotation gestattet die "
-"<emphasis>implizite</emphasis> Definition eines abhängigen Web Beans an einem Einspeisungspunkt. Nehmen wir an, wir deklarieren das folgende eingespeiste Feld:"
+"<emphasis>implizite</emphasis> Definition eines abhängigen Web Beans an "
+"einem Einspeisungspunkt. Nehmen wir an, wir deklarieren das folgende "
+"eingespeiste Feld:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:254
+#: scopescontexts.xml:253
 #, no-c-format
 msgid "<![CDATA[@New Calculator calculator;]]>"
 msgstr "<![CDATA[@New Calculator calculator;]]>"
 
 #. Tag: para
-#: scopescontexts.xml:256
+#: scopescontexts.xml:255
 #, no-c-format
 msgid ""
 "Then a Web Bean with scope <literal>@Dependent</literal>, binding type "
@@ -591,23 +682,24 @@
 "implementation class <literal>Calculator</literal> and deployment type "
 "<literal>@Standard</literal> is implicitly defined."
 msgstr ""
-"Dann wird ein Web Bean mit Geltungsbereich <literal>@Dependent</literal>, Binding-Typ "
-"<literal>@New</literal>, API-Typ <literal>Calculator</literal>, "
+"Dann wird ein Web Bean mit Geltungsbereich <literal>@Dependent</literal>, "
+"Binding-Typ <literal>@New</literal>, API-Typ <literal>Calculator</literal>, "
 "Implementierungsklasse <literal>Calculator</literal> und Deployment-Typ "
 "<literal>@Standard</literal> impliziert definiert."
 
 #. Tag: para
-#: scopescontexts.xml:261
+#: scopescontexts.xml:260
 #, no-c-format
 msgid ""
 "This is true even if <literal>Calculator</literal> is <emphasis>already</"
 "emphasis> declared with a different scope type, for example:"
 msgstr ""
 "Dies ist wahr, selbst wenn <literal>Calculator</literal> <emphasis>bereits</"
-"emphasis> mit einem anderen Typ von Geltungsbereich definiert ist, zum Beispiel:"
+"emphasis> mit einem anderen Typ von Geltungsbereich definiert ist, zum "
+"Beispiel:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:264
+#: scopescontexts.xml:263
 #, no-c-format
 msgid ""
 "<![CDATA[@ConversationScoped\n"
@@ -617,17 +709,17 @@
 "public class Calculator { ... }]]>"
 
 #. Tag: para
-#: scopescontexts.xml:266
+#: scopescontexts.xml:265
 #, no-c-format
 msgid ""
 "So the following injected attributes each get a different instance of "
 "<literal>Calculator</literal>:"
 msgstr ""
-"Die folgenden eingespeisten Attribute erhalten also jeweils eine unterschiedliche Instanz von "
-"<literal>Calculator</literal>:"
+"Die folgenden eingespeisten Attribute erhalten also jeweils eine "
+"unterschiedliche Instanz von <literal>Calculator</literal>:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:269
+#: scopescontexts.xml:268
 #, no-c-format
 msgid ""
 "<![CDATA[public class PaymentCalc {\n"
@@ -645,7 +737,7 @@
 "}]]>"
 
 #. Tag: para
-#: scopescontexts.xml:271
+#: scopescontexts.xml:270
 #, no-c-format
 msgid ""
 "The <literal>calculator</literal> field has a conversation-scoped instance "
@@ -653,14 +745,18 @@
 "literal> field has a new instance of <literal>Calculator</literal> injected, "
 "with a lifecycle that is bound to the owning <literal>PaymentCalc</literal>."
 msgstr ""
-"In das <literal>calculator</literal>-Feld wird eine konversationsbegrenzte Instanz von <literal>Calculator</literal> eingespeist. In das <literal>newCalculator</"
-"literal>-Feld wird eine neue Instanz von <literal>Calculator</literal> eingespeist, mit einem Lebenszyklus, der an den besitzenden <literal>PaymentCalc</literal> gebunden ist."
+"In das <literal>calculator</literal>-Feld wird eine konversationsbegrenzte "
+"Instanz von <literal>Calculator</literal> eingespeist. In das "
+"<literal>newCalculator</literal>-Feld wird eine neue Instanz von "
+"<literal>Calculator</literal> eingespeist, mit einem Lebenszyklus, der an "
+"den besitzenden <literal>PaymentCalc</literal> gebunden ist."
 
 #. Tag: para
-#: scopescontexts.xml:276
+#: scopescontexts.xml:275
 #, no-c-format
 msgid ""
 "This feature is particularly useful with producer methods, as we'll see in "
 "the next chapter."
-msgstr "Dieses Feature ist insbesondere im Zusammenhang mit Producer-Methoden von Nutzen, wie wir im folgenden Kapitel noch sehen werden."
-
+msgstr ""
+"Dieses Feature ist insbesondere im Zusammenhang mit Producer-Methoden von "
+"Nutzen, wie wir im folgenden Kapitel noch sehen werden."

Added: doc/trunk/reference/de-DE/viewlayers.po
===================================================================
--- doc/trunk/reference/de-DE/viewlayers.po	                        (rev 0)
+++ doc/trunk/reference/de-DE/viewlayers.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,160 @@
+# Language de-DE translations for Web_Beans:_Java_Contexts_and_Dependency_Injection package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2009-04-19 20:36+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: viewlayers.xml:4
+#, no-c-format
+msgid "Alternative view layers"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:7
+#, no-c-format
+msgid "Using Web Beans with Wicket"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:10
+#, no-c-format
+msgid "The <literal>WebApplication</literal> class"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:12
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass; Web Beans provides, for your utility, a subclass of this which "
+"sets up the Wicket/JSR-299 integration. You should subclass <literal>org."
+"jboss.webbeans.wicket.WebBeansApplication</literal>."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:21
+#, no-c-format
+msgid ""
+"If you would prefer not to subclass <literal>WebBeansApplication</literal>, "
+"you can manually add a (small!) number of overrides and listeners to your "
+"own <literal>WebApplication</literal> subclass. The javadocs of "
+"<literal>WebBeansApplication</literal>detail this."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:30
+#, no-c-format
+msgid "For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: viewlayers.xml:33
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:37
+#, no-c-format
+msgid "Conversations with Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:38
+#, no-c-format
+msgid ""
+"The conversation scope can be used in Web Beans with the Apache Wicket web "
+"framework, through the <literal>webbeans-wicket</literal> module. This "
+"module takes care of:"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:45
+#, no-c-format
+msgid ""
+"Setting up the conversation context at the beginning of a Wicket request, "
+"and tearing it down afterwards"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:51
+#, no-c-format
+msgid ""
+"Storing the id of any long-running conversation in Wicket's metadata when "
+"the page response is complete"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:57
+#, no-c-format
+msgid ""
+"Activating the correct long-running conversation based upon which page is "
+"being accessed"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:63
+#, no-c-format
+msgid ""
+"Propagating the conversation context for any long-running conversation to "
+"new pages"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:70
+#, no-c-format
+msgid "Starting and stopping conversations in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:71
+#, no-c-format
+msgid ""
+"As JSF applications, a conversation <emphasis>always</emphasis> exists for "
+"any request, but its lifetime is only that of the current request unless it "
+"is marked as <emphasis>long-running</emphasis>. For Wicket applications this "
+"is accomplished as in JSF applications, by injecting the <literal>@Current "
+"Conversation</literal> and then invoking <literal>conversation.begin()</"
+"literal>. Likewise, conversations are ended with <literal>conversation.end()"
+"</literal>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:85
+#, no-c-format
+msgid "Long running conversation propagation in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:86
+#, no-c-format
+msgid ""
+"When a conversation is marked as long-running, the id of that conversation "
+"will be stored in Wicket's metadata for the current page. If a new page is "
+"created and set as the response target through <literal>setResponsePage</"
+"literal>, this new page will also participate in this conversation. This "
+"occurs for both directly instantiated pages (<literal>setResponsePage(new "
+"OtherPage())</literal>), as well as for bookmarkable pages created with "
+"<literal>setResponsePage(OtherPage.class)</literal> where <literal>OtherPage."
+"class</literal> is mounted as bookmarkable from your "
+"<literal>WebApplication</literal> subclass (or through annotations). In the "
+"latter case, because the new page instance is not created until after a "
+"redirect, the conversation id will be propagated through a request "
+"parameter, and then stored in page metadata after the redirect."
+msgstr ""

Modified: doc/trunk/reference/es-ES/environments.po
===================================================================
--- doc/trunk/reference/es-ES/environments.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/es-ES/environments.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 "Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
 "VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-28 17:09+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -96,13 +96,15 @@
 #. Tag: title
 #: environments.xml:53
 #, no-c-format
-msgid "Tomcat (or any plain Servlet container)"
+msgid "Servlet Containers (such as Tomcat or Jetty)"
 msgstr ""
 
 #. Tag: para
 #: environments.xml:55
 #, no-c-format
-msgid "Web Beans can be used in Tomcat 6.0."
+msgid ""
+"Web Beans can be used in any Servlet container such as Tomcat 6.0 or Jetty "
+"6.1."
 msgstr ""
 
 #. Tag: para
@@ -111,17 +113,18 @@
 msgid ""
 "Web Beans doesn't support deploying session beans, injection using "
 "<literal>@EJB</literal>, or <literal>@PersistenceContext</literal> or using "
-"transactional events on Tomcat."
+"transactional events in Servlet containers."
 msgstr ""
 
 #. Tag: para
 #: environments.xml:66
 #, no-c-format
 msgid ""
-"Web Beans should be used as a web application library in Tomcat. You should "
-"place <literal>webbeans-tomcat.jar</literal> in <literal>WEB-INF/lib</"
-"literal>. <literal>webbeans-tomcat.jar</literal> is an \"uber-jar\" provided "
-"for your convenience. Instead, you could use its component jars:"
+"Web Beans should be used as a web application library in a servlet "
+"container. You should place <literal>webbeans-servlet.jar</literal> in "
+"<literal>WEB-INF/lib</literal>. <literal>webbeans-serv;et.jar</literal> is "
+"an \"uber-jar\" provided for your convenience. Instead, you could use its "
+"component jars:"
 msgstr ""
 
 #. Tag: literal
@@ -157,7 +160,7 @@
 #. Tag: literal
 #: environments.xml:102
 #, no-c-format
-msgid "webbeans-tomcat-int.jar"
+msgid "webbeans-servlet-int.jar"
 msgstr ""
 
 #. Tag: literal
@@ -176,9 +179,9 @@
 #: environments.xml:117
 #, no-c-format
 msgid ""
-"You also need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control its interaction with requests) in <literal>web."
-"xml</literal>:"
+"You also need to explicitly specify the servlet listener (used to boot Web "
+"Beans, and control its interaction with requests) in <literal>web.xml</"
+"literal>:"
 msgstr ""
 
 #. Tag: programlisting
@@ -191,8 +194,14 @@
 "</listener>]]>"
 msgstr ""
 
+#. Tag: title
+#: environments.xml:126
+#, no-c-format
+msgid "Tomcat"
+msgstr ""
+
 #. Tag: para
-#: environments.xml:125
+#: environments.xml:128
 #, no-c-format
 msgid ""
 "Tomcat has a read-only JNDI, so Web Beans can't automatically bind the "
@@ -201,7 +210,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:131
+#: environments.xml:134
 #, no-c-format
 msgid ""
 "<![CDATA[<Resource name=\"app/Manager\" \n"
@@ -212,7 +221,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:133
+#: environments.xml:136
 #, no-c-format
 msgid ""
 "and make it available to your deployment by adding this to <literal>web.xml</"
@@ -220,7 +229,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:138
+#: environments.xml:141
 #, no-c-format
 msgid ""
 "<![CDATA[<resource-env-ref>\n"
@@ -234,7 +243,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:140
+#: environments.xml:143
 #, no-c-format
 msgid ""
 "Tomcat only allows you to bind entries to <literal>java:comp/env</literal>, "
@@ -243,7 +252,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:146
+#: environments.xml:149
 #, no-c-format
 msgid ""
 "Web Beans also supports Servlet injection in Tomcat. To enable this, place "
@@ -253,7 +262,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:153
+#: environments.xml:156
 #, no-c-format
 msgid ""
 "<![CDATA[<Listener className=\"org.jboss.webbeans.environment.tomcat."
@@ -261,13 +270,13 @@
 msgstr ""
 
 #. Tag: title
-#: environments.xml:158
+#: environments.xml:163
 #, no-c-format
 msgid "Java SE"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:160
+#: environments.xml:165
 #, no-c-format
 msgid ""
 "Apart from improved integration of the Enterprise Java stack, Web Beans also "
@@ -279,7 +288,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:168
+#: environments.xml:173
 #, no-c-format
 msgid ""
 "When executing in the SE environment the following features of Web Beans are "
@@ -287,61 +296,49 @@
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:174
+#: environments.xml:179
 #, no-c-format
 msgid "Simple Web Beans (POJOs)"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:179
+#: environments.xml:184
 #, no-c-format
 msgid "Typesafe Dependency Injection"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:184
+#: environments.xml:189
 #, no-c-format
 msgid "Application and Dependent Contexts"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:189
+#: environments.xml:194
 #, no-c-format
 msgid "Binding Types"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:194
+#: environments.xml:199
 #, no-c-format
 msgid "Stereotypes"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:199
-#, no-c-format
-msgid "Decorators"
-msgstr ""
-
-#. Tag: literal
 #: environments.xml:204
 #, no-c-format
-msgid "(TODO: Interceptors ?)"
-msgstr ""
-
-#. Tag: literal
-#: environments.xml:209
-#, no-c-format
 msgid "Typesafe Event Model"
 msgstr ""
 
 #. Tag: title
-#: environments.xml:215
+#: environments.xml:210
 #, no-c-format
 msgid "Web Beans SE Module"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:217
+#: environments.xml:212
 #, no-c-format
 msgid ""
 "To make life easy for developers Web Beans provides a special module with a "
@@ -354,7 +351,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:226
+#: environments.xml:221
 #, no-c-format
 msgid ""
 "<![CDATA[@Parameters List<String> params;\n"
@@ -363,13 +360,13 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:227
+#: environments.xml:222
 #, no-c-format
 msgid "Here's an example of a simple Web Beans SE application:"
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:231
+#: environments.xml:226
 #, no-c-format
 msgid ""
 "<![CDATA[@ApplicationScoped\n"
@@ -385,20 +382,20 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:233
+#: environments.xml:228
 #, no-c-format
 msgid ""
 "Web Beans SE applications are started by running the following main method."
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:235
+#: environments.xml:230
 #, no-c-format
 msgid "<![CDATA[java org.jboss.webbeans.environments.se.StartMain <args>]]>"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:237
+#: environments.xml:232
 #, no-c-format
 msgid ""
 "If you need to do any custom initialization of the Web Beans manager, for "
@@ -408,7 +405,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:242
+#: environments.xml:237
 #, no-c-format
 msgid ""
 "<![CDATA[public class PerformSetup\n"
@@ -422,7 +419,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:246
+#: environments.xml:240
 #, no-c-format
 msgid ""
 "The command line parameters do not become available for injection until the "

Modified: doc/trunk/reference/es-ES/extensions.po
===================================================================
--- doc/trunk/reference/es-ES/extensions.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/es-ES/extensions.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -3,9 +3,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
+"VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-03-28 17:09+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-28 17:09+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -33,13 +34,68 @@
 msgstr ""
 
 #. Tag: para
-#: extensions.xml:17 extensions.xml:26
+#: extensions.xml:17
 #, no-c-format
-msgid "TODO"
+msgid ""
+"Adding logging to your application is now even easier with simple injection "
+"of a logger object into any JSR-299 bean. Simply annotate a org.jboss."
+"webbeans.log.Log type member with <emphasis>@Logger</emphasis> and an "
+"appropriate logger object will be injected into any instance of the bean."
 msgstr ""
 
-#. Tag: title
-#: extensions.xml:24
+#. Tag: programlisting
+#: extensions.xml:25
 #, no-c-format
-msgid "XSD Generator for JSR-299 XML deployment descriptors"
+msgid ""
+"<![CDATA[public class Checkout {\n"
+"    import org.jboss.webbeans.annotation.Logger;\n"
+"    import org.jboss.webbeans.log.Log;\n"
+"    \n"
+"    @Logger\n"
+"    private Log log;\n"
+"\n"
+"    void invoiceItems() {\n"
+"        ShoppingCart cart;\n"
+"        . . .\n"
+"        log.debug(\"Items invoiced for {0}\", cart);\n"
+"    }\n"
+"    \n"
+"}]]>"
 msgstr ""
+
+#. Tag: para
+#: extensions.xml:27
+#, no-c-format
+msgid ""
+"The example shows how objects can be interpolated into a message. This "
+"interpolation is done using <emphasis>java.text.MessageFormat</emphasis>, so "
+"see the JavaDoc for that class for more details. In this case, the "
+"ShoppingCart should have implemented the <emphasis>toString()</emphasis> "
+"method to produce a human readable value that is meaningful in messages. "
+"Normally, this call would have involved evaluating cart.toString() with "
+"String concatenation to produce a single String argument. Thus it was "
+"necessary to surround the call with an if-statement using the condition "
+"<emphasis>log.isDebugEnabled()</emphasis> to avoid the expensive String "
+"concatenation if the message was not actually going to be used. However, "
+"when using @Logger injected logging, the conditional test can be left out "
+"since the object arguments are not evaluated unless the message is going to "
+"be logged."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:44
+#, no-c-format
+msgid ""
+"You can add the Web Beans Logger to your project by including webbeans-"
+"logger.jar and webbeans-logging.jar to your project. Alternatively, express "
+"a dependency on the <literal>org.jboss.webbeans:webbeans-logger</literal> "
+"Maven artifact."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:51
+#, no-c-format
+msgid ""
+"If you are using Web Beans as your JSR-299 implementation, there is no need "
+"to include <literal>webbeans-logging.jar</literal> as it's already included."
+msgstr ""

Copied: doc/trunk/reference/es-ES/gettingstarted.po (from rev 2516, doc/trunk/reference/es-ES/ri.po)
===================================================================
--- doc/trunk/reference/es-ES/gettingstarted.po	                        (rev 0)
+++ doc/trunk/reference/es-ES/gettingstarted.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,2253 @@
+# translation of ri.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: ri\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2009-01-20 10:55+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
+#: gettingstarted.xml:4
+#, fuzzy, no-c-format
+msgid "Getting started with Web Beans, the Reference Implementation of JSR-299"
+msgstr "La implementación de referencia de Web Beans"
+
+#. Tag: para
+#: gettingstarted.xml:6
+#, fuzzy, no-c-format
+msgid ""
+"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
+"WebBeans\">the Seam project</ulink>. You can download the latest developer "
+"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
+"\">the downloads page</ulink>."
+msgstr ""
+"La implementación de referencia (IR) de Web Beans se desarrolla en <ulink "
+"url=\"http://seamframework.org/WebBeans\">the Seam project</ulink>. La "
+"última versión de Web Beans se puede descargar desde <ulink url=\"http://"
+"seamframework.org/Download\">the downloads page</ulink>."
+
+#. Tag: para
+#: gettingstarted.xml:13
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans comes with a two deployable example applications: "
+"<literal>webbeans-numberguess</literal>, a war example, containing only "
+"simple beans, and <literal>webbeans-translator</literal> an ear example, "
+"containing enterprise beans. There are also two variations on the "
+"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
+"and the jsf2 example, which you can use if you are running JSF2. To run the "
+"examples you'll need the following:"
+msgstr ""
+"La IR de Web Beans viene con dos ejemplos de aplicaciones de despliegue: "
+"<literal>webbeans-numberguess</literal>, un ejemplo WAR, que contiene sólo "
+"beans sencillos y un ejemplo EAR <literal>webbeans-translator</literal> que "
+"contiene beans empresariales. Para ejecutar los ejemplos necesitará lo "
+"siguiente:"
+
+#. Tag: para
+#: gettingstarted.xml:25
+#, fuzzy, no-c-format
+msgid "the latest release of Web Beans,"
+msgstr "la última versión de la IR de Web Beans,"
+
+#. Tag: para
+#: gettingstarted.xml:28
+#, fuzzy, no-c-format
+msgid "JBoss AS 5.0.1.GA, or"
+msgstr "JBoss AS 5.0.0.GA, y"
+
+#. Tag: para
+#: gettingstarted.xml:31
+#, no-c-format
+msgid "Apache Tomcat 6.0.x, and"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:34
+#, no-c-format
+msgid "Ant 1.7.0."
+msgstr "Ant 1.7.0."
+
+#. Tag: title
+#: gettingstarted.xml:39
+#, no-c-format
+msgid "Using JBoss AS 5"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:41
+#, fuzzy, no-c-format
+msgid ""
+"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
+"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
+msgstr ""
+"Actualmente, la IR de Web Beans sólo se ejecuta en JBoss Application Server "
+"5. Necesitará descargar JBoss AS 5.0.0.GA desde <ulink url=\"http://www."
+"jboss.org/jbossas/downloads/\">jboss.org</ulink>, y descomprimirlo. Por "
+"ejemplo:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:47
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.1.GA.zip]]>"
+msgstr ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.0.GA.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:49 gettingstarted.xml:170
+#, fuzzy, no-c-format
+msgid ""
+"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
+"\">seamframework.org</ulink>, and unzip it. For example"
+msgstr ""
+"Luego, descargue la IR de Web Beans desde <ulink url=\"http://seamframework."
+"org/Download\">seamframework.org</ulink>, y descomprímalo. Por ejemplo:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:55 gettingstarted.xml:176
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-$VERSION.zip]]>"
+msgstr ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-1.0.0.ALPHA1.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:58
+#, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>jboss.home</literal> "
+"property. For example:"
+msgstr ""
+"Después necesitaremos decirle a Web Beans en dónde está localizado JBoss. "
+"Editar <literal>jboss-as/build.properties</literal> y establecer la "
+"propiedad <literal>jboss.home</literal>. Por ejemplo:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:64
+#, fuzzy, no-c-format
+msgid "jboss.home=/Applications/jboss-5.0.1.GA"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: gettingstarted.xml:66
+#, fuzzy, no-c-format
+msgid ""
+"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
+"<literal>ANT_HOME</literal> environment variable set. For example:"
+msgstr ""
+"Para instalar la actualización, necesitaremos que Ant 1.7.0 esté instalado, "
+"y que la variable de entorno <literal>ANT_HOME</literal> esté configurada. "
+"Por ejemplo:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:71
+#, no-c-format
+msgid ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+msgstr ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+
+#. Tag: para
+#: gettingstarted.xml:73
+#, fuzzy, no-c-format
+msgid ""
+"Then, you can install the update. The update script will use Maven to "
+"download Web Beans automatically."
+msgstr ""
+"Luego, puede instalar la actualización. La actualización utiliza Maven para "
+"descargar automáticamente el Web Beans y EJB3."
+
+#. Tag: programlisting
+#: gettingstarted.xml:78
+#, fuzzy, no-c-format
+msgid ""
+"$ cd webbeans-$VERSION/jboss-as\n"
+"$ ant update"
+msgstr ""
+"$ cd webbeans-1.0.0.ALPHA1/jboss-as\n"
+"$ ant update"
+
+#. Tag: para
+#: gettingstarted.xml:80
+#, no-c-format
+msgid "Now, you're ready to deploy your first example!"
+msgstr "Ahora, ¡está listo para desplegar su primer ejemplo!"
+
+#. Tag: para
+#: gettingstarted.xml:85
+#, fuzzy, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for JBoss AS, "
+"these are:"
+msgstr ""
+"Los scripts creados para los ejemplos ofrecen una cantidad de objetivos, a "
+"saber:"
+
+#. Tag: para
+#: gettingstarted.xml:91
+#, no-c-format
+msgid "<literal>ant restart</literal> - deploy the example in exploded format"
+msgstr ""
+"<literal>ant restart</literal> - despliega el ejemplo en formato explotado"
+
+#. Tag: para
+#: gettingstarted.xml:97
+#, no-c-format
+msgid ""
+"<literal>ant explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+"<literal>ant explode</literal> - actualiza un ejemplo explotado, sin "
+"reiniciar el despliegue"
+
+#. Tag: para
+#: gettingstarted.xml:103
+#, no-c-format
+msgid ""
+"<literal>ant deploy</literal> - deploy the example in compressed jar format"
+msgstr ""
+"<literal>ant deploy</literal> - despliega el ejemplo en formato JAR "
+"comprimido"
+
+#. Tag: para
+#: gettingstarted.xml:108
+#, no-c-format
+msgid "<literal>ant undeploy</literal> - remove the example from the server"
+msgstr "<literal>ant undeploy</literal> - quita el ejemplo del servidor"
+
+#. Tag: para
+#: gettingstarted.xml:113
+#, no-c-format
+msgid "<literal>ant clean</literal> - clean the example"
+msgstr "<literal>ant clean</literal> - borra el ejemplo"
+
+#. Tag: para
+#: gettingstarted.xml:120
+#, no-c-format
+msgid "To deploy the numberguess example:"
+msgstr "Para desplegar el ejemplo numberguess:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:124
+#, no-c-format
+msgid ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+msgstr ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:126
+#, no-c-format
+msgid "Start JBoss AS:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:130
+#, fuzzy, no-c-format
+msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: gettingstarted.xml:133
+#, no-c-format
+msgid "If you use Windows, use the <literal>run.bat</literal>script."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:138 gettingstarted.xml:240
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
+"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
+msgstr ""
+"Espere que despliegue la aplicación, y diviértase en <ulink url=\"http://"
+"localhost:8080/webbeans-numberguess\"></ulink>!"
+
+#. Tag: para
+#: gettingstarted.xml:143
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans includes a second simple example that will translate your text "
+"into Latin. The numberguess example is a war example, and uses only simple "
+"beans; the translator example is an ear example, and includes enterprise "
+"beans, packaged in an EJB module. To try it out:"
+msgstr ""
+"La IR de Web Beans incluye un segundo ejemplo que traducirá su texto en "
+"Latín. El ejemplo numberguess es un ejemplo WAR, y sólo utiliza beans "
+"sencillos; el ejemplo de traductor es un ejemplo EAR e incluye beans "
+"empresariales, empaquetados en un módulo EJB. Para probar:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:150
+#, no-c-format
+msgid ""
+"$ cd examples/translator\n"
+"ant deploy"
+msgstr ""
+"$ cd examples/translator\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:152
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and visit <ulink url=\"http://"
+"localhost:8080/webbeans-translator\"></ulink>!"
+msgstr ""
+"Espere a que despliegue la aplicación, y ¡visite <ulink url=\"http://"
+"localhost:8080/webbeans-translator\"></ulink>!"
+
+#. Tag: title
+#: gettingstarted.xml:160
+#, no-c-format
+msgid "Using Apache Tomcat 6.0"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:162
+#, fuzzy, no-c-format
+msgid ""
+"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
+"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
+"For example:"
+msgstr ""
+"Luego, descargue la IR de Web Beans desde <ulink url=\"http://seamframework."
+"org/Download\">seamframework.org</ulink>, y descomprímalo. Por ejemplo:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:168
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
+msgstr ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.0.GA.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:178
+#, fuzzy, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
+"property. For example:"
+msgstr ""
+"Después necesitaremos decirle a Web Beans en dónde está localizado JBoss. "
+"Editar <literal>jboss-as/build.properties</literal> y establecer la "
+"propiedad <literal>jboss.home</literal>. Por ejemplo:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:184
+#, fuzzy, no-c-format
+msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: gettingstarted.xml:187
+#, fuzzy, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for Tomcat, "
+"these are:"
+msgstr ""
+"Los scripts creados para los ejemplos ofrecen una cantidad de objetivos, a "
+"saber:"
+
+#. Tag: para
+#: gettingstarted.xml:193
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
+msgstr ""
+"<literal>ant restart</literal> - despliega el ejemplo en formato explotado"
+
+#. Tag: para
+#: gettingstarted.xml:199
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+"<literal>ant explode</literal> - actualiza un ejemplo explotado, sin "
+"reiniciar el despliegue"
+
+#. Tag: para
+#: gettingstarted.xml:205
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
+"format"
+msgstr ""
+"<literal>ant deploy</literal> - despliega el ejemplo en formato JAR "
+"comprimido"
+
+#. Tag: para
+#: gettingstarted.xml:210
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
+msgstr "<literal>ant undeploy</literal> - quita el ejemplo del servidor"
+
+#. Tag: para
+#: gettingstarted.xml:215
+#, fuzzy, no-c-format
+msgid "<literal>ant tomcat.clean</literal> - clean the example"
+msgstr "<literal>ant clean</literal> - borra el ejemplo"
+
+#. Tag: para
+#: gettingstarted.xml:222
+#, fuzzy, no-c-format
+msgid "To deploy the numberguess example for tomcat:"
+msgstr "Para desplegar el ejemplo numberguess:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:226
+#, fuzzy, no-c-format
+msgid ""
+"$ cd examples/tomcat\n"
+"ant tomcat.deploy"
+msgstr ""
+"$ cd examples/translator\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:228
+#, no-c-format
+msgid "Start Tomcat:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:232
+#, fuzzy, no-c-format
+msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: gettingstarted.xml:235
+#, no-c-format
+msgid "If you use Windows, use the <literal>startup.bat</literal>script."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:248
+#, no-c-format
+msgid "Using GlassFish"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:250
+#, no-c-format
+msgid "TODO"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:254
+#, no-c-format
+msgid "The numberguess example"
+msgstr "El ejemplo numberguess"
+
+#. Tag: para
+#: gettingstarted.xml:256
+#, no-c-format
+msgid ""
+"In the numberguess application you get given 10 attempts to guess a number "
+"between 1 and 100. After each attempt, you will be told whether you are too "
+"high, or too low."
+msgstr ""
+"En la aplicación numberguess se le dan 10 intentos para adivinar un número "
+"entre 1 y 100. Después de cada intento, se le dirá si es mayor o menor a su "
+"número."
+
+#. Tag: para
+#: gettingstarted.xml:262
+#, no-c-format
+msgid ""
+"The numberguess example is comprised of a number of Web Beans, configuration "
+"files, and Facelet JSF pages, packaged as a war. Let's start with the "
+"configuration files."
+msgstr ""
+"El ejemplo de numberguess consta de una cantidad de Web Beans, archivos de "
+"configuración y páginas Facelet JSF, empaquetadas como WAR. Empecemos con "
+"los archivos de configuración."
+
+#. Tag: para
+#: gettingstarted.xml:268
+#, no-c-format
+msgid ""
+"All the configuration files for this example are located in <literal>WEB-INF/"
+"</literal>, which is stored in <literal>WebContent</literal> in the source "
+"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
+"JSF to use Facelets:"
+msgstr ""
+"Todos los archivos de configuración para este ejemplo están localizados en "
+"<literal>WEB-INF/</literal>, el cual está almacenado en <literal>WebContent</"
+"literal> en el árbol fuente. Primero, tenemos <literal>faces-config.xml</"
+"literal>, en donde le pedimos a JSF que utilice Facelets:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:276
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+msgstr ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:278
+#, no-c-format
+msgid ""
+"There is an empty <literal>web-beans.xml</literal> file, which marks this "
+"application as a Web Beans application."
+msgstr ""
+"Hay un archivo <literal>web-beans.xml</literal> vacío, el cual marca esta "
+"aplicación como una aplicación de Web Beans."
+
+#. Tag: para
+#: gettingstarted.xml:283
+#, no-c-format
+msgid "Finally there is <literal>web.xml</literal>:"
+msgstr "Por último, está <literal>web.xml</literal>:"
+
+#. Tag: section
+#: gettingstarted.xml:285
+#, fuzzy, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
+"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
+"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
+"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
+"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
+"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
+"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
+"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
+"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
+"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
+"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
+"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
+"session timeout of 10 minutes </para> </callout> </calloutlist> </"
+"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
+"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
+"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
+"id=\"template\" coords=\"8\"/> <area id=\"messages2\" coords=\"12\"/> <area "
+"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
+"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
+"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
+"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
+"dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
+"number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
+"number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game."
+"biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
+"{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
+"<para> Facelets is a templating language for JSF, here we are wrapping our "
+"page in a template which defines the header. </para> </callout> <callout "
+"arearefs=\"messages2\"> <para> There are a number of messages which can be "
+"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
+"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
+"range of numbers they can guess gets smaller - this sentance changes to make "
+"sure they know what range to guess in. </para> </callout> <callout arearefs="
+"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
+"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
+"range validator is used to make sure the user doesn't accidentally input a "
+"number outside of the range in which they can guess - if the validator "
+"wasn't here, the user might use up a guess on an out of range number. </"
+"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
+"must be a way for the user to send their guess to the server. Here we bind "
+"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
+"programlistingco>"
+msgstr ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
+"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
+"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
+"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
+"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
+"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>ejemplo de Web Beans Numberguess</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
+"servlet\"> <para> Habilitar y cargar el servlet de JSF </para> </callout> "
+"<callout arearefs=\"faces.servlet.mapping\"> <para> Configurar peticiones "
+"<literal>.jsf</literal> para páginas que van a ser manejadas por JSF </para> "
+"</callout> <callout arearefs=\"faces.default.suffix\"> <para> Decir a JSF "
+"que le estaremos dando a nuestros archivos fuente (facelets) una extensión "
+"de <literal>.jsf</literal> </para> </callout> <callout arearefs=\"session."
+"timeout\"> <para> Configurar una pausa de 10 minutos </para> </callout> </"
+"calloutlist> </programlistingco> <note> <para> Aunque este demo es un demo "
+"de JSF, puede utilizar la IR de Web Beans con cualquier marco de la red "
+"basado en Servlet. </para> </note> <para> Observemos una vista de Facelet: </"
+"para> <programlistingco> <areaspec> <area id=\"template\" coords=\"8\"/> "
+"<area id=\"messages\" coords=\"12\"/> <area id=\"instructions\" coords=\"19"
+"\"/> <area id=\"guess\" coords=\"25\"/> <area id=\"validator\" coords=\"30\"/"
+"> <area id=\"submit\" coords=\"33\"/> </areaspec> <programlisting><![CDATA[<!"
+"DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www."
+"w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Adivine un número...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
+"number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
+"number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             Estoy pensando un número entre #{game.smallest} y #{game."
+"biggest}.\n"
+"             Le quedan #{game.remainingGuesses} de intentos.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Su número: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
+"{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
+"<para> Facelets es un lenguaje de plantilla para JSF, aquí se delimita la "
+"página en una plantilla que define el encabezado. </para> </callout> "
+"<callout arearefs=\"messages\"> <para> Hay una cantidad de mensajes que "
+"pueden ser enviados al usuario, \"Mayor!\", \"Menor!\" y \"Correcto!\" </"
+"para> </callout> <callout arearefs=\"instructions\"> <para> Mientras el "
+"usuario adivina, el rango de números que puede adivinar se vuelve cada vez "
+"más pequeño-esta oración cambia para estar seguros de que el usuario sabe en "
+"qué rango debe adivinar. </para> </callout> <callout arearefs=\"guess\"> "
+"<para> Este campo de entrada está vinculado a un Web Bean, utilizando la "
+"expresión de valor. </para> </callout> <callout arearefs=\"validator\"> "
+"<para> Un rango de validador se utiliza para garantizar que el usuario por "
+"accidente no entre un número fuera del rango en el que se puede adivinar - "
+"si el validador no estuviera aquí, el usuario podría tratar de adivinar "
+"fuera del rango. </para> </callout> <callout arearefs=\"submit\"> <para> Y, "
+"obviamente, debe haber una forma para que el usuario pueda enviar el número "
+"al servidor. Aquí nos vincularnos a un método de acción en el Web Bean. </"
+"para> </callout> </calloutlist> </programlistingco>"
+
+#. Tag: para
+#: gettingstarted.xml:387
+#, no-c-format
+msgid ""
+"The example exists of 4 classes, the first two of which are binding types. "
+"First, there is the <literal>@Random</literal> binding type, used for "
+"injecting a random number:"
+msgstr ""
+"El ejemplo existe de 4 clases, las primeras dos son tipos de enlace. "
+"Primero, hay un tipo de enlace <literal>@Random</literal>, utilizado para "
+"inyectar un número aleatorio:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:393
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+msgstr ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+
+#. Tag: para
+#: gettingstarted.xml:395
+#, no-c-format
+msgid ""
+"There is also the <literal>@MaxNumber</literal> binding type, used for "
+"injecting the maximum number that can be injected:"
+msgstr ""
+"También hay un tipo de enlace <literal>@MaxNumber</literal>, utilizado para "
+"inyectar el número máximo posible:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:400
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+msgstr ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+
+#. Tag: para
+#: gettingstarted.xml:402
+#, no-c-format
+msgid ""
+"The <literal>Generator</literal> class is responsible for creating the "
+"random number, via a producer method. It also exposes the maximum possible "
+"number via a producer method:"
+msgstr ""
+"La clase <literal>Generator</literal> es responsable de crear el número "
+"aleatorio, a través de un método de productor. También expone el número "
+"máximo posible a través del método de productor:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:408
+#, no-c-format
+msgid ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System."
+"currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+msgstr ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System."
+"currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+
+#. Tag: para
+#: gettingstarted.xml:410
+#, no-c-format
+msgid ""
+"You'll notice that the <literal>Generator</literal> is application scoped; "
+"therefore we don't get a different random each time."
+msgstr ""
+"Notará que el <literal>Generador</literal> es una aplicación en ámbito por "
+"lo tanto no obtenemos un número aleatorio diferente cada vez."
+
+#. Tag: para
+#: gettingstarted.xml:415
+#, no-c-format
+msgid ""
+"The final Web Bean in the application is the session scoped <literal>Game</"
+"literal>."
+msgstr ""
+"El Web Bean final en la aplicación es la sesión en ámbito <literal>Juego</"
+"literal>."
+
+#. Tag: para
+#: gettingstarted.xml:420
+#, no-c-format
+msgid ""
+"You'll note that we've used the <literal>@Named</literal> annotation, so "
+"that we can use the bean through EL in the JSF page. Finally, we've used "
+"constructor injection to initialize the game with a random number. And of "
+"course, we need to tell the player when they've won, so we give feedback "
+"with a <literal>FacesMessage</literal>."
+msgstr ""
+"Notará que hemos utilizado la anotación <literal>@Named</literal>, para "
+"poder utilizar el bean a través de EL en la página JSF. Por último, hemos "
+"utilizado la inyección de constructor para inicializar el juego con un "
+"número aleatorio. Y, claro está, necesitamos decirle al jugador cuando haya "
+"ganado, por lo tanto le damos retroalimentación con <literal>FacesMessage</"
+"literal>."
+
+#. Tag: programlisting
+#: gettingstarted.xml:428
+#, no-c-format
+msgid ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
+"(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new "
+"AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+msgstr ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
+"(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new "
+"AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+
+#. Tag: title
+#: gettingstarted.xml:431
+#, fuzzy, no-c-format
+msgid "The numberguess example in Tomcat"
+msgstr "El ejemplo numberguess"
+
+#. Tag: para
+#: gettingstarted.xml:433
+#, no-c-format
+msgid ""
+"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
+"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
+"literal>. For your convenience we provide a single jar suitable for running "
+"Web Beans in any servlet container <literal>webbeans-servlet.jar</literal>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:442
+#, no-c-format
+msgid ""
+"Of course, you must also include JSF and EL, as well common annotations "
+"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:449
+#, no-c-format
+msgid ""
+"Secondly, we need to explicitly specify the servlet listener (used to boot "
+"Web Beans, and control it's interaction with requests) in <literal>web.xml</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:455
+#, no-c-format
+msgid ""
+"<![CDATA[<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:460
+#, fuzzy, no-c-format
+msgid "The numberguess example for Apache Wicket"
+msgstr "El ejemplo numberguess"
+
+#. Tag: para
+#: gettingstarted.xml:461
+#, no-c-format
+msgid ""
+"Whilst JSR-299 specifies integration with Java ServerFaces, Web Beans allows "
+"you to inject into Wicket components, and also allows you to use a "
+"conversation context with Wicket. In this section, we'll walk you through "
+"the Wicket version of the numberguess example."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:470
+#, no-c-format
+msgid ""
+"You may want to review the Wicket documentation at <ulink url=\"http://"
+"wicket.apache.org/\">http://wicket.apache.org/</ulink>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:476
+#, no-c-format
+msgid ""
+"Like the previous example, the Wicket WebBeans examples make use of the "
+"<literal>webbeans-servlet</literal> module. The use of the <ulink url="
+"\"http://jetty.mortbay.org/\">Jetty servlet container</ulink> is common in "
+"the Wicket community, and is chosen here as the runtime container in order "
+"to facilitate comparison between the standard Wicket examples and these "
+"examples, and also to show how the webbeans-servlet integration is not "
+"dependent upon Tomcat as the servlet container."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:487
+#, no-c-format
+msgid ""
+"These examples make use of the Eclipse IDE; instructions are also given to "
+"deploy the application from the command line."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:493
+#, no-c-format
+msgid "Creating the Eclipse project"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:495
+#, no-c-format
+msgid "To generate an Eclipse project from the example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:499
+#, no-c-format
+msgid ""
+"<![CDATA[cd examples/wicket/numberguess\n"
+"mvn eclipse:eclipse]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:501
+#, no-c-format
+msgid ""
+"Then, from eclipse, choose <emphasis>File -> Import -> General -> Existing "
+"Projects into Workspace</emphasis>, select the root directory of the "
+"numberguess example, and click finish. This will create a project in your "
+"workspace called <literal>webbeans-wicket-numberguess</literal>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:516
+#, no-c-format
+msgid "Running the example from Eclipse"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:518
+#, no-c-format
+msgid ""
+"This project follows the <literal>wicket-quickstart</literal> approach of "
+"creating an instance of Jetty in the <literal>Start</literal> class. So "
+"running the example is as simple as right-clicking on that Start class in "
+"<literal>src/test/java</literal> in the <emphasis>Package Explorer</"
+"emphasis> and choosing <emphasis>Run as Java Application</emphasis>. You "
+"should see console output related to Jetty starting up; then visit able "
+"<literal>http://localhost:8080</literal> to view the app. To debug choose "
+"<emphasis>Debug as Java Application</emphasis>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:533
+#, no-c-format
+msgid "Running the example from the command line in JBoss AS or Tomcat"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:535
+#, no-c-format
+msgid ""
+"This example can also be deployed from the command line in a (similar to the "
+"other examples). Assuming you have set up the <literal>build.properties</"
+"literal> file in the <literal>examples</literal> directory to specify the "
+"location of JBoss AS or Tomcat, as previously described, you can run "
+"<literal>ant deploy</literal> from the <literal>examples/wicket/numberguess</"
+"literal> directory, and access the application at <literal>http://"
+"localhost:8080/webbeans-numberguess-wicket</literal>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:549
+#, no-c-format
+msgid "Understanding the code"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:551
+#, no-c-format
+msgid ""
+"JSF uses Unified EL expressions to bind view layer components in JSP or "
+"Facelet views to beans, Wicket defines it's components in Java. The markup "
+"is plain html with a one-to-one mapping between html elements and the view "
+"components. All view logic, including binding of components to models and "
+"controlling the response of view actions, is handled in Java. The "
+"integration of Web Beans with Wicket takes advantage of the same binding "
+"annotations used in your business layer to provide injection into your "
+"WebPage subclass (or into other custom wicket component subclasses)."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:563
+#, no-c-format
+msgid ""
+"The code in the wicket numberguess example is very similar to the JSF-based "
+"numberguess example. The business layer is identical!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:568
+#, no-c-format
+msgid "Differences are:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:573
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass, In our case, our application class is <literal>SampleApplication</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:579
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:580
+#, no-c-format
+msgid ""
+"This class specifies which page wicket should treat as our home page, in our "
+"case, <literal>HomePage.class</literal>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:586
+#, no-c-format
+msgid ""
+"In <literal>HomePage</literal> we see typical wicket code to set up page "
+"elements. The bit that is interesting is the injection of the <literal>Game</"
+"literal> bean:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:592
+#, no-c-format
+msgid "<![CDATA[ @Current Game game;]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:594
+#, no-c-format
+msgid ""
+"The <literal>Game</literal> bean is can then be used, for example, by the "
+"code for submitting a guess:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:599
+#, no-c-format
+msgid ""
+"<![CDATA[final Component guessButton = new AjaxButton(\"GuessButton\") { \n"
+"   protected void onSubmit(AjaxRequestTarget target, Form form) {\n"
+"      if (game.check()) {]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:602
+#, no-c-format
+msgid ""
+"All injections may be serialized; actual storage of the bean is managed by "
+"JSR-299. Note that Wicket components, like the HomePage and it "
+"subcomponents, are <emphasis>not</emphasis> JSR-299 beans."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:608
+#, no-c-format
+msgid ""
+"Wicket components allow injection, but they <emphasis>cannot</emphasis> use "
+"interceptors, decorators and lifecycle callbacks such as "
+"<literal>@PostConstruct</literal> or <literal>@Initializer</literal> methods."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:618
+#, no-c-format
+msgid ""
+"The example uses AJAX for processing of button events, and dynamically hides "
+"buttons that are no longer relevant, for example when the user has won the "
+"game."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:626
+#, no-c-format
+msgid ""
+"In order to activate wicket for this webapp, the Wicket filter is added to "
+"web.xml, and our application class is specified:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:631
+#, no-c-format
+msgid ""
+"<![CDATA[<filter>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-"
+"class>\n"
+"   <init-param>\n"
+"      <param-name>applicationClassName</param-name>\n"
+"      <param-value>org.jboss.webbeans.examples.wicket.SampleApplication</"
+"param-value>\n"
+"   </init-param>\n"
+"</filter>\n"
+"\n"
+"<filter-mapping>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <url-pattern>/*</url-pattern>\n"
+"</filter-mapping>\n"
+" \n"
+"<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:632
+#, no-c-format
+msgid ""
+"Note that the servlet listener is also added, as in the Tomcat example, in "
+"order to boostrap Web Beans when Jetty starts, and to hook Web Beans into "
+"the Jetty servlet request and session lifecycles."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:645
+#, fuzzy, no-c-format
+msgid "The numberguess example for Java SE with Swing"
+msgstr "El ejemplo numberguess"
+
+#. Tag: para
+#: gettingstarted.xml:647
+#, no-c-format
+msgid ""
+"This example can be found in the <literal>examples/se/numberguess</literal> "
+"folder of the Web Beans distribution."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:654
+#, fuzzy, no-c-format
+msgid "To run this example:"
+msgstr "Ejemplo de traductor"
+
+#. Tag: para
+#: gettingstarted.xml:660
+#, no-c-format
+msgid ""
+"Open a command line/terminal window in the <literal>examples/se/numberguess</"
+"literal> directory"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:666
+#, no-c-format
+msgid "Ensure that Maven 2 is installed and in your PATH"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:671
+#, no-c-format
+msgid ""
+"Ensure that the <literal>JAVA_HOME</literal> environment variable is "
+"pointing to your JDK installation"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:677
+#, no-c-format
+msgid "execute the following command"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:680
+#, no-c-format
+msgid "mvn -Drun"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:686
+#, fuzzy, no-c-format
+msgid ""
+"There is an empty <literal>beans.xml</literal> file in the root package "
+"(<literal>src/main/resources/beans.xml</literal>), which marks this "
+"application as a Web Beans application."
+msgstr ""
+"Hay un archivo <literal>web-beans.xml</literal> vacío, el cual marca esta "
+"aplicación como una aplicación de Web Beans."
+
+#. Tag: para
+#: gettingstarted.xml:692
+#, no-c-format
+msgid ""
+"The game's main logic is located in <literal>Game.java</literal>. Here is "
+"the code for that class, highlighting the changes made from the web "
+"application version:"
+msgstr ""
+
+#. Tag: section
+#: gettingstarted.xml:696
+#, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"scope\" coords=\"1\"/> <area id="
+"\"name\" coords=\"1\"/> <area id=\"messages1\" coords=\"26\"/> <area id="
+"\"validation\" coords=\"39\"/> <area id=\"reset\" coords=\"68\"/> </"
+"areaspec> <programlisting role=\"JAVA\"><![CDATA[@ApplicationScoped\n"
+"public class Game implements Serializable\n"
+"{\n"
+"\n"
+"    private int number;\n"
+"    private int guess;\n"
+"    private int smallest;\n"
+"\n"
+"    @MaxNumber\n"
+"    private int maxNumber;\n"
+"\n"
+"    private int biggest;\n"
+"    private int remainingGuesses;\n"
+"    private boolean validNumberRange = true;\n"
+"\n"
+"    @Current Generator rndGenerator;\n"
+"\n"
+"    ...\n"
+"\n"
+"    public boolean isValidNumberRange()\n"
+"    {\n"
+"        return validNumberRange;\n"
+"    }\n"
+"\n"
+"    public boolean isGameWon()\n"
+"    {\n"
+"        return guess == number;\n"
+"    }\n"
+"\n"
+"    public boolean isGameLost()\n"
+"    {\n"
+"        return guess != number && remainingGuesses <= 0;\n"
+"    }\n"
+"\n"
+"    public boolean check()\n"
+"    {\n"
+"        boolean result = false;\n"
+"\n"
+"        if ( checkNewNumberRangeIsValid() )\n"
+"        {\n"
+"            if ( guess > number )\n"
+"            {\n"
+"                biggest = guess - 1;\n"
+"            }\n"
+"\n"
+"            if ( guess < number )\n"
+"            {\n"
+"                smallest = guess + 1;\n"
+"            }\n"
+"\n"
+"            if ( guess == number )\n"
+"            {\n"
+"                result = true;\n"
+"            }\n"
+"\n"
+"            remainingGuesses--;\n"
+"        }\n"
+"\n"
+"        return result;\n"
+"    }\n"
+"\n"
+"    private boolean checkNewNumberRangeIsValid()\n"
+"    {\n"
+"        return validNumberRange = ( ( guess >= smallest ) && ( guess <= "
+"biggest ) );\n"
+"    }\n"
+"\n"
+"    @PostConstruct\n"
+"    public void reset()\n"
+"    {\n"
+"        this.smallest = 0;\n"
+"        ...\n"
+"        this.number = rndGenerator.next();\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"scope\"> <para> The "
+"bean is application scoped instead of session scoped, since an instance of "
+"the application represents a single 'session'. </para> </callout> <callout "
+"arearefs=\"name\"> <para> The bean is not named, since it doesn't need to be "
+"accessed via EL </para> </callout> <callout arearefs=\"messages1\"> <para> "
+"There is no JSF <literal>FacesContext</literal> to add messages to. Instead "
+"the <literal>Game</literal> class provides additional information about the "
+"state of the current game including: </para> <itemizedlist> <listitem> "
+"<para> If the game has been won or lost </para> </listitem> <listitem> "
+"<para> If the most recent guess was invalid </para> </listitem> </"
+"itemizedlist> <para> This allows the Swing UI to query the state of the "
+"game, which it does indirectly via a class called <literal>MessageGenerator,"
+"</literal> in order to determine the appropriate messages to display to the "
+"user during the game. </para> </callout> <callout arearefs=\"validation\"> "
+"<para> Validation of user input is performed during the <literal>check()</"
+"literal> method, since there is no dedicated validation phase </para> </"
+"callout> <callout arearefs=\"reset\"> <para> The <literal>reset()</literal> "
+"method makes a call to the injected <literal>rndGenerator</literal> in order "
+"to get the random number at the start of each game. It cannot use "
+"<literal>manager.getInstanceByType(Integer.class, new AnnotationLiteral&lt;"
+"Random&gt;(){})</literal> as the JSF example does because there will not be "
+"any active contexts like there is during a JSF request. </para> </callout> </"
+"calloutlist> </programlistingco> <para> The <literal>MessageGenerator</"
+"literal> class depends on the current instance of <literal>Game</literal>, "
+"and queries its state in order to determine the appropriate messages to "
+"provide as the prompt for the user's next guess and the response to the "
+"previous guess. The code for <literal>MessageGenerator</literal> is as "
+"follows: </para> <programlistingco> <areaspec> <area id=\"game\" coords=\"3"
+"\"/> <area id=\"challenge\" coords=\"5\"/> <area id=\"result\" coords=\"16\"/"
+"> </areaspec> <programlisting role=\"JAVA\"><![CDATA[public class "
+"MessageGenerator\n"
+"{\n"
+"    @Current Game game;\n"
+"\n"
+"    public String getChallengeMessage()\n"
+"    {\n"
+"        StringBuilder challengeMsg = new StringBuilder( \"I'm thinking of a "
+"number between \" );\n"
+"        challengeMsg.append( game.getSmallest() );\n"
+"        challengeMsg.append( \" and \" );\n"
+"        challengeMsg.append( game.getBiggest() );\n"
+"        challengeMsg.append( \". Can you guess what it is?\" );\n"
+"\n"
+"        return challengeMsg.toString();\n"
+"    }\n"
+"\n"
+"    public String getResultMessage()\n"
+"    {\n"
+"        if ( game.isGameWon() )\n"
+"        {\n"
+"            return \"You guess it! The number was \" + game.getNumber();\n"
+"        } else if ( game.isGameLost() )\n"
+"        {\n"
+"            return \"You are fail! The number was \" + game.getNumber();\n"
+"        } else if ( ! game.isValidNumberRange() )\n"
+"        {\n"
+"            return \"Invalid number range!\";\n"
+"        } else if ( game.getRemainingGuesses() == Game.MAX_NUM_GUESSES )\n"
+"        {\n"
+"            return \"What is your first guess?\";\n"
+"        } else\n"
+"        {\n"
+"            String direction = null;\n"
+"\n"
+"            if ( game.getGuess() < game.getNumber() )\n"
+"            {\n"
+"                direction = \"Higher\";\n"
+"            } else\n"
+"            {\n"
+"                direction = \"Lower\";\n"
+"            }\n"
+"\n"
+"            return direction + \"! You have \" + game.getRemainingGuesses() "
+"+ \" guesses left.\";\n"
+"        }\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"game\"> <para> The "
+"instance of <literal>Game</literal> for the application is injected here. </"
+"para> </callout> <callout arearefs=\"challenge\"> <para> The <literal>Game</"
+"literal>'s state is interrogated to determine the appropriate challenge "
+"message. </para> </callout> <callout arearefs=\"result\"> <para> And again "
+"to determine whether to congratulate, console or encourage the user to "
+"continue. </para> </callout> </calloutlist> </programlistingco> <para> "
+"Finally we come to the <literal>NumberGuessFrame</literal> class which "
+"provides the Swing front end to our guessing game. </para> "
+"<programlistingco> <areaspec> <area id=\"gameIn\" coords=\"3\"/> <area id="
+"\"messagesIn\" coords=\"4\"/> <area id=\"start\" coords=\"6\"/> <area id="
+"\"init\" coords=\"18\"/> <area id=\"guess1\" coords=\"34\"/> <area id="
+"\"replay\" coords=\"44\"/> <area id=\"refresh\" coords=\"50\"/> </areaspec> "
+"<programlisting role=\"JAVA\"><![CDATA[public class NumberGuessFrame  "
+"extends javax.swing.JFrame\n"
+"{\n"
+"    private @Current Game game;\n"
+"    private @Current MessageGenerator msgGenerator;\n"
+"\n"
+"    public void start( @Observes @Deployed Manager manager )\n"
+"    {\n"
+"        java.awt.EventQueue.invokeLater( new Runnable()\n"
+"            {\n"
+"                public void run()\n"
+"                {\n"
+"                    initComponents();\n"
+"                    setVisible( true );\n"
+"                }\n"
+"            } );\n"
+"    }\n"
+"\n"
+"    private void initComponents() {\n"
+"\n"
+"        buttonPanel = new javax.swing.JPanel();\n"
+"        mainMsgPanel = new javax.swing.JPanel();\n"
+"        mainLabel = new javax.swing.JLabel();\n"
+"        messageLabel = new javax.swing.JLabel();\n"
+"        guessText = new javax.swing.JTextField();\n"
+"        ...\n"
+"        mainLabel.setText(msgGenerator.getChallengeMessage());\n"
+"        mainMsgPanel.add(mainLabel);\n"
+"\n"
+"        messageLabel.setText(msgGenerator.getResultMessage());\n"
+"        mainMsgPanel.add(messageLabel);\n"
+"        ...\n"
+"    }\n"
+"\n"
+"    private void guessButtonActionPerformed( java.awt.event.ActionEvent "
+"evt )\n"
+"    {\n"
+"        int guess =  Integer.parseInt(guessText.getText());\n"
+"\n"
+"        game.setGuess( guess );\n"
+"        game.check();\n"
+"        refreshUI();\n"
+"\n"
+"    }\n"
+"\n"
+"    private void replayBtnActionPerformed( java.awt.event.ActionEvent evt )\n"
+"    {\n"
+"       game.reset();\n"
+"       refreshUI();\n"
+"    }\n"
+"\n"
+"    private void refreshUI()\n"
+"    {\n"
+"        mainLabel.setText( msgGenerator.getChallengeMessage() );\n"
+"        messageLabel.setText( msgGenerator.getResultMessage() );\n"
+"        guessText.setText( \"\" );\n"
+"        guessesLeftBar.setValue( game.getRemainingGuesses() );\n"
+"        guessText.requestFocus();\n"
+"    }\n"
+"\n"
+"    // swing components\n"
+"    private javax.swing.JPanel borderPanel;\n"
+"    ...\n"
+"    private javax.swing.JButton replayBtn;\n"
+"\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"gameIn\"> <para> The "
+"injected instance of the game (logic and state). </para> </callout> <callout "
+"arearefs=\"messagesIn\"> <para> The injected message generator for UI "
+"messages. </para> </callout> <callout arearefs=\"start\"> <para> This "
+"application is started in the usual Web Beans SE way, by observing the "
+"<literal>@Deployed Manager</literal> event. </para> </callout> <callout "
+"arearefs=\"init\"> <para> This method initialises all of the Swing "
+"components. Note the use of the <literal>msgGenerator</literal>. </para> </"
+"callout> <callout arearefs=\"guess1\"> <para> "
+"<literal>guessButtonActionPerformed</literal> is called when the 'Guess' "
+"button is clicked, and it does the following: </para> <itemizedlist> "
+"<listitem> <para> Gets the guess entered by the user and sets it as the "
+"current guess in the <literal>Game</literal> </para> </listitem> <listitem> "
+"<para> Calls <literal>game.check()</literal> to validate and perform one "
+"'turn' of the game </para> </listitem> <listitem> <para> Calls "
+"<literal>refreshUI</literal>. If there were validation errors with the "
+"input, this will have been captured during <literal>game.check()</literal> "
+"and as such will be reflected in the messeges returned by "
+"<literal>MessageGenerator</literal> and subsequently presented to the user. "
+"If there are no validation errors then the user will be told to guess again "
+"(higher or lower) or that the game has ended either in a win (correct guess) "
+"or a loss (ran out of guesses). </para> </listitem> </itemizedlist> </"
+"callout> <callout arearefs=\"replay\"> <para> "
+"<literal>replayBtnActionPerformed</literal> simply calls <literal>game.reset"
+"()</literal> to start a new game and refreshes the messages in the UI. </"
+"para> </callout> <callout arearefs=\"refresh\"> <para> <literal>refreshUI</"
+"literal> uses the <literal>MessageGenerator</literal> to update the messages "
+"to the user based on the current state of the Game. </para> </callout> </"
+"calloutlist> </programlistingco>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:904
+#, no-c-format
+msgid "The translator example"
+msgstr "Ejemplo de traductor"
+
+#. Tag: para
+#: gettingstarted.xml:906
+#, no-c-format
+msgid ""
+"The translator example will take any sentences you enter, and translate them "
+"to Latin."
+msgstr ""
+"El ejemplo de traductor tomará las oraciones que entre y las traducirá en "
+"Latín."
+
+#. Tag: para
+#: gettingstarted.xml:911
+#, no-c-format
+msgid ""
+"The translator example is built as an ear, and contains EJBs. As a result, "
+"it's structure is more complex than the numberguess example."
+msgstr ""
+"El ejemplo de traductor está incorporado como un EAR, y contiene EJB. Como "
+"resultado, su estructura es más compleja que el ejemplo de Numberguess."
+
+#. Tag: para
+#: gettingstarted.xml:917
+#, no-c-format
+msgid ""
+"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
+"this structure much simpler!"
+msgstr ""
+"EJB 3.1 y Java EE 6 le permiten empaquetar EJB en un WAR, lo cual hará la "
+"estructura mucho más simple!"
+
+#. Tag: para
+#: gettingstarted.xml:923
+#, no-c-format
+msgid ""
+"First, let's take a look at the ear aggregator, which is located in "
+"<literal>webbeans-translator-ear</literal> module. Maven automatically "
+"generates the <literal>application.xml</literal> for us:"
+msgstr ""
+"Primero, demos una mirada al agregador EAR, el cual está localizado en el "
+"módulo <literal>webbeans-translator-ear</literal>. Maven genera "
+"automáticamente la <literal>application.xml</literal>:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:929
+#, no-c-format
+msgid ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+msgstr ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:931
+#, no-c-format
+msgid ""
+"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
+"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
+"translator</ulink>)."
+msgstr ""
+"Aquí establecemos la ruta de contexto, la cual nos da una url interesante "
+"(<ulink url=\"http://localhost:8080/webbeans-translator\">http://"
+"localhost:8080/webbeans-translator</ulink>)."
+
+#. Tag: para
+#: gettingstarted.xml:937
+#, no-c-format
+msgid ""
+"If you aren't using Maven to generate these files, you would need "
+"<literal>META-INF/application.xml</literal>:"
+msgstr ""
+"Si no está utilizando Maven para generar estos archivos, usted necesitaría "
+"<literal>META-INF/application.xml</literal>:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:942
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web "
+"Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+msgstr ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ejemplo Ear para la implementación de referencia de JSR 299: "
+"Web Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:945
+#, fuzzy, no-c-format
+msgid ""
+"Next, lets look at the war. Just as in the numberguess example, we have a "
+"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
+"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
+msgstr ""
+"Ahora veamos al WAR. Al igual que el ejemplo de Numberguess, tenemos un "
+"<literal>faces-config.xml</literal> (para Facelets habilitadas) y un "
+"<literal>web.xml</literal> (para habilitar a JSF) en <literal>WebContent/WEB-"
+"INF</literal>."
+
+#. Tag: para
+#: gettingstarted.xml:952
+#, no-c-format
+msgid ""
+"More intersting is the facelet used to translate text. Just as in the "
+"numberguess example we have a template, which surrounds the form (ommitted "
+"here for brevity):"
+msgstr ""
+"Más interesante aún es el facelet utilizado para traducir texto. Al igual "
+"que en el ejemplo de Numberguess tenemos una plantilla, la cual rodea el "
+"formulario (omitido aquí por razones de brevedad):"
+
+#. Tag: programlisting
+#: gettingstarted.xml:958
+#, no-c-format
+msgid ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+msgstr ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:960
+#, no-c-format
+msgid ""
+"The user can enter some text in the lefthand textarea, and hit the translate "
+"button to see the result to the right."
+msgstr ""
+"El usuario puede entrar texto en el área de texto a mano izquierda y pulsar "
+"el botón de traducir para ver el resultado a la derecha."
+
+#. Tag: para
+#: gettingstarted.xml:965
+#, no-c-format
+msgid ""
+"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
+"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
+"empty <literal>web-beans.xml</literal>, used to mark the archive as "
+"containing Web Beans."
+msgstr ""
+"Por último, veamos el módulo EJB, <literal>webbeans-translator-ejb</"
+"literal>. En <literal>src/main/resources/META-INF</literal> sólo hay un "
+"<literal>web-beans.xml</literal> vacío, utilizado para marcar el archivo "
+"como si contuviera Web Beans."
+
+#. Tag: para
+#: gettingstarted.xml:973
+#, no-c-format
+msgid ""
+"We've saved the most interesting bit to last, the code! The project has two "
+"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
+"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
+"literal> and <literal>SentenceTranslator</literal>. You should be getting "
+"quite familiar with what a Web Bean looks like by now, so we'll just "
+"highlight the most interesting bits here."
+msgstr ""
+"Hemos guardado la parte más interesante para el final, ¡el código! El "
+"proyecto tiene dos beans sencillos, <literal>SentenceParser</literal> y "
+"<literal>TextTranslator</literal> y dos beans empresariales, "
+"<literal>TranslatorControllerBean</literal> y <literal>SentenceTranslator</"
+"literal>. Por ahora, debe comenzar a familiarizarse con el aspecto de Web "
+"Bean, por lo tanto sólo destacaremos aquí las partes más interesantes."
+
+#. Tag: para
+#: gettingstarted.xml:983
+#, no-c-format
+msgid ""
+"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
+"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
+"initialization:"
+msgstr ""
+"Tanto <literal>SentenceParser</literal> como <literal>TextTranslator</"
+"literal> son beans dependientes, y <literal>TextTranslator</literal> utiliza "
+"inicialización de constructor:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:989
+#, no-c-format
+msgid ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator "
+"sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+msgstr ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator "
+"sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+
+#. Tag: para
+#: gettingstarted.xml:991
+#, no-c-format
+msgid ""
+"<literal>TextTranslator</literal> is a stateless bean (with a local business "
+"interface), where the magic happens - of course, we couldn't develop a full "
+"translator, but we gave it a good go!"
+msgstr ""
+"<literal>TextTranslator</literal> es un bean con estado (con una interfaz "
+"local de negocios), donde lo mágico sucede - claro está, que no "
+"desarrollaramos un traductor completo, ¡pero le dimos una buena luz!"
+
+#. Tag: para
+#: gettingstarted.xml:997
+#, no-c-format
+msgid ""
+"Finally, there is UI orientated controller, that collects the text from the "
+"user, and dispatches it to the translator. This is a request scoped, named, "
+"stateful session bean, which injects the translator."
+msgstr ""
+"Por último, hay un controlador orientado a UI que recoge el texto desde el "
+"usuario y lo envía al traductor. Esta es una petición en ámbito, llamada "
+"bean con estado de sesión que inyecta el traductor."
+
+#. Tag: programlisting
+#: gettingstarted.xml:1003
+#, no-c-format
+msgid ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+msgstr ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+
+#. Tag: para
+#: gettingstarted.xml:1005
+#, no-c-format
+msgid "The bean also has getters and setters for all the fields on the page."
+msgstr ""
+"El bean también tiene capturadores y configuradores para todos los campos en "
+"la página."
+
+#. Tag: para
+#: gettingstarted.xml:1009
+#, no-c-format
+msgid "As this is a stateful session bean, we have to have a remove method:"
+msgstr ""
+"Como este es un bean de sesión con estado, tenemos que tener un método de "
+"eliminación:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:1013
+#, no-c-format
+msgid ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+msgstr ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+
+#. Tag: para
+#: gettingstarted.xml:1015
+#, no-c-format
+msgid ""
+"The Web Beans manager will call the remove method for you when the bean is "
+"destroyed; in this case at the end of the request."
+msgstr ""
+"El administrador de Web Beans llamará al método de eliminación cuando el "
+"bean sea destruido, en este caso al final de la petición."
+
+#. Tag: para
+#: gettingstarted.xml:1021
+#, fuzzy, no-c-format
+msgid ""
+"That concludes our short tour of the Web Beans examples. For more on Web "
+"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
+"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
+"Development</ulink>."
+msgstr ""
+"Aquí termina nuestro corto recorrido por los ejemplos de la IR de Web Beans. "
+"Para mayor información acerca de la IR o ayuda, por favor consulte <ulink "
+"url=\"http://www.seamframework.org/WebBeans/Development\">http://www."
+"seamframework.org/WebBeans/Development</ulink>."
+
+#. Tag: para
+#: gettingstarted.xml:1027
+#, no-c-format
+msgid ""
+"We need help in all areas - bug fixing, writing new features, writing "
+"examples and translating this reference guide."
+msgstr ""
+"Necesitamos ayuda en todas las áreas - corrección de errores, escritura de "
+"nuevas funciones, escritura de ejemplos y traducción de esta guía de "
+"referencia."
+
+#, fuzzy
+#~ msgid ""
+#~ "A new deployer, <literal>webbeans.deployer</literal> is added to JBoss "
+#~ "AS. This adds supports for Web Bean archives to JBoss AS, and allows the "
+#~ "Web Beans RI to query the EJB3 container and discover which EJBs are "
+#~ "installed in your application."
+#~ msgstr ""
+#~ "Actualmente, se necesitan dos actualizaciones. Primero, se agrega el "
+#~ "nuevo desarrollador, <literal>webbeans.deployer</literal>. Así se agrega "
+#~ "soporte para los archivos de Web Bean a JBoss AS, y permite a la IR de "
+#~ "Web Beans solicitar el contenedor EJB3 y descubrir cuáles EJB están "
+#~ "instalados en su aplicación. En segundo lugar se necesita una "
+#~ "actualización de JBoss EJB3."
+
+#~ msgid ""
+#~ "As Web Beans is a new piece of software, you need to update JBoss AS to "
+#~ "run the Web Beans RI. Future versions of JBoss AS will include these "
+#~ "updates, and this step won't be necessary."
+#~ msgstr ""
+#~ "Como Web Beans es una nueva parte de software, necesitaremos actualizar "
+#~ "JBoss AS para ejecutar la IR de Web Beans. Versiones futuras de JBOSS AS "
+#~ "incluirán dichas actualizaciones, y este paso no será necesario."

Modified: doc/trunk/reference/es-ES/producermethods.po
===================================================================
--- doc/trunk/reference/es-ES/producermethods.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/es-ES/producermethods.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: producermethods\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-01-19 17:00+1000\n"
 "Last-Translator: Gladys Guerrero Lozano <gguerrer at redhat.com>\n"
 "Language-Team: Spanish <fedora-trans-es at redhat.com>\n"
@@ -44,29 +44,83 @@
 msgid "According to the spec:"
 msgstr "Según las especificaciones:"
 
-#. Tag: chapter
-#: producermethods.xml:12
+#. Tag: para
+#: producermethods.xml:16
 #, no-c-format
 msgid ""
-"<blockquote> <para>A Web Beans producer method acts as a source of objects "
-"to be injected, where:</para> <itemizedlist> <listitem> <para>the objects to "
-"be injected are not required to be instances of Web Beans,</para> </"
-"listitem> <listitem> <para>the concrete type of the objects to be injected "
-"may vary at runtime or</para> </listitem> <listitem> <para>the objects "
-"require some custom initialization that is not performed by the Web Bean "
-"constructor</para> </listitem> </itemizedlist> </blockquote> <para>For "
-"example, producer methods let us:</para> <itemizedlist> <listitem> "
-"<para>expose a JPA entity as a Web Bean,</para> </listitem> <listitem> "
-"<para>expose any JDK class as a Web Bean,</para> </listitem> <listitem> "
-"<para>define multiple Web Beans, with different scopes or initialization, "
-"for the same implementation class, or</para> </listitem> <listitem> "
-"<para>vary the implementation of an API type at runtime.</para> </listitem> "
-"</itemizedlist> <para>In particular, producer methods let us use runtime "
-"polymorphism with Web Beans. As we've seen, deployment types are a powerful "
-"solution to the problem of deployment-time polymorphism. But once the system "
-"is deployed, the Web Bean implementation is fixed. A producer method has no "
-"such limitation:</para> <programlisting role=\"JAVA\"><![CDATA"
-"[@SessionScoped\n"
+"A Web Beans producer method acts as a source of objects to be injected, "
+"where:"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:20
+#, no-c-format
+msgid ""
+"the objects to be injected are not required to be instances of Web Beans,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:23
+#, no-c-format
+msgid "the concrete type of the objects to be injected may vary at runtime or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:26
+#, no-c-format
+msgid ""
+"the objects require some custom initialization that is not performed by the "
+"Web Bean constructor"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:33
+#, fuzzy, no-c-format
+msgid "For example, producer methods let us:"
+msgstr "Ámbito de un método de productor"
+
+#. Tag: para
+#: producermethods.xml:37
+#, no-c-format
+msgid "expose a JPA entity as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:40
+#, no-c-format
+msgid "expose any JDK class as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:43
+#, no-c-format
+msgid ""
+"define multiple Web Beans, with different scopes or initialization, for the "
+"same implementation class, or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:47
+#, no-c-format
+msgid "vary the implementation of an API type at runtime."
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:51
+#, no-c-format
+msgid ""
+"In particular, producer methods let us use runtime polymorphism with Web "
+"Beans. As we've seen, deployment types are a powerful solution to the "
+"problem of deployment-time polymorphism. But once the system is deployed, "
+"the Web Bean implementation is fixed. A producer method has no such "
+"limitation:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:56
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[@SessionScoped\n"
 "public class Preferences {\n"
 "    \n"
 "    private PaymentStrategyType paymentStrategy;\n"
@@ -83,60 +137,52 @@
 "        } \n"
 "    }\n"
 "    \n"
-"}]]></programlisting> <para>Consider an injection point:</para> "
-"<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
-"paymentStrat;]]></programlisting> <para>This injection point has the same "
-"type and binding annotations as the producer method, so it resolves to the "
-"producer method using the usual Web Beans injection rules. The producer "
-"method will be called by the Web Bean manager to obtain an instance to "
-"service this injection point.</para>."
+"}]]>"
 msgstr ""
-"<blockquote> <para>Un productor de Web Beans actúa como fuente de objetos a "
-"ser inyectados, donde:</para> <itemizedlist> <listitem> <para>los objetos "
-"que van a ser inyectados no necesitan ser instancias de Web Beans,</para> </"
-"listitem> <listitem> <para>el tipo concreto de objetos a ser inyectado puede "
-"variar en tiempo de ejecución o</para> </listitem> <listitem> <para>los "
-"objetos requieren alguna especificación de inicialización que no es "
-"realizada por el constructor de Web Bean</para> </listitem> </itemizedlist> "
-"</blockquote> <para>Por ejemplo, los métodos de productor nos permiten:</"
-"para> <itemizedlist> <listitem> <para>exponer una entidad JPA como un Web "
-"Bean,</para> </listitem> <listitem> <para>exponer cualquier clase JDK como "
-"un Web Bean,</para> </listitem> <listitem> <para>definir múltiples Web "
-"Beans, con diferentes ámbitos o inicialización para la misma clase de "
-"implementación, o</para> </listitem> <listitem> <para>variar la "
-"implementación de un tipo API en tiempo de ejecución.</para> </listitem> </"
-"itemizedlist> <para>En particular, los métodos de productor nos permiten "
-"utilizar polimorfismo de tiempo de ejecución con Web Beans. Como hemos "
-"visto, los tipos de despliegue son una solución potente para el problema del "
-"polimorfismo de tiempo de despliegue. Sin embargo, una vez que el sistema es "
-"desplegado, la implementación de Web Bean es corregida. El método de "
-"productor no tiene dicha limitación:</para> <programlisting role=\"JAVA\"><!"
-"[CDATA[@SessionScoped\n"
-"public class Preferences {\n"
-"    \n"
-"    private PaymentStrategyType paymentStrategy;\n"
-"    \n"
+"<![CDATA[@Produces @Preferred @SessionScoped\n"
+"public PaymentStrategy getPaymentStrategy(CreditCardPaymentStrategy ccps,\n"
+"                                          ChequePaymentStrategy cps,\n"
+"                                          PayPalPaymentStrategy ppps) {\n"
+"    switch (paymentStrategy) {\n"
+"        case CREDIT_CARD: return ccps;\n"
+"        case CHEQUE: return cps;\n"
+"        case PAYPAL: return ppps;\n"
+"        default: return null;\n"
+"    } \n"
+"}]]>"
+
+#. Tag: para
+#: producermethods.xml:58
+#, no-c-format
+msgid "Consider an injection point:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:60
+#, fuzzy, no-c-format
+msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
+msgstr ""
+"<![CDATA[@Produces @Preferred @SessionScoped\n"
+"public PaymentStrategy getPaymentStrategy() {\n"
 "    ...\n"
-"    \n"
-"    @Produces @Preferred \n"
-"    public PaymentStrategy getPaymentStrategy() {\n"
-"        switch (paymentStrategy) {\n"
-"            case CREDIT_CARD: return new CreditCardPaymentStrategy();\n"
-"            case CHEQUE: return new ChequePaymentStrategy();\n"
-"            case PAYPAL: return new PayPalPaymentStrategy();\n"
-"            default: return null;\n"
-"        } \n"
-"    }\n"
-"    \n"
-"}]]></programlisting> <para>Consider an injection point:</para> "
-"<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
-"paymentStrat;]]></programlisting> <para>Este punto de inyección tiene el "
-"mismo tipo de anotaciones de enlace que el método de productor, por lo tanto "
-"apunta al método de productor mediante las reglas de inyección usuales de "
-"Web Beans. El método del productor será llamado por el administrador de Web "
-"Bean a fin de obtener una instancia para servir a este punto de inyección.</"
-"para>."
+"}]]>"
 
+#. Tag: para
+#: producermethods.xml:62
+#, no-c-format
+msgid ""
+"This injection point has the same type and binding annotations as the "
+"producer method, so it resolves to the producer method using the usual Web "
+"Beans injection rules. The producer method will be called by the Web Bean "
+"manager to obtain an instance to service this injection point."
+msgstr ""
+
+#. Tag: chapter
+#: producermethods.xml:65
+#, no-c-format
+msgid "<chapter>.</chapter>"
+msgstr ""
+
 #. Tag: title
 #: producermethods.xml:68
 #, no-c-format
@@ -365,13 +411,26 @@
 "contexto de sesión. El objeto dependiente no será destruido hasta que el "
 "objeto <literal>Preferencias</literal> sea destruido, al final de la sesión."
 
-#, fuzzy
-#~ msgid "For example, producer methods let us:"
-#~ msgstr "Ámbito de un método de productor"
-
-#, fuzzy
 #~ msgid ""
-#~ "<![CDATA[@SessionScoped\n"
+#~ "<blockquote> <para>A Web Beans producer method acts as a source of "
+#~ "objects to be injected, where:</para> <itemizedlist> <listitem> <para>the "
+#~ "objects to be injected are not required to be instances of Web Beans,</"
+#~ "para> </listitem> <listitem> <para>the concrete type of the objects to be "
+#~ "injected may vary at runtime or</para> </listitem> <listitem> <para>the "
+#~ "objects require some custom initialization that is not performed by the "
+#~ "Web Bean constructor</para> </listitem> </itemizedlist> </blockquote> "
+#~ "<para>For example, producer methods let us:</para> <itemizedlist> "
+#~ "<listitem> <para>expose a JPA entity as a Web Bean,</para> </listitem> "
+#~ "<listitem> <para>expose any JDK class as a Web Bean,</para> </listitem> "
+#~ "<listitem> <para>define multiple Web Beans, with different scopes or "
+#~ "initialization, for the same implementation class, or</para> </listitem> "
+#~ "<listitem> <para>vary the implementation of an API type at runtime.</"
+#~ "para> </listitem> </itemizedlist> <para>In particular, producer methods "
+#~ "let us use runtime polymorphism with Web Beans. As we've seen, deployment "
+#~ "types are a powerful solution to the problem of deployment-time "
+#~ "polymorphism. But once the system is deployed, the Web Bean "
+#~ "implementation is fixed. A producer method has no such limitation:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@SessionScoped\n"
 #~ "public class Preferences {\n"
 #~ "    \n"
 #~ "    private PaymentStrategyType paymentStrategy;\n"
@@ -388,25 +447,57 @@
 #~ "        } \n"
 #~ "    }\n"
 #~ "    \n"
-#~ "}]]>"
+#~ "}]]></programlisting> <para>Consider an injection point:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
+#~ "paymentStrat;]]></programlisting> <para>This injection point has the same "
+#~ "type and binding annotations as the producer method, so it resolves to "
+#~ "the producer method using the usual Web Beans injection rules. The "
+#~ "producer method will be called by the Web Bean manager to obtain an "
+#~ "instance to service this injection point.</para>."
 #~ msgstr ""
-#~ "<![CDATA[@Produces @Preferred @SessionScoped\n"
-#~ "public PaymentStrategy getPaymentStrategy(CreditCardPaymentStrategy "
-#~ "ccps,\n"
-#~ "                                          ChequePaymentStrategy cps,\n"
-#~ "                                          PayPalPaymentStrategy ppps) {\n"
-#~ "    switch (paymentStrategy) {\n"
-#~ "        case CREDIT_CARD: return ccps;\n"
-#~ "        case CHEQUE: return cps;\n"
-#~ "        case PAYPAL: return ppps;\n"
-#~ "        default: return null;\n"
-#~ "    } \n"
-#~ "}]]>"
-
-#, fuzzy
-#~ msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
-#~ msgstr ""
-#~ "<![CDATA[@Produces @Preferred @SessionScoped\n"
-#~ "public PaymentStrategy getPaymentStrategy() {\n"
+#~ "<blockquote> <para>Un productor de Web Beans actúa como fuente de objetos "
+#~ "a ser inyectados, donde:</para> <itemizedlist> <listitem> <para>los "
+#~ "objetos que van a ser inyectados no necesitan ser instancias de Web Beans,"
+#~ "</para> </listitem> <listitem> <para>el tipo concreto de objetos a ser "
+#~ "inyectado puede variar en tiempo de ejecución o</para> </listitem> "
+#~ "<listitem> <para>los objetos requieren alguna especificación de "
+#~ "inicialización que no es realizada por el constructor de Web Bean</para> "
+#~ "</listitem> </itemizedlist> </blockquote> <para>Por ejemplo, los métodos "
+#~ "de productor nos permiten:</para> <itemizedlist> <listitem> <para>exponer "
+#~ "una entidad JPA como un Web Bean,</para> </listitem> <listitem> "
+#~ "<para>exponer cualquier clase JDK como un Web Bean,</para> </listitem> "
+#~ "<listitem> <para>definir múltiples Web Beans, con diferentes ámbitos o "
+#~ "inicialización para la misma clase de implementación, o</para> </"
+#~ "listitem> <listitem> <para>variar la implementación de un tipo API en "
+#~ "tiempo de ejecución.</para> </listitem> </itemizedlist> <para>En "
+#~ "particular, los métodos de productor nos permiten utilizar polimorfismo "
+#~ "de tiempo de ejecución con Web Beans. Como hemos visto, los tipos de "
+#~ "despliegue son una solución potente para el problema del polimorfismo de "
+#~ "tiempo de despliegue. Sin embargo, una vez que el sistema es desplegado, "
+#~ "la implementación de Web Bean es corregida. El método de productor no "
+#~ "tiene dicha limitación:</para> <programlisting role=\"JAVA\"><![CDATA"
+#~ "[@SessionScoped\n"
+#~ "public class Preferences {\n"
+#~ "    \n"
+#~ "    private PaymentStrategyType paymentStrategy;\n"
+#~ "    \n"
 #~ "    ...\n"
-#~ "}]]>"
+#~ "    \n"
+#~ "    @Produces @Preferred \n"
+#~ "    public PaymentStrategy getPaymentStrategy() {\n"
+#~ "        switch (paymentStrategy) {\n"
+#~ "            case CREDIT_CARD: return new CreditCardPaymentStrategy();\n"
+#~ "            case CHEQUE: return new ChequePaymentStrategy();\n"
+#~ "            case PAYPAL: return new PayPalPaymentStrategy();\n"
+#~ "            default: return null;\n"
+#~ "        } \n"
+#~ "    }\n"
+#~ "    \n"
+#~ "}]]></programlisting> <para>Consider an injection point:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
+#~ "paymentStrat;]]></programlisting> <para>Este punto de inyección tiene el "
+#~ "mismo tipo de anotaciones de enlace que el método de productor, por lo "
+#~ "tanto apunta al método de productor mediante las reglas de inyección "
+#~ "usuales de Web Beans. El método del productor será llamado por el "
+#~ "administrador de Web Bean a fin de obtener una instancia para servir a "
+#~ "este punto de inyección.</para>."

Modified: doc/trunk/reference/es-ES/ri-spi.po
===================================================================
--- doc/trunk/reference/es-ES/ri-spi.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/es-ES/ri-spi.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: ri-spi\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-01-20 10:15+1000\n"
 "Last-Translator: Gladys Guerrero Lozano <gguerrer at redhat.com>\n"
 "Language-Team: Spanish <fedora-trans-es at redhat.com>\n"
@@ -18,19 +18,19 @@
 
 #. Tag: title
 #: ri-spi.xml:4
-#, no-c-format
-msgid "Integrating the Web Beans RI into other environments"
+#, fuzzy, no-c-format
+msgid "Integrating Web Beans into other environments"
 msgstr "Integración de la IR de Web Beans en otros entornos"
 
 #. Tag: para
 #: ri-spi.xml:6
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
-"Currently the Web Beans RI only runs in JBoss AS 5; integrating the RI into "
-"other EE environments (for example another application server like "
-"Glassfish), into a servlet container (like Tomcat), or with an Embedded "
-"EJB3.1 implementation is fairly easy. In this Appendix we will briefly "
-"discuss the steps needed."
+"Currently Web Beans only runs in JBoss AS 5; integrating the RI into other "
+"EE environments (for example another application server like Glassfish), "
+"into a servlet container (like Tomcat), or with an Embedded EJB3.1 "
+"implementation is fairly easy. In this Appendix we will briefly discuss the "
+"steps needed."
 msgstr ""
 "Actualmente la IR de Web Beans sólo se ejecuta en JBoss AS 5; integrando la "
 "IR dentro de otros entornos EE (por ejemplo otro servidor de aplicación como "
@@ -38,33 +38,19 @@
 "implementación incrustada EJB3.1 es bastante fácil. En este apéndice veremos "
 "brevemente los pasos requeridos."
 
-#. Tag: para
+#. Tag: title
 #: ri-spi.xml:15
-#, no-c-format
-msgid ""
-"It should be possible to run Web Beans in an SE environment, but you'll to "
-"do more work, adding your own contexts and lifecycle. The Web Beans RI "
-"currently doesn't expose lifecycle extension points, so you would have to "
-"code directly against Web Beans RI classes."
-msgstr ""
-"Debería ser posible ejecutar Web Beans en un entorno SE, pero tendría que "
-"hacer más cosas, agregar sus propios contextos y ciclo de vida. La IR de Web "
-"Beans actualmente no expone puntos de extensión del ciclo de vida, por lo "
-"tanto se tendría que codificar directamente en clases IR de Web Beans."
-
-#. Tag: title
-#: ri-spi.xml:24
-#, no-c-format
-msgid "The Web Beans RI SPI"
+#, fuzzy, no-c-format
+msgid "The Web Beans SPI"
 msgstr "SPI RI de Web Beans"
 
 #. Tag: para
-#: ri-spi.xml:26
+#: ri-spi.xml:17
 #, fuzzy, no-c-format
 msgid ""
-"The Web Beans SPI is located in <literal>webbeans-spi</literal> module, and "
-"packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, if "
-"you need to override the default behavior, others are required."
+"The Web Beans SPI is located in the <literal>webbeans-spi</literal> module, "
+"and packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, "
+"if you need to override the default behavior, others are required."
 msgstr ""
 "El SPI de Web Beans está ubicado en el módulo <literal>webbeans-ri-spi</"
 "literal>, empaquetado como <literal>webbeans-ri-spi.jar</literal>. Algunos "
@@ -72,42 +58,41 @@
 "requerirán otros."
 
 #. Tag: para
-#: ri-spi.xml:33
+#: ri-spi.xml:24
 #, no-c-format
 msgid ""
 "All interfaces in the SPI support the decorator pattern and provide a "
-"<literal>Forwarding</literal> class."
+"<literal>Forwarding</literal> class located in the <literal>helpers</"
+"literal> sub package. Additional, commonly used, utility classes, and "
+"standard implementations are also located in the <literal>helpers</literal> "
+"sub package."
 msgstr ""
-"Todas las interfaces en el patrón decorador SPI soportan y proporcionan una "
-"clase <literal>Forwarding</literal>."
 
 #. Tag: title
-#: ri-spi.xml:39
+#: ri-spi.xml:33
 #, no-c-format
 msgid "Web Bean Discovery"
 msgstr "Web Bean Discovery"
 
 #. Tag: programlisting
-#: ri-spi.xml:41
-#, no-c-format
+#: ri-spi.xml:35
+#, fuzzy, no-c-format
 msgid ""
-"<![CDATA[public interface WebBeanDiscovery {\n"
-"   /**\n"
-"    * Gets list of all classes in classpath archives with web-beans.xml "
-"files\n"
+"<![CDATA[/**\n"
+"    * Gets list of all classes in classpath archives with META-INF/beans.xml "
+"(or\n"
+"    * for WARs WEB-INF/beans.xml) files\n"
 "    * \n"
 "    * @return An iterable over the classes \n"
 "    */\n"
 "   public Iterable<Class<?>> discoverWebBeanClasses();\n"
 "   \n"
 "   /**\n"
-"    * Gets a list of all web-beans.xml files in the app classpath\n"
+"    * Gets a list of all deployment descriptors in the app classpath\n"
 "    * \n"
-"    * @return An iterable over the web-beans.xml files \n"
+"    * @return An iterable over the beans.xml files \n"
 "    */\n"
-"   public Iterable<URL> discoverWebBeansXml();\n"
-"   \n"
-"}]]>"
+"   public Iterable<URL> discoverWebBeansXml();]]>"
 msgstr ""
 "<![CDATA[public interface WebBeanDiscovery {\n"
 "   /**\n"
@@ -128,29 +113,37 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:43
-#, no-c-format
+#: ri-spi.xml:37
+#, fuzzy, no-c-format
 msgid ""
-"The discovery of Web Bean classes and <literal>web-bean.xml</literal> files "
-"is self-explanatory (the algorithm is described in Section 11.1 of the JSR-"
-"299 specification, and isn't repeated here)."
+"The discovery of Web Bean classes and <literal>beans.xml</literal> files is "
+"self-explanatory (the algorithm is described in Section 11.1 of the JSR-299 "
+"specification, and isn't repeated here)."
 msgstr ""
 "El descubirmiento de clases de Web Bean y de archivos <literal>web-bean.xml</"
 "literal> es autoexplicativo (el algoritmo está descrito en la sección 11.1 "
 "de la especificación JSR299 y no se repite aquí)."
 
 #. Tag: title
-#: ri-spi.xml:52
+#: ri-spi.xml:46
 #, no-c-format
 msgid "EJB services"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:54
+#: ri-spi.xml:49
 #, no-c-format
 msgid ""
-"The Web Beans RI also delegates EJB3 bean discovery to the container so that "
-"it doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
+"Web Beans will run without an EJB container; in this case you don't need to "
+"implement the EJB SPI."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:55
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans also delegates EJB3 bean discovery to the container so that it "
+"doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
 "literal>. For each EJB in the application an EJBDescriptor should be "
 "discovered:"
 msgstr ""
@@ -160,39 +153,13 @@
 "descubrir un EJBDescriptor:"
 
 #. Tag: programlisting
-#: ri-spi.xml:61
+#: ri-spi.xml:62
 #, fuzzy, no-c-format
 msgid ""
-"<![CDATA[public interface EjbServices\n"
+"<![CDATA[public interface EjbDescriptor<T>\n"
 "{\n"
 "   \n"
 "   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
-msgstr ""
-"<![CDATA[public interface EjbDiscovery\n"
-"{\n"
-"   public static final String PROPERTY_NAME = EjbDiscovery.class.getName();\n"
-"   \n"
-"   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();\n"
-"   \n"
-"}]]>"
-
-#. Tag: programlisting
-#: ri-spi.xml:63
-#, no-c-format
-msgid ""
-"<![CDATA[public interface EjbDescriptor<T> {\n"
-"   \n"
-"   /**\n"
 "    * Gets the EJB type\n"
 "    * \n"
 "    * @return The EJB Bean class\n"
@@ -255,10 +222,7 @@
 "    * \n"
 "    * @return The name\n"
 "    */\n"
-"   public String getEjbName();\n"
-"   \n"
-"   \n"
-"}]]>"
+"   public String getEjbName();]]>"
 msgstr ""
 "<![CDATA[public interface EjbDescriptor<T> {\n"
 "   \n"
@@ -331,7 +295,7 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:65
+#: ri-spi.xml:64
 #, no-c-format
 msgid ""
 "The <literal>EjbDescriptor</literal> is fairly self-explanatory, and should "
@@ -349,17 +313,32 @@
 "jndi a la búsqueda de una instancia del EJB)."
 
 #. Tag: para
-#: ri-spi.xml:74
+#: ri-spi.xml:73
 #, no-c-format
 msgid ""
-"The resolution of <literal>@EJB</literal> and <literal>@Resource</literal> "
-"is delegated to the container. You must provide an implementation of "
-"<literal>org.jboss.webbeans.ejb.spi.EjbServices</literal> which provides "
-"these operations. Web Beans passes in the <literal>javax.inject.manager."
-"InjectionPoint</literal> the resolution is for, as well as the "
-"<literal>NamingContext</literal> in use for each resolution request."
+"The resolution of <literal>@EJB</literal> (for injection into simple beans), "
+"the resolution of local EJBs (for backing session beans) and remote EJBs "
+"(for injection as a Java EE resource) is delegated to the container. You "
+"must provide an implementation of <literal>org.jboss.webbeans.ejb.spi."
+"EjbServices</literal> which provides these operations. For resolving the "
+"<literal>@EJB</literal> injection point, Web Beans will provide the "
+"<literal>InjectionPoint</literal>; for resolving local EJBs, the "
+"<literal>EjbDescriptor</literal> will be provided, and for remote EJBs the "
+"<literal>jndiName</literal>, <literal>mappedName</literal>, or "
+"<literal>ejbLink</literal> will be provided."
 msgstr ""
 
+#. Tag: para
+#: ri-spi.xml:87
+#, no-c-format
+msgid ""
+"When resolving local EJBs (used to back session beans) a wrapper "
+"(<literal>SessionObjectReference</literal>) around the EJB reference is "
+"returned. This wrapper allows Web Beans to request a reference that "
+"implements the given business interface, and, in the case of SFSBs, request "
+"the removal of the EJB from the container."
+msgstr ""
+
 #. Tag: title
 #: ri-spi.xml:98
 #, no-c-format
@@ -370,35 +349,59 @@
 #: ri-spi.xml:100
 #, no-c-format
 msgid ""
-"Just as resolution of <literal>@EJB</literal> is delegated to the container, "
-"so is resolution of <literal>@PersistenceContext</literal>."
+"Just as EJB resolution is delegated to the container, resolution of "
+"<literal>@PersistenceContext</literal> for injection into simple beans (with "
+"the <literal>InjectionPoint</literal> provided), and resolution of "
+"persistence contexts and persistence units (with the <literal>unitName</"
+"literal> provided) for injection as a Java EE resource is delegated to the "
+"container."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:106
+#: ri-spi.xml:109
 #, no-c-format
 msgid ""
-"OPEN ISSUE: Web Beans also requires the container to provide a list of "
-"entities in the deployment, so that they aren't discovered as simple beans."
+"To allow JPA integration, the <literal>JpaServices</literal> interface "
+"should be implemented."
 msgstr ""
 
-#. Tag: title
+#. Tag: para
 #: ri-spi.xml:114
 #, no-c-format
+msgid ""
+"Web Beans also needs to know what entities are in a deployment (so that they "
+"aren't managed by Web Beans). An implementation that detects entities "
+"through <literal>@Entity</literal> and <literal>orm.xml</literal> is "
+"provided by default. If you want to provide support for a entities defined "
+"by a JPA provider (such as Hibernate's <literal>.hbm.xml</literal> you can "
+"wrap or replace the default implementation."
+msgstr ""
+
+#. Tag: programlisting
+#: ri-spi.xml:124
+#, no-c-format
+msgid ""
+"<![CDATA[EntityDiscovery delegate = bootstrap.getServices().get"
+"(EntityDiscovery.class);]]>"
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:129
+#, no-c-format
 msgid "Transaction Services"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:116
+#: ri-spi.xml:131
 #, no-c-format
 msgid ""
-"The Web Beans RI must delegate JTA activities to the container. The SPI "
-"provides a couple hooks to easily achieve this with the "
-"<literal>TransactionServices</literal> interface."
+"Web Beans must delegate JTA activities to the container. The SPI provides a "
+"couple hooks to easily achieve this with the <literal>TransactionServices</"
+"literal> interface."
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:122
+#: ri-spi.xml:137
 #, no-c-format
 msgid ""
 "<![CDATA[public interface TransactionServices\n"
@@ -434,7 +437,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:124
+#: ri-spi.xml:139
 #, no-c-format
 msgid ""
 "The enumeration <literal>Status</literal> is a convenience for implementors "
@@ -444,7 +447,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:131
+#: ri-spi.xml:147
 #, no-c-format
 msgid ""
 "Any <literal>javax.transaction.Synchronization</literal> implementation may "
@@ -454,7 +457,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:138
+#: ri-spi.xml:155
 #, no-c-format
 msgid ""
 "To make it easier to determine whether or not a transaction is currently "
@@ -464,30 +467,99 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:147
+#: ri-spi.xml:165
 #, no-c-format
+msgid "JMS services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:167
+#, no-c-format
+msgid ""
+"A number of JMS operations are not container specific, and so should be "
+"provided via the SPI <literal>JmsServices</literal>. JMS does not specify "
+"how to obtain a <literal>ConnectionFactory</literal> so the SPI provides a "
+"method which should be used to look up a factory. Web Beans also delegates "
+"<literal>Destination</literal> lookup to the container via the SPI."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:178
+#, fuzzy, no-c-format
+msgid "Resource Services"
+msgstr "Carga de recurso"
+
+#. Tag: para
+#: ri-spi.xml:180
+#, no-c-format
+msgid ""
+"The resolution of <literal>@Resource</literal> (for injection into simple "
+"beans) and the resolution of resources (for injection as a Java EE resource) "
+"is delegated to the container. You must provide an implementation of "
+"<literal>ResourceServices</literal> which provides these operations. For "
+"resolving the <literal>@Resource</literal> injection, Web Beans will provide "
+"the <literal>InjectionPoint</literal>; and for Java EE resources, the "
+"<literal>jndiName</literal> or <literal>mappedName</literal> will be "
+"provided."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:194
+#, no-c-format
+msgid "Web Services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:196
+#, no-c-format
+msgid ""
+"The resolution of web service references (for injection as a Java EE "
+"resource) is delegated to the container. You must provide an implementation "
+"of <literal>WebServices</literal> whichprovides this operation. For "
+"resolving the Java EE resource, the <literal>jndiName</literal> or "
+"<literal>mappedName</literal> will be provided."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:207
+#, no-c-format
+msgid "The bean store"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:209
+#, no-c-format
+msgid ""
+"Web Beans uses a map like structure to store bean instances - <literal>org."
+"jboss.webbeans.context.api.BeanStore</literal>. You may find <literal>org."
+"jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore</literal> "
+"useful."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:219
+#, no-c-format
 msgid "The application context"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:149
+#: ri-spi.xml:221
 #, no-c-format
 msgid ""
 "Web Beans expects the Application Server or other container to provide the "
 "storage for each application's context. The <literal>org.jboss.webbeans."
 "context.api.BeanStore</literal> should be implemented to provide an "
-"application scoped storage. You may find <literal>org.jboss.webbeans.context."
-"api.helpers.ConcurrentHashMapBeanStore</literal> useful."
+"application scoped storage."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:162
+#: ri-spi.xml:231
 #, no-c-format
 msgid "Bootstrap and shutdown"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:163
+#: ri-spi.xml:232
 #, no-c-format
 msgid ""
 "The <literal>org.jboss.webbeans.bootstrap.api.Bootstrap</literal> interface "
@@ -498,7 +570,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:172
+#: ri-spi.xml:241
 #, no-c-format
 msgid ""
 "The bootstrap is split into phases, bootstrap initialization and boot and "
@@ -509,20 +581,32 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:180
+#: ri-spi.xml:249
 #, no-c-format
 msgid ""
-"The bootstrap supports multiple environments. Different environments require "
-"different services to be present (for example servlet doesn't require "
-"transaction, EJB or JPA services). By default an EE environment is assumed, "
-"but you can adjust the environment by calling <literal>bootstrap."
-"setEnvironment()</literal>."
+"The bootstrap supports multiple environments. An environment is defined by "
+"an implementation of the <literal>Environment</literal> interface. A number "
+"of standard envrionments are built in as the enumeration "
+"<literal>Environments</literal>. Different environments require different "
+"services to be present (for example servlet doesn't require transaction, EJB "
+"or JPA services). By default an EE environment is assumed, but you can "
+"adjust the environment by calling <literal>bootstrap.setEnvironment()</"
+"literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:188
+#: ri-spi.xml:260
 #, no-c-format
 msgid ""
+"Web Beans uses a generic-typed service registry to allow services to be "
+"registered. All services implement the <literal>Service</literal> interface. "
+"The service registry allows services to be added and retrieved."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:267
+#, no-c-format
+msgid ""
 "To initialize the bootstrap you call <literal>Bootstrap.initialize()</"
 "literal>. Before calling <literal>initialize()</literal>, you must register "
 "any services required by your environment. You can do this by calling "
@@ -531,7 +615,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:197
+#: ri-spi.xml:276
 #, no-c-format
 msgid ""
 "Having called <literal>initialize()</literal>, the <literal>Manager</"
@@ -540,102 +624,57 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:203
+#: ri-spi.xml:282
 #, no-c-format
 msgid "To boot the container you call <literal>Bootstrap.boot()</literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:207
+#: ri-spi.xml:286
 #, no-c-format
 msgid ""
-"To shutdown the container you call <literal>Bootstrap.shutdown()</literal>. "
-"This allows the container to perform any cleanup operations needed."
+"To shutdown the container you call <literal>Bootstrap.shutdown()</literal> "
+"or <literal>webBeansManager.shutdown()</literal>. This allows the container "
+"to perform any cleanup operations needed."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:216
+#: ri-spi.xml:296
 #, no-c-format
 msgid "JNDI"
 msgstr "JNDI"
 
 #. Tag: para
-#: ri-spi.xml:218
-#, fuzzy, no-c-format
+#: ri-spi.xml:298
+#, no-c-format
 msgid ""
-"The Web Beans RI implements JNDI binding and lookup according to standards, "
-"however you may want to alter the binding and lookup (for example in an "
-"environment where JNDI isn't available). To do this, implement <literal>org."
-"jboss.webbeans.resources.spi.NamingContext</literal>:"
+"Web Beans delegates all JNDI operations to the container through the SPI."
 msgstr ""
-"La IR de Web Beans implementa el enlace JNDI y la búsqueda según los "
-"estándares, sin embargo si desea puede alterar el enlace y la búsqueda (Por "
-"ejemplo en un entorno donde JNDI no está disponible). Para este fin, "
-"implemente <literal>org.jboss.webbeans.spi.resources.NamingContext</literal>:"
 
-#. Tag: programlisting
-#: ri-spi.xml:226
+#. Tag: para
+#: ri-spi.xml:304
 #, no-c-format
 msgid ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
+"A number of the SPI interface require JNDI lookup, and the class "
+"<literal>AbstractResourceServices</literal> provides JNDI/Java EE spec "
+"compliant lookup methods."
 msgstr ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
 
 #. Tag: title
-#: ri-spi.xml:231
+#: ri-spi.xml:315
 #, no-c-format
 msgid "Resource loading"
 msgstr "Carga de recurso"
 
 #. Tag: para
-#: ri-spi.xml:233
-#, no-c-format
+#: ri-spi.xml:317
+#, fuzzy, no-c-format
 msgid ""
-"The Web Beans RI needs to load classes and resources from the classpath at "
-"various times. By default, they are loaded from the same classloader that "
-"was used to load the RI, however this may not be correct for some "
-"environments. If this is case, you can implement <literal>org.jboss.webbeans."
-"spi.ResourceLoader</literal>:"
+"Web Beans needs to load classes and resources from the classpath at various "
+"times. By default, they are loaded from the Thread Context ClassLoader if "
+"available, if not the same classloader that was used to load Web Beans, "
+"however this may not be correct for some environments. If this is case, you "
+"can implement <literal>org.jboss.webbeans.spi.ResourceLoader</literal>:"
 msgstr ""
 "La IR de Web Beans necesita cargar clases y recursos desde el classpath en "
 "varios momentos. Por defecto, se cargan desde el mismo classloader utilizado "
@@ -644,7 +683,7 @@
 "ResourceLoader</literal>:"
 
 #. Tag: programlisting
-#: ri-spi.xml:241
+#: ri-spi.xml:326
 #, no-c-format
 msgid ""
 "<![CDATA[\n"
@@ -708,13 +747,13 @@
 "         ]]>"
 
 #. Tag: title
-#: ri-spi.xml:246
+#: ri-spi.xml:331
 #, fuzzy, no-c-format
 msgid "Servlet injection"
 msgstr "Oyente de Servlet"
 
 #. Tag: para
-#: ri-spi.xml:248
+#: ri-spi.xml:333
 #, no-c-format
 msgid ""
 "Java EE / Servlet does not provide any hooks which can be used to provide "
@@ -723,7 +762,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:254
+#: ri-spi.xml:339
 #, no-c-format
 msgid ""
 "To be compliant with JSR-299, the container should request servlet injection "
@@ -732,7 +771,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:260
+#: ri-spi.xml:345
 #, no-c-format
 msgid ""
 "To perform injection on a servlet call <literal>WebBeansManager.injectServlet"
@@ -741,13 +780,13 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:271
+#: ri-spi.xml:356
 #, no-c-format
 msgid "The contract with the container"
 msgstr "El contrato con el contenedor"
 
 #. Tag: para
-#: ri-spi.xml:273
+#: ri-spi.xml:358
 #, no-c-format
 msgid ""
 "There are a number of requirements that the Web Beans RI places on the "
@@ -758,13 +797,13 @@
 "API."
 
 #. Tag: term
-#: ri-spi.xml:281
+#: ri-spi.xml:366
 #, no-c-format
 msgid "Classloader isolation"
 msgstr "Aislamiento de classloader"
 
 #. Tag: para
-#: ri-spi.xml:285
+#: ri-spi.xml:370
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans RI into an environment that supports "
@@ -778,13 +817,13 @@
 "través de la configuración del usuario."
 
 #. Tag: term
-#: ri-spi.xml:294
-#, fuzzy, no-c-format
-msgid "Servlet listener and filters"
-msgstr "Oyente de Servlet"
+#: ri-spi.xml:379
+#, no-c-format
+msgid "Servlet"
+msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:298
+#: ri-spi.xml:383
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a Servlet environment you must "
@@ -797,11 +836,32 @@
 "como oyente de Servlet, ya sea automáticamente o a través de la "
 "configuración de usuario, para cada aplicación Web Beans que utiliza Servlet."
 
+#. Tag: term
+#: ri-spi.xml:394
+#, no-c-format
+msgid "<term>JSF</term>"
+msgstr ""
+
 #. Tag: para
-#: ri-spi.xml:307
+#: ri-spi.xml:399
 #, fuzzy, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a JSF environment you must "
+"register <literal>org.jboss.webbeans.jsf.WebBeansPhaseListener</literal> as "
+"a phase listener, and <literal>org.jboss.webbeans.el.WebBeansELREsolver</"
+"literal> as an EL resolver, either automatically, or through user "
+"configuration, for each Web Beans application which uses JSF."
+msgstr ""
+"Si usted está integrando el Web Beans en un entorno de Servlet debe "
+"registrar <literal>org.jboss.webbeans.servlet.WebBeansListener</literal> "
+"como oyente de Servlet, ya sea automáticamente o a través de la "
+"configuración de usuario, para cada aplicación Web Beans que utiliza Servlet."
+
+#. Tag: para
+#: ri-spi.xml:410
+#, fuzzy, no-c-format
+msgid ""
+"If you are integrating the Web Beans into a JSF environment you must "
 "register <literal>org.jboss.webbeans.servlet.ConversationPropagationFilter</"
 "literal> as a Servlet listener, either automatically, or through user "
 "configuration, for each Web Beans application which uses JSF. This filter "
@@ -812,14 +872,20 @@
 "como oyente de Servlet, ya sea automáticamente o a través de la "
 "configuración de usuario, para cada aplicación Web Beans que utiliza Servlet."
 
+#. Tag: para
+#: ri-spi.xml:421
+#, no-c-format
+msgid "Web Beans only supports JSF 1.2 and above."
+msgstr ""
+
 #. Tag: term
-#: ri-spi.xml:319
+#: ri-spi.xml:428
 #, no-c-format
 msgid "Session Bean Interceptor"
 msgstr "Intercepción de sesión de Bean"
 
 #. Tag: para
-#: ri-spi.xml:323
+#: ri-spi.xml:432
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an EJB environment you must "
@@ -835,7 +901,7 @@
 "Beans empresariales."
 
 #. Tag: para
-#: ri-spi.xml:333
+#: ri-spi.xml:442
 #, no-c-format
 msgid ""
 "You must register the <literal>SessionBeanInterceptor</literal> as the inner "
@@ -843,13 +909,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:341
+#: ri-spi.xml:450
 #, fuzzy, no-c-format
 msgid "The <literal>webbeans-core.jar</literal>"
 msgstr "El <literal>webbeans-ri.jar</literal>"
 
 #. Tag: para
-#: ri-spi.xml:345
+#: ri-spi.xml:454
 #, fuzzy, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an environment that supports "
@@ -862,6 +928,131 @@
 "de las aplicaciones del classloader aislado. No se puede cargar desde el "
 "classloader compartido."
 
+#. Tag: term
+#: ri-spi.xml:464
+#, no-c-format
+msgid "Binding the manager in JNDI"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:468
+#, no-c-format
+msgid ""
+"You should bind a <literal>Reference</literal> to the Manager "
+"<literal>ObjectFactory</literal> into JNDI at <literal>java:app/Manager</"
+"literal>. The type should be <literal>javax.inject.manager.Manager</literal> "
+"and the factory class is <literal>org.jboss.webbeans.resources."
+"ManagerObjectFactory</literal>"
+msgstr ""
+
+#~ msgid ""
+#~ "It should be possible to run Web Beans in an SE environment, but you'll "
+#~ "to do more work, adding your own contexts and lifecycle. The Web Beans RI "
+#~ "currently doesn't expose lifecycle extension points, so you would have to "
+#~ "code directly against Web Beans RI classes."
+#~ msgstr ""
+#~ "Debería ser posible ejecutar Web Beans en un entorno SE, pero tendría que "
+#~ "hacer más cosas, agregar sus propios contextos y ciclo de vida. La IR de "
+#~ "Web Beans actualmente no expone puntos de extensión del ciclo de vida, "
+#~ "por lo tanto se tendría que codificar directamente en clases IR de Web "
+#~ "Beans."
+
+#~ msgid ""
+#~ "All interfaces in the SPI support the decorator pattern and provide a "
+#~ "<literal>Forwarding</literal> class."
+#~ msgstr ""
+#~ "Todas las interfaces en el patrón decorador SPI soportan y proporcionan "
+#~ "una clase <literal>Forwarding</literal>."
+
+#, fuzzy
+#~ msgid ""
+#~ "<![CDATA[public interface EjbServices\n"
+#~ "{\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Gets a descriptor for each EJB in the application\n"
+#~ "    * \n"
+#~ "    * @return The bean class to descriptor map \n"
+#~ "    */\n"
+#~ "   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
+#~ msgstr ""
+#~ "<![CDATA[public interface EjbDiscovery\n"
+#~ "{\n"
+#~ "   public static final String PROPERTY_NAME = EjbDiscovery.class.getName"
+#~ "();\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Gets a descriptor for each EJB in the application\n"
+#~ "    * \n"
+#~ "    * @return The bean class to descriptor map \n"
+#~ "    */\n"
+#~ "   public Iterable<EjbDescriptor<?>> discoverEjbs();\n"
+#~ "   \n"
+#~ "}]]>"
+
+#, fuzzy
+#~ msgid ""
+#~ "The Web Beans RI implements JNDI binding and lookup according to "
+#~ "standards, however you may want to alter the binding and lookup (for "
+#~ "example in an environment where JNDI isn't available). To do this, "
+#~ "implement <literal>org.jboss.webbeans.resources.spi.NamingContext</"
+#~ "literal>:"
+#~ msgstr ""
+#~ "La IR de Web Beans implementa el enlace JNDI y la búsqueda según los "
+#~ "estándares, sin embargo si desea puede alterar el enlace y la búsqueda "
+#~ "(Por ejemplo en un entorno donde JNDI no está disponible). Para este fin, "
+#~ "implemente <literal>org.jboss.webbeans.spi.resources.NamingContext</"
+#~ "literal>:"
+
+#~ msgid ""
+#~ "<![CDATA[public interface NamingContext extends Serializable {\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Typed JNDI lookup\n"
+#~ "    * \n"
+#~ "    * @param <T> The type\n"
+#~ "    * @param name The JNDI name\n"
+#~ "    * @param expectedType The expected type\n"
+#~ "    * @return The object\n"
+#~ "    */\n"
+#~ "   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
+#~ "\n"
+#~ "   /**\n"
+#~ "    * Binds an item to JNDI\n"
+#~ "    * \n"
+#~ "    * @param name The key to bind under\n"
+#~ "    * @param value The item to bind\n"
+#~ "    */\n"
+#~ "   public void bind(String name, Object value);\n"
+#~ "   \n"
+#~ "}]]>"
+#~ msgstr ""
+#~ "<![CDATA[public interface NamingContext extends Serializable {\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Typed JNDI lookup\n"
+#~ "    * \n"
+#~ "    * @param <T> The type\n"
+#~ "    * @param name The JNDI name\n"
+#~ "    * @param expectedType The expected type\n"
+#~ "    * @return The object\n"
+#~ "    */\n"
+#~ "   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
+#~ "\n"
+#~ "   /**\n"
+#~ "    * Binds an item to JNDI\n"
+#~ "    * \n"
+#~ "    * @param name The key to bind under\n"
+#~ "    * @param value The item to bind\n"
+#~ "    */\n"
+#~ "   public void bind(String name, Object value);\n"
+#~ "   \n"
+#~ "}]]>"
+
+#, fuzzy
+#~ msgid "Servlet listener and filters"
+#~ msgstr "Oyente de Servlet"
+
 #~ msgid "EJB Discovery"
 #~ msgstr "EJB Discovery"
 

Deleted: doc/trunk/reference/es-ES/ri.po
===================================================================
--- doc/trunk/reference/es-ES/ri.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/es-ES/ri.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -1,1634 +0,0 @@
-# translation of ri.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: ri\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
-"PO-Revision-Date: 2009-01-20 10:55+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
-#: ri.xml:4
-#, fuzzy, no-c-format
-msgid "Web Beans, the Reference Implementation of JSR-299"
-msgstr "La implementación de referencia de Web Beans"
-
-#. Tag: para
-#: ri.xml:6
-#, fuzzy, no-c-format
-msgid ""
-"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
-"WebBeans\">the Seam project</ulink>. You can download the latest developer "
-"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
-"\">the downloads page</ulink>."
-msgstr ""
-"La implementación de referencia (IR) de Web Beans se desarrolla en <ulink "
-"url=\"http://seamframework.org/WebBeans\">the Seam project</ulink>. La "
-"última versión de Web Beans se puede descargar desde <ulink url=\"http://"
-"seamframework.org/Download\">the downloads page</ulink>."
-
-#. Tag: para
-#: ri.xml:13
-#, fuzzy, no-c-format
-msgid ""
-"Web Beans comes with a two deployable example applications: "
-"<literal>webbeans-numberguess</literal>, a war example, containing only "
-"simple beans, and <literal>webbeans-translator</literal> an ear example, "
-"containing enterprise beans. There are also two variations on the "
-"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
-"and the jsf2 example, which you can use if you are running JSF2. To run the "
-"examples you'll need the following:"
-msgstr ""
-"La IR de Web Beans viene con dos ejemplos de aplicaciones de despliegue: "
-"<literal>webbeans-numberguess</literal>, un ejemplo WAR, que contiene sólo "
-"beans sencillos y un ejemplo EAR <literal>webbeans-translator</literal> que "
-"contiene beans empresariales. Para ejecutar los ejemplos necesitará lo "
-"siguiente:"
-
-#. Tag: para
-#: ri.xml:25
-#, fuzzy, no-c-format
-msgid "the latest release of Web Beans,"
-msgstr "la última versión de la IR de Web Beans,"
-
-#. Tag: para
-#: ri.xml:28
-#, fuzzy, no-c-format
-msgid "JBoss AS 5.0.1.GA, or"
-msgstr "JBoss AS 5.0.0.GA, y"
-
-#. Tag: para
-#: ri.xml:31
-#, no-c-format
-msgid "Apache Tomcat 6.0.x, and"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:34
-#, no-c-format
-msgid "Ant 1.7.0."
-msgstr "Ant 1.7.0."
-
-#. Tag: title
-#: ri.xml:39
-#, no-c-format
-msgid "Using JBoss AS 5"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:41
-#, fuzzy, no-c-format
-msgid ""
-"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
-"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
-msgstr ""
-"Actualmente, la IR de Web Beans sólo se ejecuta en JBoss Application Server "
-"5. Necesitará descargar JBoss AS 5.0.0.GA desde <ulink url=\"http://www."
-"jboss.org/jbossas/downloads/\">jboss.org</ulink>, y descomprimirlo. Por "
-"ejemplo:"
-
-#. Tag: programlisting
-#: ri.xml:47
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.1.GA.zip]]>"
-msgstr ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.0.GA.zip]]>"
-
-#. Tag: para
-#: ri.xml:49 ri.xml:170
-#, fuzzy, no-c-format
-msgid ""
-"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
-"\">seamframework.org</ulink>, and unzip it. For example"
-msgstr ""
-"Luego, descargue la IR de Web Beans desde <ulink url=\"http://seamframework."
-"org/Download\">seamframework.org</ulink>, y descomprímalo. Por ejemplo:"
-
-#. Tag: programlisting
-#: ri.xml:55 ri.xml:176
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-$VERSION.zip]]>"
-msgstr ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-1.0.0.ALPHA1.zip]]>"
-
-#. Tag: para
-#: ri.xml:58
-#, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>jboss.home</literal> "
-"property. For example:"
-msgstr ""
-"Después necesitaremos decirle a Web Beans en dónde está localizado JBoss. "
-"Editar <literal>jboss-as/build.properties</literal> y establecer la "
-"propiedad <literal>jboss.home</literal>. Por ejemplo:"
-
-#. Tag: programlisting
-#: ri.xml:64
-#, fuzzy, no-c-format
-msgid "jboss.home=/Applications/jboss-5.0.1.GA"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:66
-#, fuzzy, no-c-format
-msgid ""
-"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
-"<literal>ANT_HOME</literal> environment variable set. For example:"
-msgstr ""
-"Para instalar la actualización, necesitaremos que Ant 1.7.0 esté instalado, "
-"y que la variable de entorno <literal>ANT_HOME</literal> esté configurada. "
-"Por ejemplo:"
-
-#. Tag: programlisting
-#: ri.xml:71
-#, no-c-format
-msgid ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-msgstr ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-
-#. Tag: para
-#: ri.xml:73
-#, fuzzy, no-c-format
-msgid ""
-"Then, you can install the update. The update script will use Maven to "
-"download Web Beans automatically."
-msgstr ""
-"Luego, puede instalar la actualización. La actualización utiliza Maven para "
-"descargar automáticamente el Web Beans y EJB3."
-
-#. Tag: programlisting
-#: ri.xml:78
-#, fuzzy, no-c-format
-msgid ""
-"$ cd webbeans-$VERSION/jboss-as\n"
-"$ ant update"
-msgstr ""
-"$ cd webbeans-1.0.0.ALPHA1/jboss-as\n"
-"$ ant update"
-
-#. Tag: para
-#: ri.xml:80
-#, no-c-format
-msgid "Now, you're ready to deploy your first example!"
-msgstr "Ahora, ¡está listo para desplegar su primer ejemplo!"
-
-#. Tag: para
-#: ri.xml:85
-#, fuzzy, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for JBoss AS, "
-"these are:"
-msgstr ""
-"Los scripts creados para los ejemplos ofrecen una cantidad de objetivos, a "
-"saber:"
-
-#. Tag: para
-#: ri.xml:91
-#, no-c-format
-msgid "<literal>ant restart</literal> - deploy the example in exploded format"
-msgstr ""
-"<literal>ant restart</literal> - despliega el ejemplo en formato explotado"
-
-#. Tag: para
-#: ri.xml:97
-#, no-c-format
-msgid ""
-"<literal>ant explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-"<literal>ant explode</literal> - actualiza un ejemplo explotado, sin "
-"reiniciar el despliegue"
-
-#. Tag: para
-#: ri.xml:103
-#, no-c-format
-msgid ""
-"<literal>ant deploy</literal> - deploy the example in compressed jar format"
-msgstr ""
-"<literal>ant deploy</literal> - despliega el ejemplo en formato JAR "
-"comprimido"
-
-#. Tag: para
-#: ri.xml:108
-#, no-c-format
-msgid "<literal>ant undeploy</literal> - remove the example from the server"
-msgstr "<literal>ant undeploy</literal> - quita el ejemplo del servidor"
-
-#. Tag: para
-#: ri.xml:113
-#, no-c-format
-msgid "<literal>ant clean</literal> - clean the example"
-msgstr "<literal>ant clean</literal> - borra el ejemplo"
-
-#. Tag: para
-#: ri.xml:120
-#, no-c-format
-msgid "To deploy the numberguess example:"
-msgstr "Para desplegar el ejemplo numberguess:"
-
-#. Tag: programlisting
-#: ri.xml:124
-#, no-c-format
-msgid ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-msgstr ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:126
-#, no-c-format
-msgid "Start JBoss AS:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:130
-#, fuzzy, no-c-format
-msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:133
-#, no-c-format
-msgid "If you use Windows, use the <literal>run.bat</literal>script."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:138 ri.xml:240
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
-"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
-msgstr ""
-"Espere que despliegue la aplicación, y diviértase en <ulink url=\"http://"
-"localhost:8080/webbeans-numberguess\"></ulink>!"
-
-#. Tag: para
-#: ri.xml:143
-#, fuzzy, no-c-format
-msgid ""
-"Web Beans includes a second simple example that will translate your text "
-"into Latin. The numberguess example is a war example, and uses only simple "
-"beans; the translator example is an ear example, and includes enterprise "
-"beans, packaged in an EJB module. To try it out:"
-msgstr ""
-"La IR de Web Beans incluye un segundo ejemplo que traducirá su texto en "
-"Latín. El ejemplo numberguess es un ejemplo WAR, y sólo utiliza beans "
-"sencillos; el ejemplo de traductor es un ejemplo EAR e incluye beans "
-"empresariales, empaquetados en un módulo EJB. Para probar:"
-
-#. Tag: programlisting
-#: ri.xml:150
-#, no-c-format
-msgid ""
-"$ cd examples/translator\n"
-"ant deploy"
-msgstr ""
-"$ cd examples/translator\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:152
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and visit <ulink url=\"http://"
-"localhost:8080/webbeans-translator\"></ulink>!"
-msgstr ""
-"Espere a que despliegue la aplicación, y ¡visite <ulink url=\"http://"
-"localhost:8080/webbeans-translator\"></ulink>!"
-
-#. Tag: title
-#: ri.xml:160
-#, no-c-format
-msgid "Using Apache Tomcat 6.0"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:162
-#, fuzzy, no-c-format
-msgid ""
-"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
-"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
-"For example:"
-msgstr ""
-"Luego, descargue la IR de Web Beans desde <ulink url=\"http://seamframework."
-"org/Download\">seamframework.org</ulink>, y descomprímalo. Por ejemplo:"
-
-#. Tag: programlisting
-#: ri.xml:168
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
-msgstr ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.0.GA.zip]]>"
-
-#. Tag: para
-#: ri.xml:178
-#, fuzzy, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
-"property. For example:"
-msgstr ""
-"Después necesitaremos decirle a Web Beans en dónde está localizado JBoss. "
-"Editar <literal>jboss-as/build.properties</literal> y establecer la "
-"propiedad <literal>jboss.home</literal>. Por ejemplo:"
-
-#. Tag: programlisting
-#: ri.xml:184
-#, fuzzy, no-c-format
-msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:187
-#, fuzzy, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for Tomcat, "
-"these are:"
-msgstr ""
-"Los scripts creados para los ejemplos ofrecen una cantidad de objetivos, a "
-"saber:"
-
-#. Tag: para
-#: ri.xml:193
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
-msgstr ""
-"<literal>ant restart</literal> - despliega el ejemplo en formato explotado"
-
-#. Tag: para
-#: ri.xml:199
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-"<literal>ant explode</literal> - actualiza un ejemplo explotado, sin "
-"reiniciar el despliegue"
-
-#. Tag: para
-#: ri.xml:205
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
-"format"
-msgstr ""
-"<literal>ant deploy</literal> - despliega el ejemplo en formato JAR "
-"comprimido"
-
-#. Tag: para
-#: ri.xml:210
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
-msgstr "<literal>ant undeploy</literal> - quita el ejemplo del servidor"
-
-#. Tag: para
-#: ri.xml:215
-#, fuzzy, no-c-format
-msgid "<literal>ant tomcat.clean</literal> - clean the example"
-msgstr "<literal>ant clean</literal> - borra el ejemplo"
-
-#. Tag: para
-#: ri.xml:222
-#, fuzzy, no-c-format
-msgid "To deploy the numberguess example for tomcat:"
-msgstr "Para desplegar el ejemplo numberguess:"
-
-#. Tag: programlisting
-#: ri.xml:226
-#, fuzzy, no-c-format
-msgid ""
-"$ cd examples/tomcat\n"
-"ant tomcat.deploy"
-msgstr ""
-"$ cd examples/translator\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:228
-#, no-c-format
-msgid "Start Tomcat:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:232
-#, fuzzy, no-c-format
-msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:235
-#, no-c-format
-msgid "If you use Windows, use the <literal>startup.bat</literal>script."
-msgstr ""
-
-#. Tag: title
-#: ri.xml:248
-#, no-c-format
-msgid "Using GlassFish"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:250
-#, no-c-format
-msgid "TODO"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:254
-#, no-c-format
-msgid "The numberguess example"
-msgstr "El ejemplo numberguess"
-
-#. Tag: para
-#: ri.xml:256
-#, no-c-format
-msgid ""
-"In the numberguess application you get given 10 attempts to guess a number "
-"between 1 and 100. After each attempt, you will be told whether you are too "
-"high, or too low."
-msgstr ""
-"En la aplicación numberguess se le dan 10 intentos para adivinar un número "
-"entre 1 y 100. Después de cada intento, se le dirá si es mayor o menor a su "
-"número."
-
-#. Tag: para
-#: ri.xml:262
-#, no-c-format
-msgid ""
-"The numberguess example is comprised of a number of Web Beans, configuration "
-"files, and Facelet JSF pages, packaged as a war. Let's start with the "
-"configuration files."
-msgstr ""
-"El ejemplo de numberguess consta de una cantidad de Web Beans, archivos de "
-"configuración y páginas Facelet JSF, empaquetadas como WAR. Empecemos con "
-"los archivos de configuración."
-
-#. Tag: para
-#: ri.xml:268
-#, no-c-format
-msgid ""
-"All the configuration files for this example are located in <literal>WEB-INF/"
-"</literal>, which is stored in <literal>WebContent</literal> in the source "
-"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
-"JSF to use Facelets:"
-msgstr ""
-"Todos los archivos de configuración para este ejemplo están localizados en "
-"<literal>WEB-INF/</literal>, el cual está almacenado en <literal>WebContent</"
-"literal> en el árbol fuente. Primero, tenemos <literal>faces-config.xml</"
-"literal>, en donde le pedimos a JSF que utilice Facelets:"
-
-#. Tag: programlisting
-#: ri.xml:276
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-msgstr ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-
-#. Tag: para
-#: ri.xml:278
-#, no-c-format
-msgid ""
-"There is an empty <literal>web-beans.xml</literal> file, which marks this "
-"application as a Web Beans application."
-msgstr ""
-"Hay un archivo <literal>web-beans.xml</literal> vacío, el cual marca esta "
-"aplicación como una aplicación de Web Beans."
-
-#. Tag: para
-#: ri.xml:283
-#, no-c-format
-msgid "Finally there is <literal>web.xml</literal>:"
-msgstr "Por último, está <literal>web.xml</literal>:"
-
-#. Tag: section
-#: ri.xml:285
-#, fuzzy, no-c-format
-msgid ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
-"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
-"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
-"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
-"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
-"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
-"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
-"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
-"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
-"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
-"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
-"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
-"session timeout of 10 minutes </para> </callout> </calloutlist> </"
-"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
-"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
-"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
-"id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area "
-"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
-"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
-"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
-"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
-"dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
-"number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
-"number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game."
-"biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
-"{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
-"<para> Facelets is a templating language for JSF, here we are wrapping our "
-"page in a template which defines the header. </para> </callout> <callout "
-"arearefs=\"messages\"> <para> There are a number of messages which can be "
-"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
-"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
-"range of numbers they can guess gets smaller - this sentance changes to make "
-"sure they know what range to guess in. </para> </callout> <callout arearefs="
-"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
-"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
-"range validator is used to make sure the user doesn't accidentally input a "
-"number outside of the range in which they can guess - if the validator "
-"wasn't here, the user might use up a guess on an out of range number. </"
-"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
-"must be a way for the user to send their guess to the server. Here we bind "
-"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
-"programlistingco>"
-msgstr ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
-"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
-"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
-"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
-"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
-"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>ejemplo de Web Beans Numberguess</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
-"servlet\"> <para> Habilitar y cargar el servlet de JSF </para> </callout> "
-"<callout arearefs=\"faces.servlet.mapping\"> <para> Configurar peticiones "
-"<literal>.jsf</literal> para páginas que van a ser manejadas por JSF </para> "
-"</callout> <callout arearefs=\"faces.default.suffix\"> <para> Decir a JSF "
-"que le estaremos dando a nuestros archivos fuente (facelets) una extensión "
-"de <literal>.jsf</literal> </para> </callout> <callout arearefs=\"session."
-"timeout\"> <para> Configurar una pausa de 10 minutos </para> </callout> </"
-"calloutlist> </programlistingco> <note> <para> Aunque este demo es un demo "
-"de JSF, puede utilizar la IR de Web Beans con cualquier marco de la red "
-"basado en Servlet. </para> </note> <para> Observemos una vista de Facelet: </"
-"para> <programlistingco> <areaspec> <area id=\"template\" coords=\"8\"/> "
-"<area id=\"messages\" coords=\"12\"/> <area id=\"instructions\" coords=\"19"
-"\"/> <area id=\"guess\" coords=\"25\"/> <area id=\"validator\" coords=\"30\"/"
-"> <area id=\"submit\" coords=\"33\"/> </areaspec> <programlisting><![CDATA[<!"
-"DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www."
-"w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Adivine un número...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
-"number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
-"number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             Estoy pensando un número entre #{game.smallest} y #{game."
-"biggest}.\n"
-"             Le quedan #{game.remainingGuesses} de intentos.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Su número: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
-"{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
-"<para> Facelets es un lenguaje de plantilla para JSF, aquí se delimita la "
-"página en una plantilla que define el encabezado. </para> </callout> "
-"<callout arearefs=\"messages\"> <para> Hay una cantidad de mensajes que "
-"pueden ser enviados al usuario, \"Mayor!\", \"Menor!\" y \"Correcto!\" </"
-"para> </callout> <callout arearefs=\"instructions\"> <para> Mientras el "
-"usuario adivina, el rango de números que puede adivinar se vuelve cada vez "
-"más pequeño-esta oración cambia para estar seguros de que el usuario sabe en "
-"qué rango debe adivinar. </para> </callout> <callout arearefs=\"guess\"> "
-"<para> Este campo de entrada está vinculado a un Web Bean, utilizando la "
-"expresión de valor. </para> </callout> <callout arearefs=\"validator\"> "
-"<para> Un rango de validador se utiliza para garantizar que el usuario por "
-"accidente no entre un número fuera del rango en el que se puede adivinar - "
-"si el validador no estuviera aquí, el usuario podría tratar de adivinar "
-"fuera del rango. </para> </callout> <callout arearefs=\"submit\"> <para> Y, "
-"obviamente, debe haber una forma para que el usuario pueda enviar el número "
-"al servidor. Aquí nos vincularnos a un método de acción en el Web Bean. </"
-"para> </callout> </calloutlist> </programlistingco>"
-
-#. Tag: para
-#: ri.xml:387
-#, no-c-format
-msgid ""
-"The example exists of 4 classes, the first two of which are binding types. "
-"First, there is the <literal>@Random</literal> binding type, used for "
-"injecting a random number:"
-msgstr ""
-"El ejemplo existe de 4 clases, las primeras dos son tipos de enlace. "
-"Primero, hay un tipo de enlace <literal>@Random</literal>, utilizado para "
-"inyectar un número aleatorio:"
-
-#. Tag: programlisting
-#: ri.xml:393
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-msgstr ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-
-#. Tag: para
-#: ri.xml:395
-#, no-c-format
-msgid ""
-"There is also the <literal>@MaxNumber</literal> binding type, used for "
-"injecting the maximum number that can be injected:"
-msgstr ""
-"También hay un tipo de enlace <literal>@MaxNumber</literal>, utilizado para "
-"inyectar el número máximo posible:"
-
-#. Tag: programlisting
-#: ri.xml:400
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-msgstr ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-
-#. Tag: para
-#: ri.xml:402
-#, no-c-format
-msgid ""
-"The <literal>Generator</literal> class is responsible for creating the "
-"random number, via a producer method. It also exposes the maximum possible "
-"number via a producer method:"
-msgstr ""
-"La clase <literal>Generator</literal> es responsable de crear el número "
-"aleatorio, a través de un método de productor. También expone el número "
-"máximo posible a través del método de productor:"
-
-#. Tag: programlisting
-#: ri.xml:408
-#, no-c-format
-msgid ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System."
-"currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-msgstr ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System."
-"currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-
-#. Tag: para
-#: ri.xml:410
-#, no-c-format
-msgid ""
-"You'll notice that the <literal>Generator</literal> is application scoped; "
-"therefore we don't get a different random each time."
-msgstr ""
-"Notará que el <literal>Generador</literal> es una aplicación en ámbito por "
-"lo tanto no obtenemos un número aleatorio diferente cada vez."
-
-#. Tag: para
-#: ri.xml:415
-#, no-c-format
-msgid ""
-"The final Web Bean in the application is the session scoped <literal>Game</"
-"literal>."
-msgstr ""
-"El Web Bean final en la aplicación es la sesión en ámbito <literal>Juego</"
-"literal>."
-
-#. Tag: para
-#: ri.xml:420
-#, no-c-format
-msgid ""
-"You'll note that we've used the <literal>@Named</literal> annotation, so "
-"that we can use the bean through EL in the JSF page. Finally, we've used "
-"constructor injection to initialize the game with a random number. And of "
-"course, we need to tell the player when they've won, so we give feedback "
-"with a <literal>FacesMessage</literal>."
-msgstr ""
-"Notará que hemos utilizado la anotación <literal>@Named</literal>, para "
-"poder utilizar el bean a través de EL en la página JSF. Por último, hemos "
-"utilizado la inyección de constructor para inicializar el juego con un "
-"número aleatorio. Y, claro está, necesitamos decirle al jugador cuando haya "
-"ganado, por lo tanto le damos retroalimentación con <literal>FacesMessage</"
-"literal>."
-
-#. Tag: programlisting
-#: ri.xml:428
-#, no-c-format
-msgid ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
-"(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new "
-"AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-msgstr ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
-"(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new "
-"AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-
-#. Tag: title
-#: ri.xml:431
-#, fuzzy, no-c-format
-msgid "The numberguess example for Tomcat"
-msgstr "El ejemplo numberguess"
-
-#. Tag: para
-#: ri.xml:433
-#, no-c-format
-msgid ""
-"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
-"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
-"literal>. For your convenience we provide a single jar suitable for running "
-"Web Beans on Tomcat <literal>webbeans-tomcat.jar</literal>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:442
-#, no-c-format
-msgid ""
-"Of course, you must also include JSF and EL, as well common annotations "
-"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:449
-#, no-c-format
-msgid ""
-"Secondly, we need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control it's interaction with requests) in <literal>web."
-"xml</literal>:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:455
-#, no-c-format
-msgid ""
-"<![CDATA[<listener>\n"
-"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-"
-"class>\n"
-"</listener>]]>"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:461
-#, no-c-format
-msgid "The translator example"
-msgstr "Ejemplo de traductor"
-
-#. Tag: para
-#: ri.xml:463
-#, no-c-format
-msgid ""
-"The translator example will take any sentences you enter, and translate them "
-"to Latin."
-msgstr ""
-"El ejemplo de traductor tomará las oraciones que entre y las traducirá en "
-"Latín."
-
-#. Tag: para
-#: ri.xml:468
-#, no-c-format
-msgid ""
-"The translator example is built as an ear, and contains EJBs. As a result, "
-"it's structure is more complex than the numberguess example."
-msgstr ""
-"El ejemplo de traductor está incorporado como un EAR, y contiene EJB. Como "
-"resultado, su estructura es más compleja que el ejemplo de Numberguess."
-
-#. Tag: para
-#: ri.xml:474
-#, no-c-format
-msgid ""
-"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
-"this structure much simpler!"
-msgstr ""
-"EJB 3.1 y Java EE 6 le permiten empaquetar EJB en un WAR, lo cual hará la "
-"estructura mucho más simple!"
-
-#. Tag: para
-#: ri.xml:480
-#, no-c-format
-msgid ""
-"First, let's take a look at the ear aggregator, which is located in "
-"<literal>webbeans-translator-ear</literal> module. Maven automatically "
-"generates the <literal>application.xml</literal> for us:"
-msgstr ""
-"Primero, demos una mirada al agregador EAR, el cual está localizado en el "
-"módulo <literal>webbeans-translator-ear</literal>. Maven genera "
-"automáticamente la <literal>application.xml</literal>:"
-
-#. Tag: programlisting
-#: ri.xml:486
-#, no-c-format
-msgid ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-msgstr ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-
-#. Tag: para
-#: ri.xml:488
-#, no-c-format
-msgid ""
-"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
-"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
-"translator</ulink>)."
-msgstr ""
-"Aquí establecemos la ruta de contexto, la cual nos da una url interesante "
-"(<ulink url=\"http://localhost:8080/webbeans-translator\">http://"
-"localhost:8080/webbeans-translator</ulink>)."
-
-#. Tag: para
-#: ri.xml:494
-#, no-c-format
-msgid ""
-"If you aren't using Maven to generate these files, you would need "
-"<literal>META-INF/application.xml</literal>:"
-msgstr ""
-"Si no está utilizando Maven para generar estos archivos, usted necesitaría "
-"<literal>META-INF/application.xml</literal>:"
-
-#. Tag: programlisting
-#: ri.xml:499
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web "
-"Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-msgstr ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ejemplo Ear para la implementación de referencia de JSR 299: "
-"Web Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-
-#. Tag: para
-#: ri.xml:502
-#, fuzzy, no-c-format
-msgid ""
-"Next, lets look at the war. Just as in the numberguess example, we have a "
-"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
-"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
-msgstr ""
-"Ahora veamos al WAR. Al igual que el ejemplo de Numberguess, tenemos un "
-"<literal>faces-config.xml</literal> (para Facelets habilitadas) y un "
-"<literal>web.xml</literal> (para habilitar a JSF) en <literal>WebContent/WEB-"
-"INF</literal>."
-
-#. Tag: para
-#: ri.xml:509
-#, no-c-format
-msgid ""
-"More intersting is the facelet used to translate text. Just as in the "
-"numberguess example we have a template, which surrounds the form (ommitted "
-"here for brevity):"
-msgstr ""
-"Más interesante aún es el facelet utilizado para traducir texto. Al igual "
-"que en el ejemplo de Numberguess tenemos una plantilla, la cual rodea el "
-"formulario (omitido aquí por razones de brevedad):"
-
-#. Tag: programlisting
-#: ri.xml:515
-#, no-c-format
-msgid ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
-"required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
-"{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-msgstr ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
-"required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
-"{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-
-#. Tag: para
-#: ri.xml:517
-#, no-c-format
-msgid ""
-"The user can enter some text in the lefthand textarea, and hit the translate "
-"button to see the result to the right."
-msgstr ""
-"El usuario puede entrar texto en el área de texto a mano izquierda y pulsar "
-"el botón de traducir para ver el resultado a la derecha."
-
-#. Tag: para
-#: ri.xml:522
-#, no-c-format
-msgid ""
-"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
-"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
-"empty <literal>web-beans.xml</literal>, used to mark the archive as "
-"containing Web Beans."
-msgstr ""
-"Por último, veamos el módulo EJB, <literal>webbeans-translator-ejb</"
-"literal>. En <literal>src/main/resources/META-INF</literal> sólo hay un "
-"<literal>web-beans.xml</literal> vacío, utilizado para marcar el archivo "
-"como si contuviera Web Beans."
-
-#. Tag: para
-#: ri.xml:530
-#, no-c-format
-msgid ""
-"We've saved the most interesting bit to last, the code! The project has two "
-"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
-"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
-"literal> and <literal>SentenceTranslator</literal>. You should be getting "
-"quite familiar with what a Web Bean looks like by now, so we'll just "
-"highlight the most interesting bits here."
-msgstr ""
-"Hemos guardado la parte más interesante para el final, ¡el código! El "
-"proyecto tiene dos beans sencillos, <literal>SentenceParser</literal> y "
-"<literal>TextTranslator</literal> y dos beans empresariales, "
-"<literal>TranslatorControllerBean</literal> y <literal>SentenceTranslator</"
-"literal>. Por ahora, debe comenzar a familiarizarse con el aspecto de Web "
-"Bean, por lo tanto sólo destacaremos aquí las partes más interesantes."
-
-#. Tag: para
-#: ri.xml:540
-#, no-c-format
-msgid ""
-"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
-"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
-"initialization:"
-msgstr ""
-"Tanto <literal>SentenceParser</literal> como <literal>TextTranslator</"
-"literal> son beans dependientes, y <literal>TextTranslator</literal> utiliza "
-"inicialización de constructor:"
-
-#. Tag: programlisting
-#: ri.xml:546
-#, no-c-format
-msgid ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator "
-"sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-msgstr ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator "
-"sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-
-#. Tag: para
-#: ri.xml:548
-#, no-c-format
-msgid ""
-"<literal>TextTranslator</literal> is a stateless bean (with a local business "
-"interface), where the magic happens - of course, we couldn't develop a full "
-"translator, but we gave it a good go!"
-msgstr ""
-"<literal>TextTranslator</literal> es un bean con estado (con una interfaz "
-"local de negocios), donde lo mágico sucede - claro está, que no "
-"desarrollaramos un traductor completo, ¡pero le dimos una buena luz!"
-
-#. Tag: para
-#: ri.xml:554
-#, no-c-format
-msgid ""
-"Finally, there is UI orientated controller, that collects the text from the "
-"user, and dispatches it to the translator. This is a request scoped, named, "
-"stateful session bean, which injects the translator."
-msgstr ""
-"Por último, hay un controlador orientado a UI que recoge el texto desde el "
-"usuario y lo envía al traductor. Esta es una petición en ámbito, llamada "
-"bean con estado de sesión que inyecta el traductor."
-
-#. Tag: programlisting
-#: ri.xml:560
-#, no-c-format
-msgid ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-msgstr ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-
-#. Tag: para
-#: ri.xml:562
-#, no-c-format
-msgid "The bean also has getters and setters for all the fields on the page."
-msgstr ""
-"El bean también tiene capturadores y configuradores para todos los campos en "
-"la página."
-
-#. Tag: para
-#: ri.xml:566
-#, no-c-format
-msgid "As this is a stateful session bean, we have to have a remove method:"
-msgstr ""
-"Como este es un bean de sesión con estado, tenemos que tener un método de "
-"eliminación:"
-
-#. Tag: programlisting
-#: ri.xml:570
-#, no-c-format
-msgid ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-msgstr ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-
-#. Tag: para
-#: ri.xml:572
-#, no-c-format
-msgid ""
-"The Web Beans manager will call the remove method for you when the bean is "
-"destroyed; in this case at the end of the request."
-msgstr ""
-"El administrador de Web Beans llamará al método de eliminación cuando el "
-"bean sea destruido, en este caso al final de la petición."
-
-#. Tag: para
-#: ri.xml:578
-#, fuzzy, no-c-format
-msgid ""
-"That concludes our short tour of the Web Beans examples. For more on Web "
-"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
-"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
-"Development</ulink>."
-msgstr ""
-"Aquí termina nuestro corto recorrido por los ejemplos de la IR de Web Beans. "
-"Para mayor información acerca de la IR o ayuda, por favor consulte <ulink "
-"url=\"http://www.seamframework.org/WebBeans/Development\">http://www."
-"seamframework.org/WebBeans/Development</ulink>."
-
-#. Tag: para
-#: ri.xml:584
-#, no-c-format
-msgid ""
-"We need help in all areas - bug fixing, writing new features, writing "
-"examples and translating this reference guide."
-msgstr ""
-"Necesitamos ayuda en todas las áreas - corrección de errores, escritura de "
-"nuevas funciones, escritura de ejemplos y traducción de esta guía de "
-"referencia."
-
-#, fuzzy
-#~ msgid ""
-#~ "A new deployer, <literal>webbeans.deployer</literal> is added to JBoss "
-#~ "AS. This adds supports for Web Bean archives to JBoss AS, and allows the "
-#~ "Web Beans RI to query the EJB3 container and discover which EJBs are "
-#~ "installed in your application."
-#~ msgstr ""
-#~ "Actualmente, se necesitan dos actualizaciones. Primero, se agrega el "
-#~ "nuevo desarrollador, <literal>webbeans.deployer</literal>. Así se agrega "
-#~ "soporte para los archivos de Web Bean a JBoss AS, y permite a la IR de "
-#~ "Web Beans solicitar el contenedor EJB3 y descubrir cuáles EJB están "
-#~ "instalados en su aplicación. En segundo lugar se necesita una "
-#~ "actualización de JBoss EJB3."
-
-#~ msgid ""
-#~ "As Web Beans is a new piece of software, you need to update JBoss AS to "
-#~ "run the Web Beans RI. Future versions of JBoss AS will include these "
-#~ "updates, and this step won't be necessary."
-#~ msgstr ""
-#~ "Como Web Beans es una nueva parte de software, necesitaremos actualizar "
-#~ "JBoss AS para ejecutar la IR de Web Beans. Versiones futuras de JBOSS AS "
-#~ "incluirán dichas actualizaciones, y este paso no será necesario."

Modified: doc/trunk/reference/es-ES/scopescontexts.po
===================================================================
--- doc/trunk/reference/es-ES/scopescontexts.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/es-ES/scopescontexts.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: scopescontexts\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2008-12-19 20:26+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-01-20 11:45+1000\n"
 "Last-Translator: Gladys Guerrero Lozano <gguerrer at redhat.com>\n"
 "Language-Team: Spanish <fedora-trans-es at redhat.com>\n"
@@ -32,8 +32,11 @@
 "instances of the Web Bean. According to the Web Beans specification, a scope "
 "determines:"
 msgstr ""
-"Hasta ahora, hemos visto algunos ejemplos de <emphasis>anotaciones de tipo ámbito</"
-"emphasis>. El ámbito de un Web Bean determina el ciclo de vida de instancias del Web Bean. El ámbito también determina qué clientes se refieren a qué instancias del Web Bean. Según la especificación de Web Beans, un ámbito determina:"
+"Hasta ahora, hemos visto algunos ejemplos de <emphasis>anotaciones de tipo "
+"ámbito</emphasis>. El ámbito de un Web Bean determina el ciclo de vida de "
+"instancias del Web Bean. El ámbito también determina qué clientes se "
+"refieren a qué instancias del Web Bean. Según la especificación de Web "
+"Beans, un ámbito determina:"
 
 #. Tag: para
 #: scopescontexts.xml:14
@@ -45,13 +48,17 @@
 #: scopescontexts.xml:17
 #, no-c-format
 msgid "When an existing instance of any Web Bean with that scope is destroyed"
-msgstr "Cuándo se destruye una instancia existente de cualquier Web Bean con ese ámbito"
+msgstr ""
+"Cuándo se destruye una instancia existente de cualquier Web Bean con ese "
+"ámbito"
 
 #. Tag: para
 #: scopescontexts.xml:20
 #, no-c-format
-msgid "Which injected references refer to any instance of a Web Bean with that scope"
-msgstr "Qué referencias se refieren a una instancia de un Web Bean con ese ámbito"
+msgid ""
+"Which injected references refer to any instance of a Web Bean with that scope"
+msgstr ""
+"Qué referencias se refieren a una instancia de un Web Bean con ese ámbito"
 
 #. Tag: para
 #: scopescontexts.xml:25
@@ -64,10 +71,12 @@
 "the first time a <literal>CurrentUser</literal> is needed in that session, "
 "and automatically destroyed when the session ends."
 msgstr ""
-"Por ejemplo, si tenemos una sesión con ámbito Web Bean, <literal>UsuarioActual</"
-"literal>, todos los Web Beans que son llamados en el contexto de la misma "
-"<literal>HttpSession</literal> verán la misma instancia del "
-"<literal>UsuarioActual</literal>. Dicha instancia se creará automáticamente la primera vez que se necesite un <literal>UsuarioActual</literal> en esa sesión, y se destruirá automáticamente al terminar la sesión."
+"Por ejemplo, si tenemos una sesión con ámbito Web Bean, "
+"<literal>UsuarioActual</literal>, todos los Web Beans que son llamados en el "
+"contexto de la misma <literal>HttpSession</literal> verán la misma instancia "
+"del <literal>UsuarioActual</literal>. Dicha instancia se creará "
+"automáticamente la primera vez que se necesite un <literal>UsuarioActual</"
+"literal> en esa sesión, y se destruirá automáticamente al terminar la sesión."
 
 #. Tag: title
 #: scopescontexts.xml:32
@@ -82,8 +91,8 @@
 "Web Beans features an <emphasis>extensible context model</emphasis>. It is "
 "possible to define new scopes by creating a new scope type annotation:"
 msgstr ""
-"Web Beans ofrece un <emphasis>modelo contextual extensible</emphasis>. Es posible definir nuevos "
-"ámbitos creando una nueva anotación de tipo de ámbito:"
+"Web Beans ofrece un <emphasis>modelo contextual extensible</emphasis>. Es "
+"posible definir nuevos ámbitos creando una nueva anotación de tipo de ámbito:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:37
@@ -107,7 +116,11 @@
 "useful, we will also need to define a <literal>Context</literal> object that "
 "implements the scope! Implementing a <literal>Context</literal> is usually a "
 "very technical task, intended for framework development only."
-msgstr "Claro está que esa es la parte fácil. Para que este tipo de ámbito sea útil, necesitaremos también definir un objeto <literal>Contexto</literal> que implemente el ámbito. La implementación de un <literal>Contexto</literal> suele ser una tarea muy técnica, únicamente destinada a desarrollo de marco."
+msgstr ""
+"Claro está que esa es la parte fácil. Para que este tipo de ámbito sea útil, "
+"necesitaremos también definir un objeto <literal>Contexto</literal> que "
+"implemente el ámbito. La implementación de un <literal>Contexto</literal> "
+"suele ser una tarea muy técnica, únicamente destinada a desarrollo de marco."
 
 #. Tag: para
 #: scopescontexts.xml:44
@@ -115,7 +128,9 @@
 msgid ""
 "We can apply a scope type annotation to a Web Bean implementation class to "
 "specify the scope of the Web Bean:"
-msgstr "Podemos aplicar un tipo de anotación de ámbito a una clase de implementación de Web Bean para especificar el ámbito del Web Bean:"
+msgstr ""
+"Podemos aplicar un tipo de anotación de ámbito a una clase de implementación "
+"de Web Bean para especificar el ámbito del Web Bean:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:47
@@ -131,7 +146,8 @@
 #: scopescontexts.xml:58
 #, no-c-format
 msgid "Usually, you'll use one of Web Beans' built-in scopes."
-msgstr "Por lo general, se utilizará uno de los ámbitos incorporados de Web Beans."
+msgstr ""
+"Por lo general, se utilizará uno de los ámbitos incorporados de Web Beans."
 
 #. Tag: title
 #: scopescontexts.xml:63
@@ -181,13 +197,16 @@
 msgid ""
 "any servlet request has access to active request, session and application "
 "scopes, and, additionally"
-msgstr "cualquier petición de servlet tiene acceso a petición activa, sesión y ámbitos de aplicación, y adicionalmente,"
+msgstr ""
+"cualquier petición de servlet tiene acceso a petición activa, sesión y "
+"ámbitos de aplicación, y adicionalmente,"
 
 #. Tag: para
 #: scopescontexts.xml:90
 #, no-c-format
 msgid "any JSF request has access to an active conversation scope."
-msgstr "cualquier petición de JSF tiene acceso a un ámbito de conversación activo."
+msgstr ""
+"cualquier petición de JSF tiene acceso a un ámbito de conversación activo."
 
 #. Tag: para
 #: scopescontexts.xml:94
@@ -226,7 +245,11 @@
 "If the application tries to invoke a Web Bean with a scope that does not "
 "have an active context, a <literal>ContextNotActiveException</literal> is "
 "thrown by the Web Bean manager at runtime."
-msgstr "Si la aplicación trata de invocar un Web Bean con un ámbito que no tiene un contexto activo, el administrador de Web Bean produce una <literal>ContextNotActiveException</literal> de Web Bean en tiempo de ejecución."
+msgstr ""
+"Si la aplicación trata de invocar un Web Bean con un ámbito que no tiene un "
+"contexto activo, el administrador de Web Bean produce una "
+"<literal>ContextNotActiveException</literal> de Web Bean en tiempo de "
+"ejecución."
 
 #. Tag: para
 #: scopescontexts.xml:115
@@ -235,7 +258,10 @@
 "Three of the four built-in scopes should be extremely familiar to every Java "
 "EE developer, so let's not waste time discussing them here. One of the "
 "scopes, however, is new."
-msgstr "Tres de los ámbitos incorporados deben ser extremadamente familiares a cualquier desarrollador de Java EE, por eso no perdamos tiempo en explicarlos aquí. No obstante, uno de los ámbitos es nuevo."
+msgstr ""
+"Tres de los ámbitos incorporados deben ser extremadamente familiares a "
+"cualquier desarrollador de Java EE, por eso no perdamos tiempo en "
+"explicarlos aquí. No obstante, uno de los ámbitos es nuevo."
 
 #. Tag: title
 #: scopescontexts.xml:122
@@ -251,7 +277,11 @@
 "in that it holds state associated with a user of the system, and spans "
 "multiple requests to the server. However, unlike the session scope, the "
 "conversation scope:"
-msgstr "El ámbito de conversación de Web Beans es un poco parecido al ámbito de sesión tradicional en que mantiene el estado asociado con el usuario del sistema y abarca varias peticiones al servidor. Sin embargo, a diferencia del ámbito de sesión, el ámbito de conversación:"
+msgstr ""
+"El ámbito de conversación de Web Beans es un poco parecido al ámbito de "
+"sesión tradicional en que mantiene el estado asociado con el usuario del "
+"sistema y abarca varias peticiones al servidor. Sin embargo, a diferencia "
+"del ámbito de sesión, el ámbito de conversación:"
 
 #. Tag: para
 #: scopescontexts.xml:130
@@ -265,7 +295,9 @@
 msgid ""
 "holds state associated with a particular web browser tab in a JSF "
 "application."
-msgstr "mantiene un estado asociado con una ficha de navegador de red determinada en una aplicación JSF."
+msgstr ""
+"mantiene un estado asociado con una ficha de navegador de red determinada en "
+"una aplicación JSF."
 
 #. Tag: para
 #: scopescontexts.xml:138
@@ -275,7 +307,12 @@
 "the user. The conversation context holds state associated with what the user "
 "is currently working on. If the user is doing multiple things at the same "
 "time, there are multiple conversations."
-msgstr "Una conversación representa una tarea, una unidad de trabajo desde el punto de vista del usuario. El contexto de conversación mantiene un estado asociado con lo que el usuario está actualmente trabajando. Si el usuario está trabajando en varias tareas al mismo tiempo, habrá múltiples conversaciones."
+msgstr ""
+"Una conversación representa una tarea, una unidad de trabajo desde el punto "
+"de vista del usuario. El contexto de conversación mantiene un estado "
+"asociado con lo que el usuario está actualmente trabajando. Si el usuario "
+"está trabajando en varias tareas al mismo tiempo, habrá múltiples "
+"conversaciones."
 
 #. Tag: para
 #: scopescontexts.xml:143
@@ -285,7 +322,12 @@
 "conversations are destroyed at the end of the request. If a conversation "
 "should hold state across multiple requests, it must be explicitly promoted "
 "to a <emphasis>long-running conversation</emphasis>."
-msgstr "El contexto de conversación está activo durante cualquier petición de JSF. Sin embargo, la mayoría de las conversaciones se destruyen al final de la petición. Si una conversación debe mantener un estado a través de múltiples peticiones, debe ser explícitamente promovida a <emphasis>conversación-larga</emphasis>."
+msgstr ""
+"El contexto de conversación está activo durante cualquier petición de JSF. "
+"Sin embargo, la mayoría de las conversaciones se destruyen al final de la "
+"petición. Si una conversación debe mantener un estado a través de múltiples "
+"peticiones, debe ser explícitamente promovida a <emphasis>conversación-"
+"larga</emphasis>."
 
 #. Tag: title
 #: scopescontexts.xml:149
@@ -300,7 +342,10 @@
 "Web Beans provides a built-in Web Bean for controlling the lifecyle of "
 "conversations in a JSF application. This Web Bean may be obtained by "
 "injection:"
-msgstr "Web Beans ofrece un Web Bean incorporado para controlar el ciclo de vida de conversaciones en una aplicación JSF. Dicho Web Bean puede obtenerse por inyección:"
+msgstr ""
+"Web Beans ofrece un Web Bean incorporado para controlar el ciclo de vida de "
+"conversaciones en una aplicación JSF. Dicho Web Bean puede obtenerse por "
+"inyección:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:154
@@ -318,7 +363,10 @@
 "for destruction at the end of the current request, call <literal>end()</"
 "literal>."
 msgstr ""
-"Para iniciar la conversación asociada con la petición actual a una conversación larga, llame al método <literal>begin()</literal> desde el código de aplicación. Para programar que el actual contexto de conversación larga se destruya al final de la petición actual, llame a <literal>end()</"
+"Para iniciar la conversación asociada con la petición actual a una "
+"conversación larga, llame al método <literal>begin()</literal> desde el "
+"código de aplicación. Para programar que el actual contexto de conversación "
+"larga se destruya al final de la petición actual, llame a <literal>end()</"
 "literal>."
 
 #. Tag: para
@@ -327,7 +375,9 @@
 msgid ""
 "In the following example, a conversation-scoped Web Bean controls the "
 "conversation with which it is associated:"
-msgstr "En el ejemplo a continuación, un Web Bean de conversación en ámbito controla la conversación con la que está asociada."
+msgstr ""
+"En el ejemplo a continuación, un Web Bean de conversación en ámbito controla "
+"la conversación con la que está asociada."
 
 #. Tag: programlisting
 #: scopescontexts.xml:164
@@ -404,7 +454,8 @@
 "lifecycle which depends completely upon another object."
 msgstr ""
 "Este Web Bean puede controlar su propio ciclo de vida mediante la API de "
-"<literal>Conversación</literal>. No obstante, algunos otros Web Beans tienen un ciclo de vida que depende totalmente de otro objeto."
+"<literal>Conversación</literal>. No obstante, algunos otros Web Beans tienen "
+"un ciclo de vida que depende totalmente de otro objeto."
 
 #. Tag: title
 #: scopescontexts.xml:173
@@ -419,7 +470,11 @@
 "The conversation context automatically propagates with any JSF faces request "
 "(JSF form submission). It does not automatically propagate with non-faces "
 "requests, for example, navigation via a link."
-msgstr "El contexto de conversación se propaga automáticamente con cualquier petición de JSF (presentación de formulario JSF). No se propaga automáticamente con peticiones sin caras, por ejemplo, la navegación mediante un enlace."
+msgstr ""
+"El contexto de conversación se propaga automáticamente con cualquier "
+"petición de JSF (presentación de formulario JSF). No se propaga "
+"automáticamente con peticiones sin caras, por ejemplo, la navegación "
+"mediante un enlace."
 
 #. Tag: para
 #: scopescontexts.xml:179
@@ -431,7 +486,13 @@
 "<literal>cid</literal> for this use. The unique identifier of the "
 "conversation may be obtained from the <literal>Conversation</literal> "
 "object, which has the Web Beans name <literal>conversation</literal>."
-msgstr "Podemos forzar la propagación de una conversación con una petición sin-caras al incluir el identificador único de la conversación como un parámetro de petición. La especificación de Web Beans reserva el parámetro llamado <literal>cid</literal> para este uso. El único identificador de la conversación se puede obtener del objeto <literal>Conversation</literal>, el cual tiene el nombre de Web Beans <literal>conversation</literal>."
+msgstr ""
+"Podemos forzar la propagación de una conversación con una petición sin-caras "
+"al incluir el identificador único de la conversación como un parámetro de "
+"petición. La especificación de Web Beans reserva el parámetro llamado "
+"<literal>cid</literal> para este uso. El único identificador de la "
+"conversación se puede obtener del objeto <literal>Conversation</literal>, el "
+"cual tiene el nombre de Web Beans <literal>conversation</literal>."
 
 #. Tag: para
 #: scopescontexts.xml:186
@@ -458,7 +519,13 @@
 "very easy to implement the common POST-then-redirect pattern, without resort "
 "to fragile constructs such as a \"flash\" object. In this case, the Web Bean "
 "manager automatically adds a request parameter to the redirect URL."
-msgstr "El administrador de Web Bean también se requiere para propagar conversaciones a través de cualquier redirección, incluso si la conversación no está marcada como larga. Esto facilita mucho la implementación del patrón de POST-luego-redirigir, sin recurrir a construcciones frágiles tales como un objeto \"flash\". En este caso, el administrador de Web Bean agrega automáticamente un parámetro a la URL de redirección."
+msgstr ""
+"El administrador de Web Bean también se requiere para propagar "
+"conversaciones a través de cualquier redirección, incluso si la conversación "
+"no está marcada como larga. Esto facilita mucho la implementación del patrón "
+"de POST-luego-redirigir, sin recurrir a construcciones frágiles tales como "
+"un objeto \"flash\". En este caso, el administrador de Web Bean agrega "
+"automáticamente un parámetro a la URL de redirección."
 
 #. Tag: title
 #: scopescontexts.xml:200
@@ -473,9 +540,15 @@
 "The Web Bean manager is permitted to destroy a conversation and all state "
 "held in its context at any time in order to preserve resources. A Web Bean "
 "manager implementation will normally do this on the basis of some kind of "
-"timeout &#151; though this is not required by the Web Beans specification. The "
-"timeout is the period of inactivity before the conversation is destroyed."
-msgstr "Con el fin de preservar recursos, el administrador de Web Bean puede destruir una conversación y todo el estado en su contexto en cualquier momento. Una implementación del administrador de Web Bean normalmente hace esto con base en alguna clase de pausa &#151; aunque la especificación de Web Beans no lo requiere. La pausa es el periodo de inactividad anterior a la destrucción de la conversación."
+"timeout &#151; though this is not required by the Web Beans specification. "
+"The timeout is the period of inactivity before the conversation is destroyed."
+msgstr ""
+"Con el fin de preservar recursos, el administrador de Web Bean puede "
+"destruir una conversación y todo el estado en su contexto en cualquier "
+"momento. Una implementación del administrador de Web Bean normalmente hace "
+"esto con base en alguna clase de pausa &#151; aunque la especificación de "
+"Web Beans no lo requiere. La pausa es el periodo de inactividad anterior a "
+"la destrucción de la conversación."
 
 #. Tag: para
 #: scopescontexts.xml:208
@@ -484,7 +557,10 @@
 "The <literal>Conversation</literal> object provides a method to set the "
 "timeout. This is a hint to the Web Bean manager, which is free to ignore the "
 "setting."
-msgstr "El objeto de <literal>Conversación</literal> proporciona un método para configurar el tiempo de espera. Se trata de una ayuda para el administrador de Web Bean quién tiene la libertad de pasar por alto la configuración."
+msgstr ""
+"El objeto de <literal>Conversación</literal> proporciona un método para "
+"configurar el tiempo de espera. Se trata de una ayuda para el administrador "
+"de Web Bean quién tiene la libertad de pasar por alto la configuración."
 
 #. Tag: programlisting
 #: scopescontexts.xml:212
@@ -493,34 +569,40 @@
 msgstr "conversation.setTimeout(timeoutInMillis);"
 
 #. Tag: title
-#: scopescontexts.xml:219
+#: scopescontexts.xml:218
 #, no-c-format
 msgid "The dependent pseudo-scope"
 msgstr "El seudo ámbito dependiente"
 
 #. Tag: para
-#: scopescontexts.xml:221
+#: scopescontexts.xml:220
 #, no-c-format
 msgid ""
 "In addition to the four built-in scopes, Web Beans features the so-called "
 "<emphasis>dependent pseudo-scope</emphasis>. This is the default scope for a "
 "Web Bean which does not explicitly declare a scope type."
-msgstr "Además de los cuatro ámbitos incorporados, Web Beans ofrece el <emphasis>ámbito seudo dependiente</emphasis>. Este es el ámbito para el Web Bean que no declare explícitamente un tipo de ámbito."
+msgstr ""
+"Además de los cuatro ámbitos incorporados, Web Beans ofrece el "
+"<emphasis>ámbito seudo dependiente</emphasis>. Este es el ámbito para el Web "
+"Bean que no declare explícitamente un tipo de ámbito."
 
 #. Tag: para
-#: scopescontexts.xml:225
+#: scopescontexts.xml:224
 #, no-c-format
-msgid "For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
-msgstr "Por ejemplo, este Web Bean tiene el ámbito de tipo <literal>@Dependent</literal>:"
+msgid ""
+"For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
+msgstr ""
+"Por ejemplo, este Web Bean tiene el ámbito de tipo <literal>@Dependent</"
+"literal>:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:227
+#: scopescontexts.xml:226
 #, no-c-format
 msgid "<![CDATA[public class Calculator { ... }]]>"
 msgstr "<![CDATA[public class Calculator { ... }]]>"
 
 #. Tag: para
-#: scopescontexts.xml:229
+#: scopescontexts.xml:228
 #, no-c-format
 msgid ""
 "When an injection point of a Web Bean resolves to a dependent Web Bean, a "
@@ -529,49 +611,61 @@
 "between different Web Beans or different injection points. They are "
 "<emphasis>dependent objects</emphasis> of some other Web Bean instance."
 msgstr ""
-"Cuando un punto de inyección de un Web Bean apunta a un Web Bean dependiente, una nueva instancia del Web Bean dependiente es creada cada vez que el primer Web "
-"Bean sea instanciado. Las instancias de Web Beans dependientes nunca se comparten entre Web Beans o puntos diferentes de inyección. Ellas son <emphasis>objetos dependientes</emphasis> de alguna otra instancia de Web Bean."
+"Cuando un punto de inyección de un Web Bean apunta a un Web Bean "
+"dependiente, una nueva instancia del Web Bean dependiente es creada cada vez "
+"que el primer Web Bean sea instanciado. Las instancias de Web Beans "
+"dependientes nunca se comparten entre Web Beans o puntos diferentes de "
+"inyección. Ellas son <emphasis>objetos dependientes</emphasis> de alguna "
+"otra instancia de Web Bean."
 
 #. Tag: para
-#: scopescontexts.xml:235
+#: scopescontexts.xml:234
 #, no-c-format
 msgid ""
 "Dependent Web Bean instances are destroyed when the instance they depend "
 "upon is destroyed."
-msgstr "Las instancias dependientes de Web Bean se destruyen cuando la instancia de la que dependen es destruida."
+msgstr ""
+"Las instancias dependientes de Web Bean se destruyen cuando la instancia de "
+"la que dependen es destruida."
 
 #. Tag: para
-#: scopescontexts.xml:243
+#: scopescontexts.xml:242
 #, no-c-format
 msgid ""
 "Web Beans makes it easy to obtain a dependent instance of a Java class or "
 "EJB bean, even if the class or EJB bean is already declared as a Web Bean "
 "with some other scope type."
-msgstr "Web Beans facilita la obtención de una instancia dependiente de una clase de Java o bean EJB, incluso si la clase o el bean EJB ya se declaró como Web Bean con algún otro tipo de ámbito."
+msgstr ""
+"Web Beans facilita la obtención de una instancia dependiente de una clase de "
+"Java o bean EJB, incluso si la clase o el bean EJB ya se declaró como Web "
+"Bean con algún otro tipo de ámbito."
 
 #. Tag: title
-#: scopescontexts.xml:248
+#: scopescontexts.xml:247
 #, no-c-format
 msgid "The <literal>@New</literal> annotation"
 msgstr "La anotación <literal>@New</literal>"
 
 #. Tag: para
-#: scopescontexts.xml:250
+#: scopescontexts.xml:249
 #, no-c-format
 msgid ""
 "The built-in <literal>@New</literal> binding annotation allows "
 "<emphasis>implicit</emphasis> definition of a dependent Web Bean at an "
 "injection point. Suppose we declare the following injected field:"
-msgstr "La anotación de enlace incorporada <literal>@New</literal> permite definición <emphasis>implícita</emphasis> de un Web Bean dependiente en un punto de inyección. Imagine que declara el siguiente campo inyectado:"
+msgstr ""
+"La anotación de enlace incorporada <literal>@New</literal> permite "
+"definición <emphasis>implícita</emphasis> de un Web Bean dependiente en un "
+"punto de inyección. Imagine que declara el siguiente campo inyectado:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:254
+#: scopescontexts.xml:253
 #, no-c-format
 msgid "<![CDATA[@New Calculator calculator;]]>"
 msgstr "<![CDATA[@New Calculator calculator;]]>"
 
 #. Tag: para
-#: scopescontexts.xml:256
+#: scopescontexts.xml:255
 #, no-c-format
 msgid ""
 "Then a Web Bean with scope <literal>@Dependent</literal>, binding type "
@@ -579,13 +673,13 @@
 "implementation class <literal>Calculator</literal> and deployment type "
 "<literal>@Standard</literal> is implicitly defined."
 msgstr ""
-"Entonces un Web Bean con ámbito <literal>@Dependent</literal>, tipo de enlace "
-"<literal>@New</literal>, tipo de API <literal>Calculator</literal>, "
+"Entonces un Web Bean con ámbito <literal>@Dependent</literal>, tipo de "
+"enlace <literal>@New</literal>, tipo de API <literal>Calculator</literal>, "
 "clase de implementación <literal>Calculator</literal> y tipo de despliegue "
 "<literal>@Standard</literal> está definido de modo implícito."
 
 #. Tag: para
-#: scopescontexts.xml:261
+#: scopescontexts.xml:260
 #, no-c-format
 msgid ""
 "This is true even if <literal>Calculator</literal> is <emphasis>already</"
@@ -595,7 +689,7 @@
 "emphasis> declarado con un tipo de ámbito diferente, por ejemplo:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:264
+#: scopescontexts.xml:263
 #, no-c-format
 msgid ""
 "<![CDATA[@ConversationScoped\n"
@@ -605,17 +699,17 @@
 "public class Calculator { ... }]]>"
 
 #. Tag: para
-#: scopescontexts.xml:266
+#: scopescontexts.xml:265
 #, no-c-format
 msgid ""
 "So the following injected attributes each get a different instance of "
 "<literal>Calculator</literal>:"
 msgstr ""
-"Por lo tanto cada uno de los siguientes atributos inyectados obtiene una instancia diferente a "
-"<literal>Calculator</literal>:"
+"Por lo tanto cada uno de los siguientes atributos inyectados obtiene una "
+"instancia diferente a <literal>Calculator</literal>:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:269
+#: scopescontexts.xml:268
 #, no-c-format
 msgid ""
 "<![CDATA[public class PaymentCalc {\n"
@@ -633,20 +727,26 @@
 "}]]>"
 
 #. Tag: para
-#: scopescontexts.xml:271
+#: scopescontexts.xml:270
 #, no-c-format
 msgid ""
 "The <literal>calculator</literal> field has a conversation-scoped instance "
 "of <literal>Calculator</literal> injected. The <literal>newCalculator</"
 "literal> field has a new instance of <literal>Calculator</literal> injected, "
 "with a lifecycle that is bound to the owning <literal>PaymentCalc</literal>."
-msgstr "El campo <literal>calculadora</literal> tiene una instancia de conversación-en ámbito de <literal>Calculator</literal> inyectada. El campo <literal>newCalculator</literal> tiene una nueva instancia de <literal>Calculator</literal> inyectada con un ciclo de vida vinculado al propietario de <literal>PaymentCalc</literal>."
+msgstr ""
+"El campo <literal>calculadora</literal> tiene una instancia de conversación-"
+"en ámbito de <literal>Calculator</literal> inyectada. El campo "
+"<literal>newCalculator</literal> tiene una nueva instancia de "
+"<literal>Calculator</literal> inyectada con un ciclo de vida vinculado al "
+"propietario de <literal>PaymentCalc</literal>."
 
 #. Tag: para
-#: scopescontexts.xml:276
+#: scopescontexts.xml:275
 #, no-c-format
 msgid ""
 "This feature is particularly useful with producer methods, as we'll see in "
 "the next chapter."
-msgstr "La función es particularmente útil con métodos de productor, así como veremos en el siguiente capítulo."
-
+msgstr ""
+"La función es particularmente útil con métodos de productor, así como "
+"veremos en el siguiente capítulo."

Added: doc/trunk/reference/es-ES/viewlayers.po
===================================================================
--- doc/trunk/reference/es-ES/viewlayers.po	                        (rev 0)
+++ doc/trunk/reference/es-ES/viewlayers.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,160 @@
+# Language es-ES translations for Web_Beans:_Java_Contexts_and_Dependency_Injection package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2009-04-19 20:36+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: viewlayers.xml:4
+#, no-c-format
+msgid "Alternative view layers"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:7
+#, no-c-format
+msgid "Using Web Beans with Wicket"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:10
+#, no-c-format
+msgid "The <literal>WebApplication</literal> class"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:12
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass; Web Beans provides, for your utility, a subclass of this which "
+"sets up the Wicket/JSR-299 integration. You should subclass <literal>org."
+"jboss.webbeans.wicket.WebBeansApplication</literal>."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:21
+#, no-c-format
+msgid ""
+"If you would prefer not to subclass <literal>WebBeansApplication</literal>, "
+"you can manually add a (small!) number of overrides and listeners to your "
+"own <literal>WebApplication</literal> subclass. The javadocs of "
+"<literal>WebBeansApplication</literal>detail this."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:30
+#, no-c-format
+msgid "For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: viewlayers.xml:33
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:37
+#, no-c-format
+msgid "Conversations with Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:38
+#, no-c-format
+msgid ""
+"The conversation scope can be used in Web Beans with the Apache Wicket web "
+"framework, through the <literal>webbeans-wicket</literal> module. This "
+"module takes care of:"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:45
+#, no-c-format
+msgid ""
+"Setting up the conversation context at the beginning of a Wicket request, "
+"and tearing it down afterwards"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:51
+#, no-c-format
+msgid ""
+"Storing the id of any long-running conversation in Wicket's metadata when "
+"the page response is complete"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:57
+#, no-c-format
+msgid ""
+"Activating the correct long-running conversation based upon which page is "
+"being accessed"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:63
+#, no-c-format
+msgid ""
+"Propagating the conversation context for any long-running conversation to "
+"new pages"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:70
+#, no-c-format
+msgid "Starting and stopping conversations in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:71
+#, no-c-format
+msgid ""
+"As JSF applications, a conversation <emphasis>always</emphasis> exists for "
+"any request, but its lifetime is only that of the current request unless it "
+"is marked as <emphasis>long-running</emphasis>. For Wicket applications this "
+"is accomplished as in JSF applications, by injecting the <literal>@Current "
+"Conversation</literal> and then invoking <literal>conversation.begin()</"
+"literal>. Likewise, conversations are ended with <literal>conversation.end()"
+"</literal>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:85
+#, no-c-format
+msgid "Long running conversation propagation in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:86
+#, no-c-format
+msgid ""
+"When a conversation is marked as long-running, the id of that conversation "
+"will be stored in Wicket's metadata for the current page. If a new page is "
+"created and set as the response target through <literal>setResponsePage</"
+"literal>, this new page will also participate in this conversation. This "
+"occurs for both directly instantiated pages (<literal>setResponsePage(new "
+"OtherPage())</literal>), as well as for bookmarkable pages created with "
+"<literal>setResponsePage(OtherPage.class)</literal> where <literal>OtherPage."
+"class</literal> is mounted as bookmarkable from your "
+"<literal>WebApplication</literal> subclass (or through annotations). In the "
+"latter case, because the new page instance is not created until after a "
+"redirect, the conversation id will be propagated through a request "
+"parameter, and then stored in page metadata after the redirect."
+msgstr ""

Modified: doc/trunk/reference/fr-FR/environments.po
===================================================================
--- doc/trunk/reference/fr-FR/environments.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/fr-FR/environments.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 "Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
 "VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-28 17:09+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -96,13 +96,15 @@
 #. Tag: title
 #: environments.xml:53
 #, no-c-format
-msgid "Tomcat (or any plain Servlet container)"
+msgid "Servlet Containers (such as Tomcat or Jetty)"
 msgstr ""
 
 #. Tag: para
 #: environments.xml:55
 #, no-c-format
-msgid "Web Beans can be used in Tomcat 6.0."
+msgid ""
+"Web Beans can be used in any Servlet container such as Tomcat 6.0 or Jetty "
+"6.1."
 msgstr ""
 
 #. Tag: para
@@ -111,17 +113,18 @@
 msgid ""
 "Web Beans doesn't support deploying session beans, injection using "
 "<literal>@EJB</literal>, or <literal>@PersistenceContext</literal> or using "
-"transactional events on Tomcat."
+"transactional events in Servlet containers."
 msgstr ""
 
 #. Tag: para
 #: environments.xml:66
 #, no-c-format
 msgid ""
-"Web Beans should be used as a web application library in Tomcat. You should "
-"place <literal>webbeans-tomcat.jar</literal> in <literal>WEB-INF/lib</"
-"literal>. <literal>webbeans-tomcat.jar</literal> is an \"uber-jar\" provided "
-"for your convenience. Instead, you could use its component jars:"
+"Web Beans should be used as a web application library in a servlet "
+"container. You should place <literal>webbeans-servlet.jar</literal> in "
+"<literal>WEB-INF/lib</literal>. <literal>webbeans-serv;et.jar</literal> is "
+"an \"uber-jar\" provided for your convenience. Instead, you could use its "
+"component jars:"
 msgstr ""
 
 #. Tag: literal
@@ -157,7 +160,7 @@
 #. Tag: literal
 #: environments.xml:102
 #, no-c-format
-msgid "webbeans-tomcat-int.jar"
+msgid "webbeans-servlet-int.jar"
 msgstr ""
 
 #. Tag: literal
@@ -176,9 +179,9 @@
 #: environments.xml:117
 #, no-c-format
 msgid ""
-"You also need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control its interaction with requests) in <literal>web."
-"xml</literal>:"
+"You also need to explicitly specify the servlet listener (used to boot Web "
+"Beans, and control its interaction with requests) in <literal>web.xml</"
+"literal>:"
 msgstr ""
 
 #. Tag: programlisting
@@ -191,8 +194,14 @@
 "</listener>]]>"
 msgstr ""
 
+#. Tag: title
+#: environments.xml:126
+#, no-c-format
+msgid "Tomcat"
+msgstr ""
+
 #. Tag: para
-#: environments.xml:125
+#: environments.xml:128
 #, no-c-format
 msgid ""
 "Tomcat has a read-only JNDI, so Web Beans can't automatically bind the "
@@ -201,7 +210,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:131
+#: environments.xml:134
 #, no-c-format
 msgid ""
 "<![CDATA[<Resource name=\"app/Manager\" \n"
@@ -212,7 +221,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:133
+#: environments.xml:136
 #, no-c-format
 msgid ""
 "and make it available to your deployment by adding this to <literal>web.xml</"
@@ -220,7 +229,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:138
+#: environments.xml:141
 #, no-c-format
 msgid ""
 "<![CDATA[<resource-env-ref>\n"
@@ -234,7 +243,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:140
+#: environments.xml:143
 #, no-c-format
 msgid ""
 "Tomcat only allows you to bind entries to <literal>java:comp/env</literal>, "
@@ -243,7 +252,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:146
+#: environments.xml:149
 #, no-c-format
 msgid ""
 "Web Beans also supports Servlet injection in Tomcat. To enable this, place "
@@ -253,7 +262,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:153
+#: environments.xml:156
 #, no-c-format
 msgid ""
 "<![CDATA[<Listener className=\"org.jboss.webbeans.environment.tomcat."
@@ -261,13 +270,13 @@
 msgstr ""
 
 #. Tag: title
-#: environments.xml:158
+#: environments.xml:163
 #, no-c-format
 msgid "Java SE"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:160
+#: environments.xml:165
 #, no-c-format
 msgid ""
 "Apart from improved integration of the Enterprise Java stack, Web Beans also "
@@ -279,7 +288,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:168
+#: environments.xml:173
 #, no-c-format
 msgid ""
 "When executing in the SE environment the following features of Web Beans are "
@@ -287,61 +296,49 @@
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:174
+#: environments.xml:179
 #, no-c-format
 msgid "Simple Web Beans (POJOs)"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:179
+#: environments.xml:184
 #, no-c-format
 msgid "Typesafe Dependency Injection"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:184
+#: environments.xml:189
 #, no-c-format
 msgid "Application and Dependent Contexts"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:189
+#: environments.xml:194
 #, no-c-format
 msgid "Binding Types"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:194
+#: environments.xml:199
 #, no-c-format
 msgid "Stereotypes"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:199
-#, no-c-format
-msgid "Decorators"
-msgstr ""
-
-#. Tag: literal
 #: environments.xml:204
 #, no-c-format
-msgid "(TODO: Interceptors ?)"
-msgstr ""
-
-#. Tag: literal
-#: environments.xml:209
-#, no-c-format
 msgid "Typesafe Event Model"
 msgstr ""
 
 #. Tag: title
-#: environments.xml:215
+#: environments.xml:210
 #, no-c-format
 msgid "Web Beans SE Module"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:217
+#: environments.xml:212
 #, no-c-format
 msgid ""
 "To make life easy for developers Web Beans provides a special module with a "
@@ -354,7 +351,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:226
+#: environments.xml:221
 #, no-c-format
 msgid ""
 "<![CDATA[@Parameters List<String> params;\n"
@@ -363,13 +360,13 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:227
+#: environments.xml:222
 #, no-c-format
 msgid "Here's an example of a simple Web Beans SE application:"
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:231
+#: environments.xml:226
 #, no-c-format
 msgid ""
 "<![CDATA[@ApplicationScoped\n"
@@ -385,20 +382,20 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:233
+#: environments.xml:228
 #, no-c-format
 msgid ""
 "Web Beans SE applications are started by running the following main method."
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:235
+#: environments.xml:230
 #, no-c-format
 msgid "<![CDATA[java org.jboss.webbeans.environments.se.StartMain <args>]]>"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:237
+#: environments.xml:232
 #, no-c-format
 msgid ""
 "If you need to do any custom initialization of the Web Beans manager, for "
@@ -408,7 +405,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:242
+#: environments.xml:237
 #, no-c-format
 msgid ""
 "<![CDATA[public class PerformSetup\n"
@@ -422,7 +419,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:246
+#: environments.xml:240
 #, no-c-format
 msgid ""
 "The command line parameters do not become available for injection until the "

Modified: doc/trunk/reference/fr-FR/extensions.po
===================================================================
--- doc/trunk/reference/fr-FR/extensions.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/fr-FR/extensions.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -3,9 +3,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
+"VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-03-28 17:09+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-28 17:09+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -33,13 +34,68 @@
 msgstr ""
 
 #. Tag: para
-#: extensions.xml:17 extensions.xml:26
+#: extensions.xml:17
 #, no-c-format
-msgid "TODO"
+msgid ""
+"Adding logging to your application is now even easier with simple injection "
+"of a logger object into any JSR-299 bean. Simply annotate a org.jboss."
+"webbeans.log.Log type member with <emphasis>@Logger</emphasis> and an "
+"appropriate logger object will be injected into any instance of the bean."
 msgstr ""
 
-#. Tag: title
-#: extensions.xml:24
+#. Tag: programlisting
+#: extensions.xml:25
 #, no-c-format
-msgid "XSD Generator for JSR-299 XML deployment descriptors"
+msgid ""
+"<![CDATA[public class Checkout {\n"
+"    import org.jboss.webbeans.annotation.Logger;\n"
+"    import org.jboss.webbeans.log.Log;\n"
+"    \n"
+"    @Logger\n"
+"    private Log log;\n"
+"\n"
+"    void invoiceItems() {\n"
+"        ShoppingCart cart;\n"
+"        . . .\n"
+"        log.debug(\"Items invoiced for {0}\", cart);\n"
+"    }\n"
+"    \n"
+"}]]>"
 msgstr ""
+
+#. Tag: para
+#: extensions.xml:27
+#, no-c-format
+msgid ""
+"The example shows how objects can be interpolated into a message. This "
+"interpolation is done using <emphasis>java.text.MessageFormat</emphasis>, so "
+"see the JavaDoc for that class for more details. In this case, the "
+"ShoppingCart should have implemented the <emphasis>toString()</emphasis> "
+"method to produce a human readable value that is meaningful in messages. "
+"Normally, this call would have involved evaluating cart.toString() with "
+"String concatenation to produce a single String argument. Thus it was "
+"necessary to surround the call with an if-statement using the condition "
+"<emphasis>log.isDebugEnabled()</emphasis> to avoid the expensive String "
+"concatenation if the message was not actually going to be used. However, "
+"when using @Logger injected logging, the conditional test can be left out "
+"since the object arguments are not evaluated unless the message is going to "
+"be logged."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:44
+#, no-c-format
+msgid ""
+"You can add the Web Beans Logger to your project by including webbeans-"
+"logger.jar and webbeans-logging.jar to your project. Alternatively, express "
+"a dependency on the <literal>org.jboss.webbeans:webbeans-logger</literal> "
+"Maven artifact."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:51
+#, no-c-format
+msgid ""
+"If you are using Web Beans as your JSR-299 implementation, there is no need "
+"to include <literal>webbeans-logging.jar</literal> as it's already included."
+msgstr ""

Copied: doc/trunk/reference/fr-FR/gettingstarted.po (from rev 2516, doc/trunk/reference/fr-FR/ri.po)
===================================================================
--- doc/trunk/reference/fr-FR/gettingstarted.po	                        (rev 0)
+++ doc/trunk/reference/fr-FR/gettingstarted.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,1733 @@
+# Language fr-FR translations for master.xml package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: master.xml \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2008-12-19 20:26+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: gettingstarted.xml:4
+#, no-c-format
+msgid "Getting started with Web Beans, the Reference Implementation of JSR-299"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:6
+#, no-c-format
+msgid ""
+"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
+"WebBeans\">the Seam project</ulink>. You can download the latest developer "
+"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
+"\">the downloads page</ulink>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:13
+#, no-c-format
+msgid ""
+"Web Beans comes with a two deployable example applications: "
+"<literal>webbeans-numberguess</literal>, a war example, containing only "
+"simple beans, and <literal>webbeans-translator</literal> an ear example, "
+"containing enterprise beans. There are also two variations on the "
+"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
+"and the jsf2 example, which you can use if you are running JSF2. To run the "
+"examples you'll need the following:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:25
+#, no-c-format
+msgid "the latest release of Web Beans,"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:28
+#, no-c-format
+msgid "JBoss AS 5.0.1.GA, or"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:31
+#, no-c-format
+msgid "Apache Tomcat 6.0.x, and"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:34
+#, no-c-format
+msgid "Ant 1.7.0."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:39
+#, no-c-format
+msgid "Using JBoss AS 5"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:41
+#, no-c-format
+msgid ""
+"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
+"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:47
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.1.GA.zip]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:49 gettingstarted.xml:170
+#, no-c-format
+msgid ""
+"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
+"\">seamframework.org</ulink>, and unzip it. For example"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:55 gettingstarted.xml:176
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-$VERSION.zip]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:58
+#, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>jboss.home</literal> "
+"property. For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:64
+#, no-c-format
+msgid "jboss.home=/Applications/jboss-5.0.1.GA"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:66
+#, no-c-format
+msgid ""
+"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
+"<literal>ANT_HOME</literal> environment variable set. For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:71
+#, no-c-format
+msgid ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:73
+#, no-c-format
+msgid ""
+"Then, you can install the update. The update script will use Maven to "
+"download Web Beans automatically."
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:78
+#, no-c-format
+msgid ""
+"$ cd webbeans-$VERSION/jboss-as\n"
+"$ ant update"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:80
+#, no-c-format
+msgid "Now, you're ready to deploy your first example!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:85
+#, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for JBoss AS, "
+"these are:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:91
+#, no-c-format
+msgid "<literal>ant restart</literal> - deploy the example in exploded format"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:97
+#, no-c-format
+msgid ""
+"<literal>ant explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:103
+#, no-c-format
+msgid ""
+"<literal>ant deploy</literal> - deploy the example in compressed jar format"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:108
+#, no-c-format
+msgid "<literal>ant undeploy</literal> - remove the example from the server"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:113
+#, no-c-format
+msgid "<literal>ant clean</literal> - clean the example"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:120
+#, no-c-format
+msgid "To deploy the numberguess example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:124
+#, no-c-format
+msgid ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:126
+#, no-c-format
+msgid "Start JBoss AS:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:130
+#, no-c-format
+msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:133
+#, no-c-format
+msgid "If you use Windows, use the <literal>run.bat</literal>script."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:138 gettingstarted.xml:240
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
+"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:143
+#, no-c-format
+msgid ""
+"Web Beans includes a second simple example that will translate your text "
+"into Latin. The numberguess example is a war example, and uses only simple "
+"beans; the translator example is an ear example, and includes enterprise "
+"beans, packaged in an EJB module. To try it out:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:150
+#, no-c-format
+msgid ""
+"$ cd examples/translator\n"
+"ant deploy"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:152
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and visit <ulink url=\"http://"
+"localhost:8080/webbeans-translator\"></ulink>!"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:160
+#, no-c-format
+msgid "Using Apache Tomcat 6.0"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:162
+#, no-c-format
+msgid ""
+"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
+"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
+"For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:168
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:178
+#, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
+"property. For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:184
+#, no-c-format
+msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:187
+#, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for Tomcat, "
+"these are:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:193
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:199
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:205
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
+"format"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:210
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:215
+#, no-c-format
+msgid "<literal>ant tomcat.clean</literal> - clean the example"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:222
+#, no-c-format
+msgid "To deploy the numberguess example for tomcat:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:226
+#, no-c-format
+msgid ""
+"$ cd examples/tomcat\n"
+"ant tomcat.deploy"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:228
+#, no-c-format
+msgid "Start Tomcat:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:232
+#, no-c-format
+msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:235
+#, no-c-format
+msgid "If you use Windows, use the <literal>startup.bat</literal>script."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:248
+#, no-c-format
+msgid "Using GlassFish"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:250
+#, no-c-format
+msgid "TODO"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:254
+#, no-c-format
+msgid "The numberguess example"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:256
+#, no-c-format
+msgid ""
+"In the numberguess application you get given 10 attempts to guess a number "
+"between 1 and 100. After each attempt, you will be told whether you are too "
+"high, or too low."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:262
+#, no-c-format
+msgid ""
+"The numberguess example is comprised of a number of Web Beans, configuration "
+"files, and Facelet JSF pages, packaged as a war. Let's start with the "
+"configuration files."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:268
+#, no-c-format
+msgid ""
+"All the configuration files for this example are located in <literal>WEB-INF/"
+"</literal>, which is stored in <literal>WebContent</literal> in the source "
+"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
+"JSF to use Facelets:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:276
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:278
+#, no-c-format
+msgid ""
+"There is an empty <literal>web-beans.xml</literal> file, which marks this "
+"application as a Web Beans application."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:283
+#, no-c-format
+msgid "Finally there is <literal>web.xml</literal>:"
+msgstr ""
+
+#. Tag: section
+#: gettingstarted.xml:285
+#, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
+"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
+"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
+"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
+"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
+"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
+"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
+"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
+"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
+"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
+"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
+"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
+"session timeout of 10 minutes </para> </callout> </calloutlist> </"
+"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
+"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
+"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
+"id=\"template\" coords=\"8\"/> <area id=\"messages2\" coords=\"12\"/> <area "
+"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
+"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
+"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
+"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
+"dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
+"number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
+"number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game."
+"biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
+"{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
+"<para> Facelets is a templating language for JSF, here we are wrapping our "
+"page in a template which defines the header. </para> </callout> <callout "
+"arearefs=\"messages2\"> <para> There are a number of messages which can be "
+"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
+"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
+"range of numbers they can guess gets smaller - this sentance changes to make "
+"sure they know what range to guess in. </para> </callout> <callout arearefs="
+"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
+"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
+"range validator is used to make sure the user doesn't accidentally input a "
+"number outside of the range in which they can guess - if the validator "
+"wasn't here, the user might use up a guess on an out of range number. </"
+"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
+"must be a way for the user to send their guess to the server. Here we bind "
+"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
+"programlistingco>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:387
+#, no-c-format
+msgid ""
+"The example exists of 4 classes, the first two of which are binding types. "
+"First, there is the <literal>@Random</literal> binding type, used for "
+"injecting a random number:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:393
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:395
+#, no-c-format
+msgid ""
+"There is also the <literal>@MaxNumber</literal> binding type, used for "
+"injecting the maximum number that can be injected:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:400
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:402
+#, no-c-format
+msgid ""
+"The <literal>Generator</literal> class is responsible for creating the "
+"random number, via a producer method. It also exposes the maximum possible "
+"number via a producer method:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:408
+#, no-c-format
+msgid ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System."
+"currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:410
+#, no-c-format
+msgid ""
+"You'll notice that the <literal>Generator</literal> is application scoped; "
+"therefore we don't get a different random each time."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:415
+#, no-c-format
+msgid ""
+"The final Web Bean in the application is the session scoped <literal>Game</"
+"literal>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:420
+#, no-c-format
+msgid ""
+"You'll note that we've used the <literal>@Named</literal> annotation, so "
+"that we can use the bean through EL in the JSF page. Finally, we've used "
+"constructor injection to initialize the game with a random number. And of "
+"course, we need to tell the player when they've won, so we give feedback "
+"with a <literal>FacesMessage</literal>."
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:428
+#, no-c-format
+msgid ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
+"(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new "
+"AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:431
+#, no-c-format
+msgid "The numberguess example in Tomcat"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:433
+#, no-c-format
+msgid ""
+"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
+"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
+"literal>. For your convenience we provide a single jar suitable for running "
+"Web Beans in any servlet container <literal>webbeans-servlet.jar</literal>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:442
+#, no-c-format
+msgid ""
+"Of course, you must also include JSF and EL, as well common annotations "
+"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:449
+#, no-c-format
+msgid ""
+"Secondly, we need to explicitly specify the servlet listener (used to boot "
+"Web Beans, and control it's interaction with requests) in <literal>web.xml</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:455
+#, no-c-format
+msgid ""
+"<![CDATA[<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:460
+#, no-c-format
+msgid "The numberguess example for Apache Wicket"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:461
+#, no-c-format
+msgid ""
+"Whilst JSR-299 specifies integration with Java ServerFaces, Web Beans allows "
+"you to inject into Wicket components, and also allows you to use a "
+"conversation context with Wicket. In this section, we'll walk you through "
+"the Wicket version of the numberguess example."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:470
+#, no-c-format
+msgid ""
+"You may want to review the Wicket documentation at <ulink url=\"http://"
+"wicket.apache.org/\">http://wicket.apache.org/</ulink>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:476
+#, no-c-format
+msgid ""
+"Like the previous example, the Wicket WebBeans examples make use of the "
+"<literal>webbeans-servlet</literal> module. The use of the <ulink url="
+"\"http://jetty.mortbay.org/\">Jetty servlet container</ulink> is common in "
+"the Wicket community, and is chosen here as the runtime container in order "
+"to facilitate comparison between the standard Wicket examples and these "
+"examples, and also to show how the webbeans-servlet integration is not "
+"dependent upon Tomcat as the servlet container."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:487
+#, no-c-format
+msgid ""
+"These examples make use of the Eclipse IDE; instructions are also given to "
+"deploy the application from the command line."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:493
+#, no-c-format
+msgid "Creating the Eclipse project"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:495
+#, no-c-format
+msgid "To generate an Eclipse project from the example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:499
+#, no-c-format
+msgid ""
+"<![CDATA[cd examples/wicket/numberguess\n"
+"mvn eclipse:eclipse]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:501
+#, no-c-format
+msgid ""
+"Then, from eclipse, choose <emphasis>File -> Import -> General -> Existing "
+"Projects into Workspace</emphasis>, select the root directory of the "
+"numberguess example, and click finish. This will create a project in your "
+"workspace called <literal>webbeans-wicket-numberguess</literal>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:516
+#, no-c-format
+msgid "Running the example from Eclipse"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:518
+#, no-c-format
+msgid ""
+"This project follows the <literal>wicket-quickstart</literal> approach of "
+"creating an instance of Jetty in the <literal>Start</literal> class. So "
+"running the example is as simple as right-clicking on that Start class in "
+"<literal>src/test/java</literal> in the <emphasis>Package Explorer</"
+"emphasis> and choosing <emphasis>Run as Java Application</emphasis>. You "
+"should see console output related to Jetty starting up; then visit able "
+"<literal>http://localhost:8080</literal> to view the app. To debug choose "
+"<emphasis>Debug as Java Application</emphasis>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:533
+#, no-c-format
+msgid "Running the example from the command line in JBoss AS or Tomcat"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:535
+#, no-c-format
+msgid ""
+"This example can also be deployed from the command line in a (similar to the "
+"other examples). Assuming you have set up the <literal>build.properties</"
+"literal> file in the <literal>examples</literal> directory to specify the "
+"location of JBoss AS or Tomcat, as previously described, you can run "
+"<literal>ant deploy</literal> from the <literal>examples/wicket/numberguess</"
+"literal> directory, and access the application at <literal>http://"
+"localhost:8080/webbeans-numberguess-wicket</literal>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:549
+#, no-c-format
+msgid "Understanding the code"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:551
+#, no-c-format
+msgid ""
+"JSF uses Unified EL expressions to bind view layer components in JSP or "
+"Facelet views to beans, Wicket defines it's components in Java. The markup "
+"is plain html with a one-to-one mapping between html elements and the view "
+"components. All view logic, including binding of components to models and "
+"controlling the response of view actions, is handled in Java. The "
+"integration of Web Beans with Wicket takes advantage of the same binding "
+"annotations used in your business layer to provide injection into your "
+"WebPage subclass (or into other custom wicket component subclasses)."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:563
+#, no-c-format
+msgid ""
+"The code in the wicket numberguess example is very similar to the JSF-based "
+"numberguess example. The business layer is identical!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:568
+#, no-c-format
+msgid "Differences are:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:573
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass, In our case, our application class is <literal>SampleApplication</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:579
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:580
+#, no-c-format
+msgid ""
+"This class specifies which page wicket should treat as our home page, in our "
+"case, <literal>HomePage.class</literal>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:586
+#, no-c-format
+msgid ""
+"In <literal>HomePage</literal> we see typical wicket code to set up page "
+"elements. The bit that is interesting is the injection of the <literal>Game</"
+"literal> bean:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:592
+#, no-c-format
+msgid "<![CDATA[ @Current Game game;]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:594
+#, no-c-format
+msgid ""
+"The <literal>Game</literal> bean is can then be used, for example, by the "
+"code for submitting a guess:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:599
+#, no-c-format
+msgid ""
+"<![CDATA[final Component guessButton = new AjaxButton(\"GuessButton\") { \n"
+"   protected void onSubmit(AjaxRequestTarget target, Form form) {\n"
+"      if (game.check()) {]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:602
+#, no-c-format
+msgid ""
+"All injections may be serialized; actual storage of the bean is managed by "
+"JSR-299. Note that Wicket components, like the HomePage and it "
+"subcomponents, are <emphasis>not</emphasis> JSR-299 beans."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:608
+#, no-c-format
+msgid ""
+"Wicket components allow injection, but they <emphasis>cannot</emphasis> use "
+"interceptors, decorators and lifecycle callbacks such as "
+"<literal>@PostConstruct</literal> or <literal>@Initializer</literal> methods."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:618
+#, no-c-format
+msgid ""
+"The example uses AJAX for processing of button events, and dynamically hides "
+"buttons that are no longer relevant, for example when the user has won the "
+"game."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:626
+#, no-c-format
+msgid ""
+"In order to activate wicket for this webapp, the Wicket filter is added to "
+"web.xml, and our application class is specified:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:631
+#, no-c-format
+msgid ""
+"<![CDATA[<filter>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-"
+"class>\n"
+"   <init-param>\n"
+"      <param-name>applicationClassName</param-name>\n"
+"      <param-value>org.jboss.webbeans.examples.wicket.SampleApplication</"
+"param-value>\n"
+"   </init-param>\n"
+"</filter>\n"
+"\n"
+"<filter-mapping>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <url-pattern>/*</url-pattern>\n"
+"</filter-mapping>\n"
+" \n"
+"<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:632
+#, no-c-format
+msgid ""
+"Note that the servlet listener is also added, as in the Tomcat example, in "
+"order to boostrap Web Beans when Jetty starts, and to hook Web Beans into "
+"the Jetty servlet request and session lifecycles."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:645
+#, no-c-format
+msgid "The numberguess example for Java SE with Swing"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:647
+#, no-c-format
+msgid ""
+"This example can be found in the <literal>examples/se/numberguess</literal> "
+"folder of the Web Beans distribution."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:654
+#, no-c-format
+msgid "To run this example:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:660
+#, no-c-format
+msgid ""
+"Open a command line/terminal window in the <literal>examples/se/numberguess</"
+"literal> directory"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:666
+#, no-c-format
+msgid "Ensure that Maven 2 is installed and in your PATH"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:671
+#, no-c-format
+msgid ""
+"Ensure that the <literal>JAVA_HOME</literal> environment variable is "
+"pointing to your JDK installation"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:677
+#, no-c-format
+msgid "execute the following command"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:680
+#, no-c-format
+msgid "mvn -Drun"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:686
+#, no-c-format
+msgid ""
+"There is an empty <literal>beans.xml</literal> file in the root package "
+"(<literal>src/main/resources/beans.xml</literal>), which marks this "
+"application as a Web Beans application."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:692
+#, no-c-format
+msgid ""
+"The game's main logic is located in <literal>Game.java</literal>. Here is "
+"the code for that class, highlighting the changes made from the web "
+"application version:"
+msgstr ""
+
+#. Tag: section
+#: gettingstarted.xml:696
+#, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"scope\" coords=\"1\"/> <area id="
+"\"name\" coords=\"1\"/> <area id=\"messages1\" coords=\"26\"/> <area id="
+"\"validation\" coords=\"39\"/> <area id=\"reset\" coords=\"68\"/> </"
+"areaspec> <programlisting role=\"JAVA\"><![CDATA[@ApplicationScoped\n"
+"public class Game implements Serializable\n"
+"{\n"
+"\n"
+"    private int number;\n"
+"    private int guess;\n"
+"    private int smallest;\n"
+"\n"
+"    @MaxNumber\n"
+"    private int maxNumber;\n"
+"\n"
+"    private int biggest;\n"
+"    private int remainingGuesses;\n"
+"    private boolean validNumberRange = true;\n"
+"\n"
+"    @Current Generator rndGenerator;\n"
+"\n"
+"    ...\n"
+"\n"
+"    public boolean isValidNumberRange()\n"
+"    {\n"
+"        return validNumberRange;\n"
+"    }\n"
+"\n"
+"    public boolean isGameWon()\n"
+"    {\n"
+"        return guess == number;\n"
+"    }\n"
+"\n"
+"    public boolean isGameLost()\n"
+"    {\n"
+"        return guess != number && remainingGuesses <= 0;\n"
+"    }\n"
+"\n"
+"    public boolean check()\n"
+"    {\n"
+"        boolean result = false;\n"
+"\n"
+"        if ( checkNewNumberRangeIsValid() )\n"
+"        {\n"
+"            if ( guess > number )\n"
+"            {\n"
+"                biggest = guess - 1;\n"
+"            }\n"
+"\n"
+"            if ( guess < number )\n"
+"            {\n"
+"                smallest = guess + 1;\n"
+"            }\n"
+"\n"
+"            if ( guess == number )\n"
+"            {\n"
+"                result = true;\n"
+"            }\n"
+"\n"
+"            remainingGuesses--;\n"
+"        }\n"
+"\n"
+"        return result;\n"
+"    }\n"
+"\n"
+"    private boolean checkNewNumberRangeIsValid()\n"
+"    {\n"
+"        return validNumberRange = ( ( guess >= smallest ) && ( guess <= "
+"biggest ) );\n"
+"    }\n"
+"\n"
+"    @PostConstruct\n"
+"    public void reset()\n"
+"    {\n"
+"        this.smallest = 0;\n"
+"        ...\n"
+"        this.number = rndGenerator.next();\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"scope\"> <para> The "
+"bean is application scoped instead of session scoped, since an instance of "
+"the application represents a single 'session'. </para> </callout> <callout "
+"arearefs=\"name\"> <para> The bean is not named, since it doesn't need to be "
+"accessed via EL </para> </callout> <callout arearefs=\"messages1\"> <para> "
+"There is no JSF <literal>FacesContext</literal> to add messages to. Instead "
+"the <literal>Game</literal> class provides additional information about the "
+"state of the current game including: </para> <itemizedlist> <listitem> "
+"<para> If the game has been won or lost </para> </listitem> <listitem> "
+"<para> If the most recent guess was invalid </para> </listitem> </"
+"itemizedlist> <para> This allows the Swing UI to query the state of the "
+"game, which it does indirectly via a class called <literal>MessageGenerator,"
+"</literal> in order to determine the appropriate messages to display to the "
+"user during the game. </para> </callout> <callout arearefs=\"validation\"> "
+"<para> Validation of user input is performed during the <literal>check()</"
+"literal> method, since there is no dedicated validation phase </para> </"
+"callout> <callout arearefs=\"reset\"> <para> The <literal>reset()</literal> "
+"method makes a call to the injected <literal>rndGenerator</literal> in order "
+"to get the random number at the start of each game. It cannot use "
+"<literal>manager.getInstanceByType(Integer.class, new AnnotationLiteral&lt;"
+"Random&gt;(){})</literal> as the JSF example does because there will not be "
+"any active contexts like there is during a JSF request. </para> </callout> </"
+"calloutlist> </programlistingco> <para> The <literal>MessageGenerator</"
+"literal> class depends on the current instance of <literal>Game</literal>, "
+"and queries its state in order to determine the appropriate messages to "
+"provide as the prompt for the user's next guess and the response to the "
+"previous guess. The code for <literal>MessageGenerator</literal> is as "
+"follows: </para> <programlistingco> <areaspec> <area id=\"game\" coords=\"3"
+"\"/> <area id=\"challenge\" coords=\"5\"/> <area id=\"result\" coords=\"16\"/"
+"> </areaspec> <programlisting role=\"JAVA\"><![CDATA[public class "
+"MessageGenerator\n"
+"{\n"
+"    @Current Game game;\n"
+"\n"
+"    public String getChallengeMessage()\n"
+"    {\n"
+"        StringBuilder challengeMsg = new StringBuilder( \"I'm thinking of a "
+"number between \" );\n"
+"        challengeMsg.append( game.getSmallest() );\n"
+"        challengeMsg.append( \" and \" );\n"
+"        challengeMsg.append( game.getBiggest() );\n"
+"        challengeMsg.append( \". Can you guess what it is?\" );\n"
+"\n"
+"        return challengeMsg.toString();\n"
+"    }\n"
+"\n"
+"    public String getResultMessage()\n"
+"    {\n"
+"        if ( game.isGameWon() )\n"
+"        {\n"
+"            return \"You guess it! The number was \" + game.getNumber();\n"
+"        } else if ( game.isGameLost() )\n"
+"        {\n"
+"            return \"You are fail! The number was \" + game.getNumber();\n"
+"        } else if ( ! game.isValidNumberRange() )\n"
+"        {\n"
+"            return \"Invalid number range!\";\n"
+"        } else if ( game.getRemainingGuesses() == Game.MAX_NUM_GUESSES )\n"
+"        {\n"
+"            return \"What is your first guess?\";\n"
+"        } else\n"
+"        {\n"
+"            String direction = null;\n"
+"\n"
+"            if ( game.getGuess() < game.getNumber() )\n"
+"            {\n"
+"                direction = \"Higher\";\n"
+"            } else\n"
+"            {\n"
+"                direction = \"Lower\";\n"
+"            }\n"
+"\n"
+"            return direction + \"! You have \" + game.getRemainingGuesses() "
+"+ \" guesses left.\";\n"
+"        }\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"game\"> <para> The "
+"instance of <literal>Game</literal> for the application is injected here. </"
+"para> </callout> <callout arearefs=\"challenge\"> <para> The <literal>Game</"
+"literal>'s state is interrogated to determine the appropriate challenge "
+"message. </para> </callout> <callout arearefs=\"result\"> <para> And again "
+"to determine whether to congratulate, console or encourage the user to "
+"continue. </para> </callout> </calloutlist> </programlistingco> <para> "
+"Finally we come to the <literal>NumberGuessFrame</literal> class which "
+"provides the Swing front end to our guessing game. </para> "
+"<programlistingco> <areaspec> <area id=\"gameIn\" coords=\"3\"/> <area id="
+"\"messagesIn\" coords=\"4\"/> <area id=\"start\" coords=\"6\"/> <area id="
+"\"init\" coords=\"18\"/> <area id=\"guess1\" coords=\"34\"/> <area id="
+"\"replay\" coords=\"44\"/> <area id=\"refresh\" coords=\"50\"/> </areaspec> "
+"<programlisting role=\"JAVA\"><![CDATA[public class NumberGuessFrame  "
+"extends javax.swing.JFrame\n"
+"{\n"
+"    private @Current Game game;\n"
+"    private @Current MessageGenerator msgGenerator;\n"
+"\n"
+"    public void start( @Observes @Deployed Manager manager )\n"
+"    {\n"
+"        java.awt.EventQueue.invokeLater( new Runnable()\n"
+"            {\n"
+"                public void run()\n"
+"                {\n"
+"                    initComponents();\n"
+"                    setVisible( true );\n"
+"                }\n"
+"            } );\n"
+"    }\n"
+"\n"
+"    private void initComponents() {\n"
+"\n"
+"        buttonPanel = new javax.swing.JPanel();\n"
+"        mainMsgPanel = new javax.swing.JPanel();\n"
+"        mainLabel = new javax.swing.JLabel();\n"
+"        messageLabel = new javax.swing.JLabel();\n"
+"        guessText = new javax.swing.JTextField();\n"
+"        ...\n"
+"        mainLabel.setText(msgGenerator.getChallengeMessage());\n"
+"        mainMsgPanel.add(mainLabel);\n"
+"\n"
+"        messageLabel.setText(msgGenerator.getResultMessage());\n"
+"        mainMsgPanel.add(messageLabel);\n"
+"        ...\n"
+"    }\n"
+"\n"
+"    private void guessButtonActionPerformed( java.awt.event.ActionEvent "
+"evt )\n"
+"    {\n"
+"        int guess =  Integer.parseInt(guessText.getText());\n"
+"\n"
+"        game.setGuess( guess );\n"
+"        game.check();\n"
+"        refreshUI();\n"
+"\n"
+"    }\n"
+"\n"
+"    private void replayBtnActionPerformed( java.awt.event.ActionEvent evt )\n"
+"    {\n"
+"       game.reset();\n"
+"       refreshUI();\n"
+"    }\n"
+"\n"
+"    private void refreshUI()\n"
+"    {\n"
+"        mainLabel.setText( msgGenerator.getChallengeMessage() );\n"
+"        messageLabel.setText( msgGenerator.getResultMessage() );\n"
+"        guessText.setText( \"\" );\n"
+"        guessesLeftBar.setValue( game.getRemainingGuesses() );\n"
+"        guessText.requestFocus();\n"
+"    }\n"
+"\n"
+"    // swing components\n"
+"    private javax.swing.JPanel borderPanel;\n"
+"    ...\n"
+"    private javax.swing.JButton replayBtn;\n"
+"\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"gameIn\"> <para> The "
+"injected instance of the game (logic and state). </para> </callout> <callout "
+"arearefs=\"messagesIn\"> <para> The injected message generator for UI "
+"messages. </para> </callout> <callout arearefs=\"start\"> <para> This "
+"application is started in the usual Web Beans SE way, by observing the "
+"<literal>@Deployed Manager</literal> event. </para> </callout> <callout "
+"arearefs=\"init\"> <para> This method initialises all of the Swing "
+"components. Note the use of the <literal>msgGenerator</literal>. </para> </"
+"callout> <callout arearefs=\"guess1\"> <para> "
+"<literal>guessButtonActionPerformed</literal> is called when the 'Guess' "
+"button is clicked, and it does the following: </para> <itemizedlist> "
+"<listitem> <para> Gets the guess entered by the user and sets it as the "
+"current guess in the <literal>Game</literal> </para> </listitem> <listitem> "
+"<para> Calls <literal>game.check()</literal> to validate and perform one "
+"'turn' of the game </para> </listitem> <listitem> <para> Calls "
+"<literal>refreshUI</literal>. If there were validation errors with the "
+"input, this will have been captured during <literal>game.check()</literal> "
+"and as such will be reflected in the messeges returned by "
+"<literal>MessageGenerator</literal> and subsequently presented to the user. "
+"If there are no validation errors then the user will be told to guess again "
+"(higher or lower) or that the game has ended either in a win (correct guess) "
+"or a loss (ran out of guesses). </para> </listitem> </itemizedlist> </"
+"callout> <callout arearefs=\"replay\"> <para> "
+"<literal>replayBtnActionPerformed</literal> simply calls <literal>game.reset"
+"()</literal> to start a new game and refreshes the messages in the UI. </"
+"para> </callout> <callout arearefs=\"refresh\"> <para> <literal>refreshUI</"
+"literal> uses the <literal>MessageGenerator</literal> to update the messages "
+"to the user based on the current state of the Game. </para> </callout> </"
+"calloutlist> </programlistingco>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:904
+#, no-c-format
+msgid "The translator example"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:906
+#, no-c-format
+msgid ""
+"The translator example will take any sentences you enter, and translate them "
+"to Latin."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:911
+#, no-c-format
+msgid ""
+"The translator example is built as an ear, and contains EJBs. As a result, "
+"it's structure is more complex than the numberguess example."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:917
+#, no-c-format
+msgid ""
+"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
+"this structure much simpler!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:923
+#, no-c-format
+msgid ""
+"First, let's take a look at the ear aggregator, which is located in "
+"<literal>webbeans-translator-ear</literal> module. Maven automatically "
+"generates the <literal>application.xml</literal> for us:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:929
+#, no-c-format
+msgid ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:931
+#, no-c-format
+msgid ""
+"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
+"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
+"translator</ulink>)."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:937
+#, no-c-format
+msgid ""
+"If you aren't using Maven to generate these files, you would need "
+"<literal>META-INF/application.xml</literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:942
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web "
+"Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:945
+#, no-c-format
+msgid ""
+"Next, lets look at the war. Just as in the numberguess example, we have a "
+"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
+"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:952
+#, no-c-format
+msgid ""
+"More intersting is the facelet used to translate text. Just as in the "
+"numberguess example we have a template, which surrounds the form (ommitted "
+"here for brevity):"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:958
+#, no-c-format
+msgid ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:960
+#, no-c-format
+msgid ""
+"The user can enter some text in the lefthand textarea, and hit the translate "
+"button to see the result to the right."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:965
+#, no-c-format
+msgid ""
+"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
+"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
+"empty <literal>web-beans.xml</literal>, used to mark the archive as "
+"containing Web Beans."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:973
+#, no-c-format
+msgid ""
+"We've saved the most interesting bit to last, the code! The project has two "
+"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
+"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
+"literal> and <literal>SentenceTranslator</literal>. You should be getting "
+"quite familiar with what a Web Bean looks like by now, so we'll just "
+"highlight the most interesting bits here."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:983
+#, no-c-format
+msgid ""
+"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
+"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
+"initialization:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:989
+#, no-c-format
+msgid ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator "
+"sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:991
+#, no-c-format
+msgid ""
+"<literal>TextTranslator</literal> is a stateless bean (with a local business "
+"interface), where the magic happens - of course, we couldn't develop a full "
+"translator, but we gave it a good go!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:997
+#, no-c-format
+msgid ""
+"Finally, there is UI orientated controller, that collects the text from the "
+"user, and dispatches it to the translator. This is a request scoped, named, "
+"stateful session bean, which injects the translator."
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:1003
+#, no-c-format
+msgid ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:1005
+#, no-c-format
+msgid "The bean also has getters and setters for all the fields on the page."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:1009
+#, no-c-format
+msgid "As this is a stateful session bean, we have to have a remove method:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:1013
+#, no-c-format
+msgid ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:1015
+#, no-c-format
+msgid ""
+"The Web Beans manager will call the remove method for you when the bean is "
+"destroyed; in this case at the end of the request."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:1021
+#, no-c-format
+msgid ""
+"That concludes our short tour of the Web Beans examples. For more on Web "
+"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
+"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
+"Development</ulink>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:1027
+#, no-c-format
+msgid ""
+"We need help in all areas - bug fixing, writing new features, writing "
+"examples and translating this reference guide."
+msgstr ""

Modified: doc/trunk/reference/fr-FR/producermethods.po
===================================================================
--- doc/trunk/reference/fr-FR/producermethods.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/fr-FR/producermethods.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: master.xml \n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2008-12-19 20:26+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -36,29 +36,83 @@
 msgid "According to the spec:"
 msgstr ""
 
-#. Tag: chapter
-#: producermethods.xml:12
+#. Tag: para
+#: producermethods.xml:16
 #, no-c-format
 msgid ""
-"<blockquote> <para>A Web Beans producer method acts as a source of objects "
-"to be injected, where:</para> <itemizedlist> <listitem> <para>the objects to "
-"be injected are not required to be instances of Web Beans,</para> </"
-"listitem> <listitem> <para>the concrete type of the objects to be injected "
-"may vary at runtime or</para> </listitem> <listitem> <para>the objects "
-"require some custom initialization that is not performed by the Web Bean "
-"constructor</para> </listitem> </itemizedlist> </blockquote> <para>For "
-"example, producer methods let us:</para> <itemizedlist> <listitem> "
-"<para>expose a JPA entity as a Web Bean,</para> </listitem> <listitem> "
-"<para>expose any JDK class as a Web Bean,</para> </listitem> <listitem> "
-"<para>define multiple Web Beans, with different scopes or initialization, "
-"for the same implementation class, or</para> </listitem> <listitem> "
-"<para>vary the implementation of an API type at runtime.</para> </listitem> "
-"</itemizedlist> <para>In particular, producer methods let us use runtime "
-"polymorphism with Web Beans. As we've seen, deployment types are a powerful "
-"solution to the problem of deployment-time polymorphism. But once the system "
-"is deployed, the Web Bean implementation is fixed. A producer method has no "
-"such limitation:</para> <programlisting role=\"JAVA\"><![CDATA"
-"[@SessionScoped\n"
+"A Web Beans producer method acts as a source of objects to be injected, "
+"where:"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:20
+#, no-c-format
+msgid ""
+"the objects to be injected are not required to be instances of Web Beans,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:23
+#, no-c-format
+msgid "the concrete type of the objects to be injected may vary at runtime or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:26
+#, no-c-format
+msgid ""
+"the objects require some custom initialization that is not performed by the "
+"Web Bean constructor"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:33
+#, no-c-format
+msgid "For example, producer methods let us:"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:37
+#, no-c-format
+msgid "expose a JPA entity as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:40
+#, no-c-format
+msgid "expose any JDK class as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:43
+#, no-c-format
+msgid ""
+"define multiple Web Beans, with different scopes or initialization, for the "
+"same implementation class, or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:47
+#, no-c-format
+msgid "vary the implementation of an API type at runtime."
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:51
+#, no-c-format
+msgid ""
+"In particular, producer methods let us use runtime polymorphism with Web "
+"Beans. As we've seen, deployment types are a powerful solution to the "
+"problem of deployment-time polymorphism. But once the system is deployed, "
+"the Web Bean implementation is fixed. A producer method has no such "
+"limitation:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:56
+#, no-c-format
+msgid ""
+"<![CDATA[@SessionScoped\n"
 "public class Preferences {\n"
 "    \n"
 "    private PaymentStrategyType paymentStrategy;\n"
@@ -75,15 +129,37 @@
 "        } \n"
 "    }\n"
 "    \n"
-"}]]></programlisting> <para>Consider an injection point:</para> "
-"<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
-"paymentStrat;]]></programlisting> <para>This injection point has the same "
-"type and binding annotations as the producer method, so it resolves to the "
-"producer method using the usual Web Beans injection rules. The producer "
-"method will be called by the Web Bean manager to obtain an instance to "
-"service this injection point.</para>."
+"}]]>"
 msgstr ""
 
+#. Tag: para
+#: producermethods.xml:58
+#, no-c-format
+msgid "Consider an injection point:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:60
+#, no-c-format
+msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:62
+#, no-c-format
+msgid ""
+"This injection point has the same type and binding annotations as the "
+"producer method, so it resolves to the producer method using the usual Web "
+"Beans injection rules. The producer method will be called by the Web Bean "
+"manager to obtain an instance to service this injection point."
+msgstr ""
+
+#. Tag: chapter
+#: producermethods.xml:65
+#, no-c-format
+msgid "<chapter>.</chapter>"
+msgstr ""
+
 #. Tag: title
 #: producermethods.xml:68
 #, no-c-format

Modified: doc/trunk/reference/fr-FR/ri-spi.po
===================================================================
--- doc/trunk/reference/fr-FR/ri-spi.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/fr-FR/ri-spi.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: master.xml \n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2008-12-20 22:07+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -16,127 +16,112 @@
 #. Tag: title
 #: ri-spi.xml:4
 #, no-c-format
-msgid "Integrating the Web Beans RI into other environments"
+msgid "Integrating Web Beans into other environments"
 msgstr ""
 
 #. Tag: para
 #: ri-spi.xml:6
 #, no-c-format
 msgid ""
-"Currently the Web Beans RI only runs in JBoss AS 5; integrating the RI into "
-"other EE environments (for example another application server like "
-"Glassfish), into a servlet container (like Tomcat), or with an Embedded "
-"EJB3.1 implementation is fairly easy. In this Appendix we will briefly "
-"discuss the steps needed."
+"Currently Web Beans only runs in JBoss AS 5; integrating the RI into other "
+"EE environments (for example another application server like Glassfish), "
+"into a servlet container (like Tomcat), or with an Embedded EJB3.1 "
+"implementation is fairly easy. In this Appendix we will briefly discuss the "
+"steps needed."
 msgstr ""
 
-#. Tag: para
+#. Tag: title
 #: ri-spi.xml:15
 #, no-c-format
-msgid ""
-"It should be possible to run Web Beans in an SE environment, but you'll to "
-"do more work, adding your own contexts and lifecycle. The Web Beans RI "
-"currently doesn't expose lifecycle extension points, so you would have to "
-"code directly against Web Beans RI classes."
+msgid "The Web Beans SPI"
 msgstr ""
 
-#. Tag: title
-#: ri-spi.xml:24
-#, no-c-format
-msgid "The Web Beans RI SPI"
-msgstr ""
-
 #. Tag: para
-#: ri-spi.xml:26
+#: ri-spi.xml:17
 #, no-c-format
 msgid ""
-"The Web Beans SPI is located in <literal>webbeans-spi</literal> module, and "
-"packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, if "
-"you need to override the default behavior, others are required."
+"The Web Beans SPI is located in the <literal>webbeans-spi</literal> module, "
+"and packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, "
+"if you need to override the default behavior, others are required."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:33
+#: ri-spi.xml:24
 #, no-c-format
 msgid ""
 "All interfaces in the SPI support the decorator pattern and provide a "
-"<literal>Forwarding</literal> class."
+"<literal>Forwarding</literal> class located in the <literal>helpers</"
+"literal> sub package. Additional, commonly used, utility classes, and "
+"standard implementations are also located in the <literal>helpers</literal> "
+"sub package."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:39
+#: ri-spi.xml:33
 #, no-c-format
 msgid "Web Bean Discovery"
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:41
+#: ri-spi.xml:35
 #, no-c-format
 msgid ""
-"<![CDATA[public interface WebBeanDiscovery {\n"
-"   /**\n"
-"    * Gets list of all classes in classpath archives with web-beans.xml "
-"files\n"
+"<![CDATA[/**\n"
+"    * Gets list of all classes in classpath archives with META-INF/beans.xml "
+"(or\n"
+"    * for WARs WEB-INF/beans.xml) files\n"
 "    * \n"
 "    * @return An iterable over the classes \n"
 "    */\n"
 "   public Iterable<Class<?>> discoverWebBeanClasses();\n"
 "   \n"
 "   /**\n"
-"    * Gets a list of all web-beans.xml files in the app classpath\n"
+"    * Gets a list of all deployment descriptors in the app classpath\n"
 "    * \n"
-"    * @return An iterable over the web-beans.xml files \n"
+"    * @return An iterable over the beans.xml files \n"
 "    */\n"
-"   public Iterable<URL> discoverWebBeansXml();\n"
-"   \n"
-"}]]>"
+"   public Iterable<URL> discoverWebBeansXml();]]>"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:43
+#: ri-spi.xml:37
 #, no-c-format
 msgid ""
-"The discovery of Web Bean classes and <literal>web-bean.xml</literal> files "
-"is self-explanatory (the algorithm is described in Section 11.1 of the JSR-"
-"299 specification, and isn't repeated here)."
+"The discovery of Web Bean classes and <literal>beans.xml</literal> files is "
+"self-explanatory (the algorithm is described in Section 11.1 of the JSR-299 "
+"specification, and isn't repeated here)."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:52
+#: ri-spi.xml:46
 #, no-c-format
 msgid "EJB services"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:54
+#: ri-spi.xml:49
 #, no-c-format
 msgid ""
-"The Web Beans RI also delegates EJB3 bean discovery to the container so that "
-"it doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
-"literal>. For each EJB in the application an EJBDescriptor should be "
-"discovered:"
+"Web Beans will run without an EJB container; in this case you don't need to "
+"implement the EJB SPI."
 msgstr ""
 
-#. Tag: programlisting
-#: ri-spi.xml:61
+#. Tag: para
+#: ri-spi.xml:55
 #, no-c-format
 msgid ""
-"<![CDATA[public interface EjbServices\n"
-"{\n"
-"   \n"
-"   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
+"Web Beans also delegates EJB3 bean discovery to the container so that it "
+"doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
+"literal>. For each EJB in the application an EJBDescriptor should be "
+"discovered:"
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:63
+#: ri-spi.xml:62
 #, no-c-format
 msgid ""
-"<![CDATA[public interface EjbDescriptor<T> {\n"
+"<![CDATA[public interface EjbDescriptor<T>\n"
+"{\n"
 "   \n"
 "   /**\n"
 "    * Gets the EJB type\n"
@@ -201,14 +186,11 @@
 "    * \n"
 "    * @return The name\n"
 "    */\n"
-"   public String getEjbName();\n"
-"   \n"
-"   \n"
-"}]]>"
+"   public String getEjbName();]]>"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:65
+#: ri-spi.xml:64
 #, no-c-format
 msgid ""
 "The <literal>EjbDescriptor</literal> is fairly self-explanatory, and should "
@@ -220,17 +202,32 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:74
+#: ri-spi.xml:73
 #, no-c-format
 msgid ""
-"The resolution of <literal>@EJB</literal> and <literal>@Resource</literal> "
-"is delegated to the container. You must provide an implementation of "
-"<literal>org.jboss.webbeans.ejb.spi.EjbServices</literal> which provides "
-"these operations. Web Beans passes in the <literal>javax.inject.manager."
-"InjectionPoint</literal> the resolution is for, as well as the "
-"<literal>NamingContext</literal> in use for each resolution request."
+"The resolution of <literal>@EJB</literal> (for injection into simple beans), "
+"the resolution of local EJBs (for backing session beans) and remote EJBs "
+"(for injection as a Java EE resource) is delegated to the container. You "
+"must provide an implementation of <literal>org.jboss.webbeans.ejb.spi."
+"EjbServices</literal> which provides these operations. For resolving the "
+"<literal>@EJB</literal> injection point, Web Beans will provide the "
+"<literal>InjectionPoint</literal>; for resolving local EJBs, the "
+"<literal>EjbDescriptor</literal> will be provided, and for remote EJBs the "
+"<literal>jndiName</literal>, <literal>mappedName</literal>, or "
+"<literal>ejbLink</literal> will be provided."
 msgstr ""
 
+#. Tag: para
+#: ri-spi.xml:87
+#, no-c-format
+msgid ""
+"When resolving local EJBs (used to back session beans) a wrapper "
+"(<literal>SessionObjectReference</literal>) around the EJB reference is "
+"returned. This wrapper allows Web Beans to request a reference that "
+"implements the given business interface, and, in the case of SFSBs, request "
+"the removal of the EJB from the container."
+msgstr ""
+
 #. Tag: title
 #: ri-spi.xml:98
 #, no-c-format
@@ -241,35 +238,59 @@
 #: ri-spi.xml:100
 #, no-c-format
 msgid ""
-"Just as resolution of <literal>@EJB</literal> is delegated to the container, "
-"so is resolution of <literal>@PersistenceContext</literal>."
+"Just as EJB resolution is delegated to the container, resolution of "
+"<literal>@PersistenceContext</literal> for injection into simple beans (with "
+"the <literal>InjectionPoint</literal> provided), and resolution of "
+"persistence contexts and persistence units (with the <literal>unitName</"
+"literal> provided) for injection as a Java EE resource is delegated to the "
+"container."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:106
+#: ri-spi.xml:109
 #, no-c-format
 msgid ""
-"OPEN ISSUE: Web Beans also requires the container to provide a list of "
-"entities in the deployment, so that they aren't discovered as simple beans."
+"To allow JPA integration, the <literal>JpaServices</literal> interface "
+"should be implemented."
 msgstr ""
 
-#. Tag: title
+#. Tag: para
 #: ri-spi.xml:114
 #, no-c-format
+msgid ""
+"Web Beans also needs to know what entities are in a deployment (so that they "
+"aren't managed by Web Beans). An implementation that detects entities "
+"through <literal>@Entity</literal> and <literal>orm.xml</literal> is "
+"provided by default. If you want to provide support for a entities defined "
+"by a JPA provider (such as Hibernate's <literal>.hbm.xml</literal> you can "
+"wrap or replace the default implementation."
+msgstr ""
+
+#. Tag: programlisting
+#: ri-spi.xml:124
+#, no-c-format
+msgid ""
+"<![CDATA[EntityDiscovery delegate = bootstrap.getServices().get"
+"(EntityDiscovery.class);]]>"
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:129
+#, no-c-format
 msgid "Transaction Services"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:116
+#: ri-spi.xml:131
 #, no-c-format
 msgid ""
-"The Web Beans RI must delegate JTA activities to the container. The SPI "
-"provides a couple hooks to easily achieve this with the "
-"<literal>TransactionServices</literal> interface."
+"Web Beans must delegate JTA activities to the container. The SPI provides a "
+"couple hooks to easily achieve this with the <literal>TransactionServices</"
+"literal> interface."
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:122
+#: ri-spi.xml:137
 #, no-c-format
 msgid ""
 "<![CDATA[public interface TransactionServices\n"
@@ -305,7 +326,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:124
+#: ri-spi.xml:139
 #, no-c-format
 msgid ""
 "The enumeration <literal>Status</literal> is a convenience for implementors "
@@ -315,7 +336,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:131
+#: ri-spi.xml:147
 #, no-c-format
 msgid ""
 "Any <literal>javax.transaction.Synchronization</literal> implementation may "
@@ -325,7 +346,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:138
+#: ri-spi.xml:155
 #, no-c-format
 msgid ""
 "To make it easier to determine whether or not a transaction is currently "
@@ -335,30 +356,99 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:147
+#: ri-spi.xml:165
 #, no-c-format
+msgid "JMS services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:167
+#, no-c-format
+msgid ""
+"A number of JMS operations are not container specific, and so should be "
+"provided via the SPI <literal>JmsServices</literal>. JMS does not specify "
+"how to obtain a <literal>ConnectionFactory</literal> so the SPI provides a "
+"method which should be used to look up a factory. Web Beans also delegates "
+"<literal>Destination</literal> lookup to the container via the SPI."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:178
+#, no-c-format
+msgid "Resource Services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:180
+#, no-c-format
+msgid ""
+"The resolution of <literal>@Resource</literal> (for injection into simple "
+"beans) and the resolution of resources (for injection as a Java EE resource) "
+"is delegated to the container. You must provide an implementation of "
+"<literal>ResourceServices</literal> which provides these operations. For "
+"resolving the <literal>@Resource</literal> injection, Web Beans will provide "
+"the <literal>InjectionPoint</literal>; and for Java EE resources, the "
+"<literal>jndiName</literal> or <literal>mappedName</literal> will be "
+"provided."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:194
+#, no-c-format
+msgid "Web Services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:196
+#, no-c-format
+msgid ""
+"The resolution of web service references (for injection as a Java EE "
+"resource) is delegated to the container. You must provide an implementation "
+"of <literal>WebServices</literal> whichprovides this operation. For "
+"resolving the Java EE resource, the <literal>jndiName</literal> or "
+"<literal>mappedName</literal> will be provided."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:207
+#, no-c-format
+msgid "The bean store"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:209
+#, no-c-format
+msgid ""
+"Web Beans uses a map like structure to store bean instances - <literal>org."
+"jboss.webbeans.context.api.BeanStore</literal>. You may find <literal>org."
+"jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore</literal> "
+"useful."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:219
+#, no-c-format
 msgid "The application context"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:149
+#: ri-spi.xml:221
 #, no-c-format
 msgid ""
 "Web Beans expects the Application Server or other container to provide the "
 "storage for each application's context. The <literal>org.jboss.webbeans."
 "context.api.BeanStore</literal> should be implemented to provide an "
-"application scoped storage. You may find <literal>org.jboss.webbeans.context."
-"api.helpers.ConcurrentHashMapBeanStore</literal> useful."
+"application scoped storage."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:162
+#: ri-spi.xml:231
 #, no-c-format
 msgid "Bootstrap and shutdown"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:163
+#: ri-spi.xml:232
 #, no-c-format
 msgid ""
 "The <literal>org.jboss.webbeans.bootstrap.api.Bootstrap</literal> interface "
@@ -369,7 +459,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:172
+#: ri-spi.xml:241
 #, no-c-format
 msgid ""
 "The bootstrap is split into phases, bootstrap initialization and boot and "
@@ -380,20 +470,32 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:180
+#: ri-spi.xml:249
 #, no-c-format
 msgid ""
-"The bootstrap supports multiple environments. Different environments require "
-"different services to be present (for example servlet doesn't require "
-"transaction, EJB or JPA services). By default an EE environment is assumed, "
-"but you can adjust the environment by calling <literal>bootstrap."
-"setEnvironment()</literal>."
+"The bootstrap supports multiple environments. An environment is defined by "
+"an implementation of the <literal>Environment</literal> interface. A number "
+"of standard envrionments are built in as the enumeration "
+"<literal>Environments</literal>. Different environments require different "
+"services to be present (for example servlet doesn't require transaction, EJB "
+"or JPA services). By default an EE environment is assumed, but you can "
+"adjust the environment by calling <literal>bootstrap.setEnvironment()</"
+"literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:188
+#: ri-spi.xml:260
 #, no-c-format
 msgid ""
+"Web Beans uses a generic-typed service registry to allow services to be "
+"registered. All services implement the <literal>Service</literal> interface. "
+"The service registry allows services to be added and retrieved."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:267
+#, no-c-format
+msgid ""
 "To initialize the bootstrap you call <literal>Bootstrap.initialize()</"
 "literal>. Before calling <literal>initialize()</literal>, you must register "
 "any services required by your environment. You can do this by calling "
@@ -402,7 +504,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:197
+#: ri-spi.xml:276
 #, no-c-format
 msgid ""
 "Having called <literal>initialize()</literal>, the <literal>Manager</"
@@ -411,81 +513,61 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:203
+#: ri-spi.xml:282
 #, no-c-format
 msgid "To boot the container you call <literal>Bootstrap.boot()</literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:207
+#: ri-spi.xml:286
 #, no-c-format
 msgid ""
-"To shutdown the container you call <literal>Bootstrap.shutdown()</literal>. "
-"This allows the container to perform any cleanup operations needed."
+"To shutdown the container you call <literal>Bootstrap.shutdown()</literal> "
+"or <literal>webBeansManager.shutdown()</literal>. This allows the container "
+"to perform any cleanup operations needed."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:216
+#: ri-spi.xml:296
 #, no-c-format
 msgid "JNDI"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:218
+#: ri-spi.xml:298
 #, no-c-format
 msgid ""
-"The Web Beans RI implements JNDI binding and lookup according to standards, "
-"however you may want to alter the binding and lookup (for example in an "
-"environment where JNDI isn't available). To do this, implement <literal>org."
-"jboss.webbeans.resources.spi.NamingContext</literal>:"
+"Web Beans delegates all JNDI operations to the container through the SPI."
 msgstr ""
 
-#. Tag: programlisting
-#: ri-spi.xml:226
+#. Tag: para
+#: ri-spi.xml:304
 #, no-c-format
 msgid ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
+"A number of the SPI interface require JNDI lookup, and the class "
+"<literal>AbstractResourceServices</literal> provides JNDI/Java EE spec "
+"compliant lookup methods."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:231
+#: ri-spi.xml:315
 #, no-c-format
 msgid "Resource loading"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:233
+#: ri-spi.xml:317
 #, no-c-format
 msgid ""
-"The Web Beans RI needs to load classes and resources from the classpath at "
-"various times. By default, they are loaded from the same classloader that "
-"was used to load the RI, however this may not be correct for some "
-"environments. If this is case, you can implement <literal>org.jboss.webbeans."
-"spi.ResourceLoader</literal>:"
+"Web Beans needs to load classes and resources from the classpath at various "
+"times. By default, they are loaded from the Thread Context ClassLoader if "
+"available, if not the same classloader that was used to load Web Beans, "
+"however this may not be correct for some environments. If this is case, you "
+"can implement <literal>org.jboss.webbeans.spi.ResourceLoader</literal>:"
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:241
+#: ri-spi.xml:326
 #, no-c-format
 msgid ""
 "<![CDATA[\n"
@@ -520,13 +602,13 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:246
+#: ri-spi.xml:331
 #, no-c-format
 msgid "Servlet injection"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:248
+#: ri-spi.xml:333
 #, no-c-format
 msgid ""
 "Java EE / Servlet does not provide any hooks which can be used to provide "
@@ -535,7 +617,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:254
+#: ri-spi.xml:339
 #, no-c-format
 msgid ""
 "To be compliant with JSR-299, the container should request servlet injection "
@@ -544,7 +626,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:260
+#: ri-spi.xml:345
 #, no-c-format
 msgid ""
 "To perform injection on a servlet call <literal>WebBeansManager.injectServlet"
@@ -553,13 +635,13 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:271
+#: ri-spi.xml:356
 #, no-c-format
 msgid "The contract with the container"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:273
+#: ri-spi.xml:358
 #, no-c-format
 msgid ""
 "There are a number of requirements that the Web Beans RI places on the "
@@ -567,13 +649,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:281
+#: ri-spi.xml:366
 #, no-c-format
 msgid "Classloader isolation"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:285
+#: ri-spi.xml:370
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans RI into an environment that supports "
@@ -583,13 +665,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:294
+#: ri-spi.xml:379
 #, no-c-format
-msgid "Servlet listener and filters"
+msgid "Servlet"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:298
+#: ri-spi.xml:383
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a Servlet environment you must "
@@ -598,25 +680,48 @@
 "each Web Beans application which uses Servlet."
 msgstr ""
 
+#. Tag: term
+#: ri-spi.xml:394
+#, no-c-format
+msgid "<term>JSF</term>"
+msgstr ""
+
 #. Tag: para
-#: ri-spi.xml:307
+#: ri-spi.xml:399
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a JSF environment you must "
+"register <literal>org.jboss.webbeans.jsf.WebBeansPhaseListener</literal> as "
+"a phase listener, and <literal>org.jboss.webbeans.el.WebBeansELREsolver</"
+"literal> as an EL resolver, either automatically, or through user "
+"configuration, for each Web Beans application which uses JSF."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:410
+#, no-c-format
+msgid ""
+"If you are integrating the Web Beans into a JSF environment you must "
 "register <literal>org.jboss.webbeans.servlet.ConversationPropagationFilter</"
 "literal> as a Servlet listener, either automatically, or through user "
 "configuration, for each Web Beans application which uses JSF. This filter "
 "can be registered for all Servlet deployment safely."
 msgstr ""
 
+#. Tag: para
+#: ri-spi.xml:421
+#, no-c-format
+msgid "Web Beans only supports JSF 1.2 and above."
+msgstr ""
+
 #. Tag: term
-#: ri-spi.xml:319
+#: ri-spi.xml:428
 #, no-c-format
 msgid "Session Bean Interceptor"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:323
+#: ri-spi.xml:432
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an EJB environment you must "
@@ -627,7 +732,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:333
+#: ri-spi.xml:442
 #, no-c-format
 msgid ""
 "You must register the <literal>SessionBeanInterceptor</literal> as the inner "
@@ -635,13 +740,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:341
+#: ri-spi.xml:450
 #, no-c-format
 msgid "The <literal>webbeans-core.jar</literal>"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:345
+#: ri-spi.xml:454
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an environment that supports "
@@ -649,3 +754,20 @@
 "literal> into the applications isolated classloader. It cannot be loaded "
 "from a shared classloader."
 msgstr ""
+
+#. Tag: term
+#: ri-spi.xml:464
+#, no-c-format
+msgid "Binding the manager in JNDI"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:468
+#, no-c-format
+msgid ""
+"You should bind a <literal>Reference</literal> to the Manager "
+"<literal>ObjectFactory</literal> into JNDI at <literal>java:app/Manager</"
+"literal>. The type should be <literal>javax.inject.manager.Manager</literal> "
+"and the factory class is <literal>org.jboss.webbeans.resources."
+"ManagerObjectFactory</literal>"
+msgstr ""

Deleted: doc/trunk/reference/fr-FR/ri.po
===================================================================
--- doc/trunk/reference/fr-FR/ri.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/fr-FR/ri.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -1,1116 +0,0 @@
-# Language fr-FR translations for master.xml package.
-# Automatically generated, 2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: master.xml \n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
-"PO-Revision-Date: 2008-12-19 20:26+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Tag: title
-#: ri.xml:4
-#, no-c-format
-msgid "Web Beans, the Reference Implementation of JSR-299"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:6
-#, no-c-format
-msgid ""
-"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
-"WebBeans\">the Seam project</ulink>. You can download the latest developer "
-"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
-"\">the downloads page</ulink>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:13
-#, no-c-format
-msgid ""
-"Web Beans comes with a two deployable example applications: "
-"<literal>webbeans-numberguess</literal>, a war example, containing only "
-"simple beans, and <literal>webbeans-translator</literal> an ear example, "
-"containing enterprise beans. There are also two variations on the "
-"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
-"and the jsf2 example, which you can use if you are running JSF2. To run the "
-"examples you'll need the following:"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:25
-#, no-c-format
-msgid "the latest release of Web Beans,"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:28
-#, no-c-format
-msgid "JBoss AS 5.0.1.GA, or"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:31
-#, no-c-format
-msgid "Apache Tomcat 6.0.x, and"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:34
-#, no-c-format
-msgid "Ant 1.7.0."
-msgstr ""
-
-#. Tag: title
-#: ri.xml:39
-#, no-c-format
-msgid "Using JBoss AS 5"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:41
-#, no-c-format
-msgid ""
-"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
-"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:47
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.1.GA.zip]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:49 ri.xml:170
-#, no-c-format
-msgid ""
-"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
-"\">seamframework.org</ulink>, and unzip it. For example"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:55 ri.xml:176
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-$VERSION.zip]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:58
-#, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>jboss.home</literal> "
-"property. For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:64
-#, no-c-format
-msgid "jboss.home=/Applications/jboss-5.0.1.GA"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:66
-#, no-c-format
-msgid ""
-"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
-"<literal>ANT_HOME</literal> environment variable set. For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:71
-#, no-c-format
-msgid ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:73
-#, no-c-format
-msgid ""
-"Then, you can install the update. The update script will use Maven to "
-"download Web Beans automatically."
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:78
-#, no-c-format
-msgid ""
-"$ cd webbeans-$VERSION/jboss-as\n"
-"$ ant update"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:80
-#, no-c-format
-msgid "Now, you're ready to deploy your first example!"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:85
-#, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for JBoss AS, "
-"these are:"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:91
-#, no-c-format
-msgid "<literal>ant restart</literal> - deploy the example in exploded format"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:97
-#, no-c-format
-msgid ""
-"<literal>ant explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:103
-#, no-c-format
-msgid ""
-"<literal>ant deploy</literal> - deploy the example in compressed jar format"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:108
-#, no-c-format
-msgid "<literal>ant undeploy</literal> - remove the example from the server"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:113
-#, no-c-format
-msgid "<literal>ant clean</literal> - clean the example"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:120
-#, no-c-format
-msgid "To deploy the numberguess example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:124
-#, no-c-format
-msgid ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:126
-#, no-c-format
-msgid "Start JBoss AS:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:130
-#, no-c-format
-msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:133
-#, no-c-format
-msgid "If you use Windows, use the <literal>run.bat</literal>script."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:138 ri.xml:240
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
-"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:143
-#, no-c-format
-msgid ""
-"Web Beans includes a second simple example that will translate your text "
-"into Latin. The numberguess example is a war example, and uses only simple "
-"beans; the translator example is an ear example, and includes enterprise "
-"beans, packaged in an EJB module. To try it out:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:150
-#, no-c-format
-msgid ""
-"$ cd examples/translator\n"
-"ant deploy"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:152
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and visit <ulink url=\"http://"
-"localhost:8080/webbeans-translator\"></ulink>!"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:160
-#, no-c-format
-msgid "Using Apache Tomcat 6.0"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:162
-#, no-c-format
-msgid ""
-"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
-"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
-"For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:168
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:178
-#, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
-"property. For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:184
-#, no-c-format
-msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:187
-#, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for Tomcat, "
-"these are:"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:193
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:199
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:205
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
-"format"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:210
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:215
-#, no-c-format
-msgid "<literal>ant tomcat.clean</literal> - clean the example"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:222
-#, no-c-format
-msgid "To deploy the numberguess example for tomcat:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:226
-#, no-c-format
-msgid ""
-"$ cd examples/tomcat\n"
-"ant tomcat.deploy"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:228
-#, no-c-format
-msgid "Start Tomcat:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:232
-#, no-c-format
-msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:235
-#, no-c-format
-msgid "If you use Windows, use the <literal>startup.bat</literal>script."
-msgstr ""
-
-#. Tag: title
-#: ri.xml:248
-#, no-c-format
-msgid "Using GlassFish"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:250
-#, no-c-format
-msgid "TODO"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:254
-#, no-c-format
-msgid "The numberguess example"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:256
-#, no-c-format
-msgid ""
-"In the numberguess application you get given 10 attempts to guess a number "
-"between 1 and 100. After each attempt, you will be told whether you are too "
-"high, or too low."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:262
-#, no-c-format
-msgid ""
-"The numberguess example is comprised of a number of Web Beans, configuration "
-"files, and Facelet JSF pages, packaged as a war. Let's start with the "
-"configuration files."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:268
-#, no-c-format
-msgid ""
-"All the configuration files for this example are located in <literal>WEB-INF/"
-"</literal>, which is stored in <literal>WebContent</literal> in the source "
-"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
-"JSF to use Facelets:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:276
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:278
-#, no-c-format
-msgid ""
-"There is an empty <literal>web-beans.xml</literal> file, which marks this "
-"application as a Web Beans application."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:283
-#, no-c-format
-msgid "Finally there is <literal>web.xml</literal>:"
-msgstr ""
-
-#. Tag: section
-#: ri.xml:285
-#, no-c-format
-msgid ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
-"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
-"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
-"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
-"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
-"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
-"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
-"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
-"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
-"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
-"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
-"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
-"session timeout of 10 minutes </para> </callout> </calloutlist> </"
-"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
-"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
-"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
-"id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area "
-"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
-"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
-"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
-"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
-"dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
-"number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
-"number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game."
-"biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
-"{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
-"<para> Facelets is a templating language for JSF, here we are wrapping our "
-"page in a template which defines the header. </para> </callout> <callout "
-"arearefs=\"messages\"> <para> There are a number of messages which can be "
-"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
-"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
-"range of numbers they can guess gets smaller - this sentance changes to make "
-"sure they know what range to guess in. </para> </callout> <callout arearefs="
-"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
-"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
-"range validator is used to make sure the user doesn't accidentally input a "
-"number outside of the range in which they can guess - if the validator "
-"wasn't here, the user might use up a guess on an out of range number. </"
-"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
-"must be a way for the user to send their guess to the server. Here we bind "
-"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
-"programlistingco>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:387
-#, no-c-format
-msgid ""
-"The example exists of 4 classes, the first two of which are binding types. "
-"First, there is the <literal>@Random</literal> binding type, used for "
-"injecting a random number:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:393
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:395
-#, no-c-format
-msgid ""
-"There is also the <literal>@MaxNumber</literal> binding type, used for "
-"injecting the maximum number that can be injected:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:400
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:402
-#, no-c-format
-msgid ""
-"The <literal>Generator</literal> class is responsible for creating the "
-"random number, via a producer method. It also exposes the maximum possible "
-"number via a producer method:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:408
-#, no-c-format
-msgid ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System."
-"currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:410
-#, no-c-format
-msgid ""
-"You'll notice that the <literal>Generator</literal> is application scoped; "
-"therefore we don't get a different random each time."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:415
-#, no-c-format
-msgid ""
-"The final Web Bean in the application is the session scoped <literal>Game</"
-"literal>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:420
-#, no-c-format
-msgid ""
-"You'll note that we've used the <literal>@Named</literal> annotation, so "
-"that we can use the bean through EL in the JSF page. Finally, we've used "
-"constructor injection to initialize the game with a random number. And of "
-"course, we need to tell the player when they've won, so we give feedback "
-"with a <literal>FacesMessage</literal>."
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:428
-#, no-c-format
-msgid ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
-"(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new "
-"AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:431
-#, no-c-format
-msgid "The numberguess example for Tomcat"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:433
-#, no-c-format
-msgid ""
-"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
-"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
-"literal>. For your convenience we provide a single jar suitable for running "
-"Web Beans on Tomcat <literal>webbeans-tomcat.jar</literal>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:442
-#, no-c-format
-msgid ""
-"Of course, you must also include JSF and EL, as well common annotations "
-"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:449
-#, no-c-format
-msgid ""
-"Secondly, we need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control it's interaction with requests) in <literal>web."
-"xml</literal>:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:455
-#, no-c-format
-msgid ""
-"<![CDATA[<listener>\n"
-"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-"
-"class>\n"
-"</listener>]]>"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:461
-#, no-c-format
-msgid "The translator example"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:463
-#, no-c-format
-msgid ""
-"The translator example will take any sentences you enter, and translate them "
-"to Latin."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:468
-#, no-c-format
-msgid ""
-"The translator example is built as an ear, and contains EJBs. As a result, "
-"it's structure is more complex than the numberguess example."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:474
-#, no-c-format
-msgid ""
-"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
-"this structure much simpler!"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:480
-#, no-c-format
-msgid ""
-"First, let's take a look at the ear aggregator, which is located in "
-"<literal>webbeans-translator-ear</literal> module. Maven automatically "
-"generates the <literal>application.xml</literal> for us:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:486
-#, no-c-format
-msgid ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:488
-#, no-c-format
-msgid ""
-"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
-"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
-"translator</ulink>)."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:494
-#, no-c-format
-msgid ""
-"If you aren't using Maven to generate these files, you would need "
-"<literal>META-INF/application.xml</literal>:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:499
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web "
-"Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:502
-#, no-c-format
-msgid ""
-"Next, lets look at the war. Just as in the numberguess example, we have a "
-"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
-"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:509
-#, no-c-format
-msgid ""
-"More intersting is the facelet used to translate text. Just as in the "
-"numberguess example we have a template, which surrounds the form (ommitted "
-"here for brevity):"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:515
-#, no-c-format
-msgid ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
-"required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
-"{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:517
-#, no-c-format
-msgid ""
-"The user can enter some text in the lefthand textarea, and hit the translate "
-"button to see the result to the right."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:522
-#, no-c-format
-msgid ""
-"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
-"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
-"empty <literal>web-beans.xml</literal>, used to mark the archive as "
-"containing Web Beans."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:530
-#, no-c-format
-msgid ""
-"We've saved the most interesting bit to last, the code! The project has two "
-"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
-"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
-"literal> and <literal>SentenceTranslator</literal>. You should be getting "
-"quite familiar with what a Web Bean looks like by now, so we'll just "
-"highlight the most interesting bits here."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:540
-#, no-c-format
-msgid ""
-"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
-"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
-"initialization:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:546
-#, no-c-format
-msgid ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator "
-"sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:548
-#, no-c-format
-msgid ""
-"<literal>TextTranslator</literal> is a stateless bean (with a local business "
-"interface), where the magic happens - of course, we couldn't develop a full "
-"translator, but we gave it a good go!"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:554
-#, no-c-format
-msgid ""
-"Finally, there is UI orientated controller, that collects the text from the "
-"user, and dispatches it to the translator. This is a request scoped, named, "
-"stateful session bean, which injects the translator."
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:560
-#, no-c-format
-msgid ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:562
-#, no-c-format
-msgid "The bean also has getters and setters for all the fields on the page."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:566
-#, no-c-format
-msgid "As this is a stateful session bean, we have to have a remove method:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:570
-#, no-c-format
-msgid ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:572
-#, no-c-format
-msgid ""
-"The Web Beans manager will call the remove method for you when the bean is "
-"destroyed; in this case at the end of the request."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:578
-#, no-c-format
-msgid ""
-"That concludes our short tour of the Web Beans examples. For more on Web "
-"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
-"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
-"Development</ulink>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:584
-#, no-c-format
-msgid ""
-"We need help in all areas - bug fixing, writing new features, writing "
-"examples and translating this reference guide."
-msgstr ""

Modified: doc/trunk/reference/fr-FR/scopescontexts.po
===================================================================
--- doc/trunk/reference/fr-FR/scopescontexts.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/fr-FR/scopescontexts.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: master.xml \n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2008-12-19 20:26+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2008-12-19 20:26+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -421,8 +421,8 @@
 "The Web Bean manager is permitted to destroy a conversation and all state "
 "held in its context at any time in order to preserve resources. A Web Bean "
 "manager implementation will normally do this on the basis of some kind of "
-"timeout &#151; though this is not required by the Web Beans specification. The "
-"timeout is the period of inactivity before the conversation is destroyed."
+"timeout &#151; though this is not required by the Web Beans specification. "
+"The timeout is the period of inactivity before the conversation is destroyed."
 msgstr ""
 
 #. Tag: para
@@ -441,13 +441,13 @@
 msgstr ""
 
 #. Tag: title
-#: scopescontexts.xml:219
+#: scopescontexts.xml:218
 #, no-c-format
 msgid "The dependent pseudo-scope"
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:221
+#: scopescontexts.xml:220
 #, no-c-format
 msgid ""
 "In addition to the four built-in scopes, Web Beans features the so-called "
@@ -456,20 +456,20 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:225
+#: scopescontexts.xml:224
 #, no-c-format
 msgid ""
 "For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
 msgstr ""
 
 #. Tag: programlisting
-#: scopescontexts.xml:227
+#: scopescontexts.xml:226
 #, no-c-format
 msgid "<![CDATA[public class Calculator { ... }]]>"
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:229
+#: scopescontexts.xml:228
 #, no-c-format
 msgid ""
 "When an injection point of a Web Bean resolves to a dependent Web Bean, a "
@@ -480,7 +480,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:235
+#: scopescontexts.xml:234
 #, no-c-format
 msgid ""
 "Dependent Web Bean instances are destroyed when the instance they depend "
@@ -488,7 +488,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:243
+#: scopescontexts.xml:242
 #, no-c-format
 msgid ""
 "Web Beans makes it easy to obtain a dependent instance of a Java class or "
@@ -497,13 +497,13 @@
 msgstr ""
 
 #. Tag: title
-#: scopescontexts.xml:248
+#: scopescontexts.xml:247
 #, no-c-format
 msgid "The <literal>@New</literal> annotation"
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:250
+#: scopescontexts.xml:249
 #, no-c-format
 msgid ""
 "The built-in <literal>@New</literal> binding annotation allows "
@@ -512,13 +512,13 @@
 msgstr ""
 
 #. Tag: programlisting
-#: scopescontexts.xml:254
+#: scopescontexts.xml:253
 #, no-c-format
 msgid "<![CDATA[@New Calculator calculator;]]>"
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:256
+#: scopescontexts.xml:255
 #, no-c-format
 msgid ""
 "Then a Web Bean with scope <literal>@Dependent</literal>, binding type "
@@ -528,7 +528,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:261
+#: scopescontexts.xml:260
 #, no-c-format
 msgid ""
 "This is true even if <literal>Calculator</literal> is <emphasis>already</"
@@ -536,7 +536,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: scopescontexts.xml:264
+#: scopescontexts.xml:263
 #, no-c-format
 msgid ""
 "<![CDATA[@ConversationScoped\n"
@@ -544,7 +544,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:266
+#: scopescontexts.xml:265
 #, no-c-format
 msgid ""
 "So the following injected attributes each get a different instance of "
@@ -552,7 +552,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: scopescontexts.xml:269
+#: scopescontexts.xml:268
 #, no-c-format
 msgid ""
 "<![CDATA[public class PaymentCalc {\n"
@@ -564,7 +564,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:271
+#: scopescontexts.xml:270
 #, no-c-format
 msgid ""
 "The <literal>calculator</literal> field has a conversation-scoped instance "
@@ -574,7 +574,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:276
+#: scopescontexts.xml:275
 #, no-c-format
 msgid ""
 "This feature is particularly useful with producer methods, as we'll see in "

Added: doc/trunk/reference/fr-FR/viewlayers.po
===================================================================
--- doc/trunk/reference/fr-FR/viewlayers.po	                        (rev 0)
+++ doc/trunk/reference/fr-FR/viewlayers.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,160 @@
+# Language fr-FR translations for Web_Beans:_Java_Contexts_and_Dependency_Injection package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2009-04-19 20:36+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: viewlayers.xml:4
+#, no-c-format
+msgid "Alternative view layers"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:7
+#, no-c-format
+msgid "Using Web Beans with Wicket"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:10
+#, no-c-format
+msgid "The <literal>WebApplication</literal> class"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:12
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass; Web Beans provides, for your utility, a subclass of this which "
+"sets up the Wicket/JSR-299 integration. You should subclass <literal>org."
+"jboss.webbeans.wicket.WebBeansApplication</literal>."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:21
+#, no-c-format
+msgid ""
+"If you would prefer not to subclass <literal>WebBeansApplication</literal>, "
+"you can manually add a (small!) number of overrides and listeners to your "
+"own <literal>WebApplication</literal> subclass. The javadocs of "
+"<literal>WebBeansApplication</literal>detail this."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:30
+#, no-c-format
+msgid "For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: viewlayers.xml:33
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:37
+#, no-c-format
+msgid "Conversations with Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:38
+#, no-c-format
+msgid ""
+"The conversation scope can be used in Web Beans with the Apache Wicket web "
+"framework, through the <literal>webbeans-wicket</literal> module. This "
+"module takes care of:"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:45
+#, no-c-format
+msgid ""
+"Setting up the conversation context at the beginning of a Wicket request, "
+"and tearing it down afterwards"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:51
+#, no-c-format
+msgid ""
+"Storing the id of any long-running conversation in Wicket's metadata when "
+"the page response is complete"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:57
+#, no-c-format
+msgid ""
+"Activating the correct long-running conversation based upon which page is "
+"being accessed"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:63
+#, no-c-format
+msgid ""
+"Propagating the conversation context for any long-running conversation to "
+"new pages"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:70
+#, no-c-format
+msgid "Starting and stopping conversations in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:71
+#, no-c-format
+msgid ""
+"As JSF applications, a conversation <emphasis>always</emphasis> exists for "
+"any request, but its lifetime is only that of the current request unless it "
+"is marked as <emphasis>long-running</emphasis>. For Wicket applications this "
+"is accomplished as in JSF applications, by injecting the <literal>@Current "
+"Conversation</literal> and then invoking <literal>conversation.begin()</"
+"literal>. Likewise, conversations are ended with <literal>conversation.end()"
+"</literal>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:85
+#, no-c-format
+msgid "Long running conversation propagation in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:86
+#, no-c-format
+msgid ""
+"When a conversation is marked as long-running, the id of that conversation "
+"will be stored in Wicket's metadata for the current page. If a new page is "
+"created and set as the response target through <literal>setResponsePage</"
+"literal>, this new page will also participate in this conversation. This "
+"occurs for both directly instantiated pages (<literal>setResponsePage(new "
+"OtherPage())</literal>), as well as for bookmarkable pages created with "
+"<literal>setResponsePage(OtherPage.class)</literal> where <literal>OtherPage."
+"class</literal> is mounted as bookmarkable from your "
+"<literal>WebApplication</literal> subclass (or through annotations). In the "
+"latter case, because the new page instance is not created until after a "
+"redirect, the conversation id will be propagated through a request "
+"parameter, and then stored in page metadata after the redirect."
+msgstr ""

Modified: doc/trunk/reference/it-IT/environments.po
===================================================================
--- doc/trunk/reference/it-IT/environments.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/it-IT/environments.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -3,9 +3,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
+"VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-04-15 21:05+0100\n"
 "Last-Translator: Nicola Benaglia <nico.benaz at gmail.com>\n"
 "Language-Team: none\n"
@@ -28,14 +29,28 @@
 #. Tag: para
 #: environments.xml:9
 #, no-c-format
-msgid "No special configuration of your application, beyond adding either <literal>META-INF/beans.xml</literal> or <literal>WEB-INF/beans.xml</literal> is needed."
-msgstr "Non occorre alcuna configurazione speciale dell'applicazione oltre all'aggiunta di <literal>META-INF/beans.xml</literal> o <literal>WEB-INF/beans.xml</literal>."
+msgid ""
+"No special configuration of your application, beyond adding either "
+"<literal>META-INF/beans.xml</literal> or <literal>WEB-INF/beans.xml</"
+"literal> is needed."
+msgstr ""
+"Non occorre alcuna configurazione speciale dell'applicazione oltre "
+"all'aggiunta di <literal>META-INF/beans.xml</literal> o <literal>WEB-INF/"
+"beans.xml</literal>."
 
 #. Tag: para
 #: environments.xml:15
 #, no-c-format
-msgid "If you are using JBoss AS 5.0.1.GA then you'll need to install Web Beans as an extra. First we need to tell Web Beans where JBoss is located. Edit <literal>jboss-as/build.properties</literal> and set the <literal>jboss.home</literal> property. For example:"
-msgstr "Se si usa JBoss AS 5.0.1.GA allora occorre installare Web Beans come extra. Innanzitutto occorre dire a Web Beans dove si trova JBoss. Modificare <literal>jboss-as/build.properties</literal> ed impostare la proprietà <literal>jboss.home</literal>. Per esempio:"
+msgid ""
+"If you are using JBoss AS 5.0.1.GA then you'll need to install Web Beans as "
+"an extra. First we need to tell Web Beans where JBoss is located. Edit "
+"<literal>jboss-as/build.properties</literal> and set the <literal>jboss."
+"home</literal> property. For example:"
+msgstr ""
+"Se si usa JBoss AS 5.0.1.GA allora occorre installare Web Beans come extra. "
+"Innanzitutto occorre dire a Web Beans dove si trova JBoss. Modificare "
+"<literal>jboss-as/build.properties</literal> ed impostare la proprietà "
+"<literal>jboss.home</literal>. Per esempio:"
 
 #. Tag: programlisting
 #: environments.xml:22
@@ -62,8 +77,16 @@
 #. Tag: para
 #: environments.xml:31
 #, no-c-format
-msgid "A new deployer, <literal>webbeans.deployer</literal> is added to JBoss AS. This adds supports for JSR-299 deployments to JBoss AS, and allows Web Beans to query the EJB3 container and discover which EJBs are installed in your application."
-msgstr "Un nuovo deploer - <literal>webbeans.deployer</literal> - viene aggiunto a JBoss AS. Questo aggiunge a JBoss AS il supporto ai deploy JSR-299, e consente a Web Beans di interrogare il container EJB3 per scoprire quali EJB sono installati nell'applicazione."
+msgid ""
+"A new deployer, <literal>webbeans.deployer</literal> is added to JBoss AS. "
+"This adds supports for JSR-299 deployments to JBoss AS, and allows Web Beans "
+"to query the EJB3 container and discover which EJBs are installed in your "
+"application."
+msgstr ""
+"Un nuovo deploer - <literal>webbeans.deployer</literal> - viene aggiunto a "
+"JBoss AS. Questo aggiunge a JBoss AS il supporto ai deploy JSR-299, e "
+"consente a Web Beans di interrogare il container EJB3 per scoprire quali EJB "
+"sono installati nell'applicazione."
 
 #. Tag: para
 #: environments.xml:40
@@ -86,26 +109,43 @@
 #. Tag: title
 #: environments.xml:53
 #, no-c-format
-msgid "Tomcat (or any plain Servlet container)"
-msgstr "Tomcat (o qualsiasi Servlet container)"
+msgid "Servlet Containers (such as Tomcat or Jetty)"
+msgstr ""
 
 #. Tag: para
 #: environments.xml:55
-#, no-c-format
-msgid "Web Beans can be used in Tomcat 6.0."
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans can be used in any Servlet container such as Tomcat 6.0 or Jetty "
+"6.1."
 msgstr "Web Beans può essere usato in Tomcat 6.0."
 
 #. Tag: para
 #: environments.xml:58
-#, no-c-format
-msgid "Web Beans doesn't support deploying session beans, injection using <literal>@EJB</literal>, or <literal>@PersistenceContext</literal> or using transactional events on Tomcat."
-msgstr "Web Beans non supporta il deploy di bean di sessione, dell'injection tramite <literal>@EJB</literal>, o <literal>@PersistenceContext</literal> o usando gli eventi transazionali su Tomcat."
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans doesn't support deploying session beans, injection using "
+"<literal>@EJB</literal>, or <literal>@PersistenceContext</literal> or using "
+"transactional events in Servlet containers."
+msgstr ""
+"Web Beans non supporta il deploy di bean di sessione, dell'injection tramite "
+"<literal>@EJB</literal>, o <literal>@PersistenceContext</literal> o usando "
+"gli eventi transazionali su Tomcat."
 
 #. Tag: para
 #: environments.xml:66
-#, no-c-format
-msgid "Web Beans should be used as a web application library in Tomcat. You should place <literal>webbeans-tomcat.jar</literal> in <literal>WEB-INF/lib</literal>. <literal>webbeans-tomcat.jar</literal> is an \"uber-jar\" provided for your convenience. Instead, you could use its component jars:"
-msgstr "Web Beans dovrebbe essere usato come libreria web application in Tomcat. Occorre mettere <literal>webbeans-tomcat.jar</literal> in <literal>WEB-INF/lib</literal>. <literal>webbeans-tomcat.jar</literal> è un \"uber-jar\" fornito per comodità. Invece si possono usare i suoi componenti jar:"
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans should be used as a web application library in a servlet "
+"container. You should place <literal>webbeans-servlet.jar</literal> in "
+"<literal>WEB-INF/lib</literal>. <literal>webbeans-serv;et.jar</literal> is "
+"an \"uber-jar\" provided for your convenience. Instead, you could use its "
+"component jars:"
+msgstr ""
+"Web Beans dovrebbe essere usato come libreria web application in Tomcat. "
+"Occorre mettere <literal>webbeans-tomcat.jar</literal> in <literal>WEB-INF/"
+"lib</literal>. <literal>webbeans-tomcat.jar</literal> è un \"uber-jar\" "
+"fornito per comodità. Invece si possono usare i suoi componenti jar:"
 
 #. Tag: literal
 #: environments.xml:77
@@ -139,8 +179,8 @@
 
 #. Tag: literal
 #: environments.xml:102
-#, no-c-format
-msgid "webbeans-tomcat-int.jar"
+#, fuzzy, no-c-format
+msgid "webbeans-servlet-int.jar"
 msgstr "webbeans-tomcat-int.jar"
 
 #. Tag: literal
@@ -157,30 +197,50 @@
 
 #. Tag: para
 #: environments.xml:117
-#, no-c-format
-msgid "You also need to explicitly specify the Tomcat servlet listener (used to boot Web Beans, and control its interaction with requests) in <literal>web.xml</literal>:"
-msgstr "Occorre inoltre specificare esplicitamente il servlet listener in Tomcat (usato per avviare Web Beans, e controllare le sue interazioni con le richieste) in <literal>web.xml</literal>:"
+#, fuzzy, no-c-format
+msgid ""
+"You also need to explicitly specify the servlet listener (used to boot Web "
+"Beans, and control its interaction with requests) in <literal>web.xml</"
+"literal>:"
+msgstr ""
+"Occorre inoltre specificare esplicitamente il servlet listener in Tomcat "
+"(usato per avviare Web Beans, e controllare le sue interazioni con le "
+"richieste) in <literal>web.xml</literal>:"
 
 #. Tag: programlisting
 #: environments.xml:123
 #, no-c-format
 msgid ""
 "<![CDATA[<listener>\n"
-"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-class>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
 "</listener>]]>"
 msgstr ""
 "<![CDATA[<listener>\n"
-"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-class>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
 "</listener>]]>"
 
+#. Tag: title
+#: environments.xml:126
+#, no-c-format
+msgid "Tomcat"
+msgstr "Tomcat"
+
 #. Tag: para
-#: environments.xml:125
+#: environments.xml:128
 #, no-c-format
-msgid "Tomcat has a read-only JNDI, so Web Beans can't automatically bind the Manager. To bind the Manager into JNDI, you should add the following to your <literal>META-INF/context.xml</literal>:"
-msgstr "Tomcat ha un JNDI read-only, e quindi Web Beans non può automaticamente associare il Manager. Per associare il Manager a JNDI occorre aggiungere a <literal>META-INF/context.xml</literal>:"
+msgid ""
+"Tomcat has a read-only JNDI, so Web Beans can't automatically bind the "
+"Manager. To bind the Manager into JNDI, you should add the following to your "
+"<literal>META-INF/context.xml</literal>:"
+msgstr ""
+"Tomcat ha un JNDI read-only, e quindi Web Beans non può automaticamente "
+"associare il Manager. Per associare il Manager a JNDI occorre aggiungere a "
+"<literal>META-INF/context.xml</literal>:"
 
 #. Tag: programlisting
-#: environments.xml:131
+#: environments.xml:134
 #, no-c-format
 msgid ""
 "<![CDATA[<Resource name=\"app/Manager\" \n"
@@ -196,13 +256,17 @@
 "]]>"
 
 #. Tag: para
-#: environments.xml:133
+#: environments.xml:136
 #, no-c-format
-msgid "and make it available to your deployment by adding this to <literal>web.xml</literal>:"
-msgstr "e renderlo disponibile nel proprio deploy aggiungendo questo a <literal>web.xml</literal>:"
+msgid ""
+"and make it available to your deployment by adding this to <literal>web.xml</"
+"literal>:"
+msgstr ""
+"e renderlo disponibile nel proprio deploy aggiungendo questo a <literal>web."
+"xml</literal>:"
 
 #. Tag: programlisting
-#: environments.xml:138
+#: environments.xml:141
 #, no-c-format
 msgid ""
 "<![CDATA[<resource-env-ref>\n"
@@ -224,119 +288,158 @@
 "</resource-env-ref>]]>"
 
 #. Tag: para
-#: environments.xml:140
+#: environments.xml:143
 #, no-c-format
-msgid "Tomcat only allows you to bind entries to <literal>java:comp/env</literal>, so the Manager will be available at <literal>java:comp/env/app/Manager</literal>"
-msgstr "Tomcat consente solo di associare le entry a <literal>java:comp/env</literal>, e quindi il Manager sarà disponibile in <literal>java:comp/env/app/Manager</literal>"
+msgid ""
+"Tomcat only allows you to bind entries to <literal>java:comp/env</literal>, "
+"so the Manager will be available at <literal>java:comp/env/app/Manager</"
+"literal>"
+msgstr ""
+"Tomcat consente solo di associare le entry a <literal>java:comp/env</"
+"literal>, e quindi il Manager sarà disponibile in <literal>java:comp/env/app/"
+"Manager</literal>"
 
 #. Tag: para
-#: environments.xml:146
+#: environments.xml:149
 #, no-c-format
-msgid "Web Beans also supports Servlet injection in Tomcat. To enable this, place the <literal>webbeans-tomcat-support.jar</literal> in <literal>$TOMCAT_HOME/lib</literal>, and add the following to your <literal>META-INF/context.xml</literal>:"
-msgstr "Web Beans supporta anche l'iniezione dei servlet in Tomcat. Per abilitarla, collocare <literal>webbeans-tomcat-support.jar</literal> in <literal>$TOMCAT_HOME/lib</literal>, ed aggiungere il seguente codice a <literal>META-INF/context.xml</literal>:"
+msgid ""
+"Web Beans also supports Servlet injection in Tomcat. To enable this, place "
+"the <literal>webbeans-tomcat-support.jar</literal> in <literal>$TOMCAT_HOME/"
+"lib</literal>, and add the following to your <literal>META-INF/context.xml</"
+"literal>:"
+msgstr ""
+"Web Beans supporta anche l'iniezione dei servlet in Tomcat. Per abilitarla, "
+"collocare <literal>webbeans-tomcat-support.jar</literal> in <literal>"
+"$TOMCAT_HOME/lib</literal>, ed aggiungere il seguente codice a <literal>META-"
+"INF/context.xml</literal>:"
 
 #. Tag: programlisting
-#: environments.xml:153
+#: environments.xml:156
 #, no-c-format
-msgid "<![CDATA[<Listener className=\"org.jboss.webbeans.environment.tomcat.WebBeansLifecycleListener\" />]]>"
-msgstr "<![CDATA[<Listener className=\"org.jboss.webbeans.environment.tomcat.WebBeansLifecycleListener\" />]]>"
+msgid ""
+"<![CDATA[<Listener className=\"org.jboss.webbeans.environment.tomcat."
+"WebBeansLifecycleListener\" />]]>"
+msgstr ""
+"<![CDATA[<Listener className=\"org.jboss.webbeans.environment.tomcat."
+"WebBeansLifecycleListener\" />]]>"
 
 #. Tag: title
-#: environments.xml:158
+#: environments.xml:163
 #, no-c-format
 msgid "Java SE"
 msgstr "Java SE"
 
 #. Tag: para
-#: environments.xml:160
+#: environments.xml:165
 #, no-c-format
-msgid "Apart from improved integration of the Enterprise Java stack, Web Beans also provides a state of the art typesafe, stateful dependency injection framework. This is useful in a wide range of application types, enterprise or otherwise. To facilitate this, Web Beans provides a simple means for executing in the Java Standard Edition environment independently of any Enterprise Edition features."
-msgstr "Oltre alla migliorata integrazione dello stack Java Enterprise, Web Beans fornisce anche uno stato dell'arte typesafe, con dependency injection stateful . Questo è utile in un ampio raggio di applicazioni tipo, enterprise o altre. Per facilitare ciò, Web Beans fornisce semplici mezzi per eseguire in ambiente Java Standard Edition indipendentemente da qualsiasi caratteristica Enterprise Edition."
+msgid ""
+"Apart from improved integration of the Enterprise Java stack, Web Beans also "
+"provides a state of the art typesafe, stateful dependency injection "
+"framework. This is useful in a wide range of application types, enterprise "
+"or otherwise. To facilitate this, Web Beans provides a simple means for "
+"executing in the Java Standard Edition environment independently of any "
+"Enterprise Edition features."
+msgstr ""
+"Oltre alla migliorata integrazione dello stack Java Enterprise, Web Beans "
+"fornisce anche uno stato dell'arte typesafe, con dependency injection "
+"stateful . Questo è utile in un ampio raggio di applicazioni tipo, "
+"enterprise o altre. Per facilitare ciò, Web Beans fornisce semplici mezzi "
+"per eseguire in ambiente Java Standard Edition indipendentemente da "
+"qualsiasi caratteristica Enterprise Edition."
 
 #. Tag: para
-#: environments.xml:168
+#: environments.xml:173
 #, no-c-format
-msgid "When executing in the SE environment the following features of Web Beans are available:"
-msgstr "Eseguendo in ambiente SE sono disponibili le seguenti caratteristiche di Web Beans:"
+msgid ""
+"When executing in the SE environment the following features of Web Beans are "
+"available:"
+msgstr ""
+"Eseguendo in ambiente SE sono disponibili le seguenti caratteristiche di Web "
+"Beans:"
 
 #. Tag: literal
-#: environments.xml:174
+#: environments.xml:179
 #, no-c-format
 msgid "Simple Web Beans (POJOs)"
 msgstr "Semplice Web Beans (POJOs)"
 
 #. Tag: literal
-#: environments.xml:179
+#: environments.xml:184
 #, no-c-format
 msgid "Typesafe Dependency Injection"
 msgstr "Iniezioni di dipendenza typesafe"
 
 #. Tag: literal
-#: environments.xml:184
+#: environments.xml:189
 #, no-c-format
 msgid "Application and Dependent Contexts"
 msgstr "Applicazione e contesti dipendenti"
 
 #. Tag: literal
-#: environments.xml:189
+#: environments.xml:194
 #, no-c-format
 msgid "Binding Types"
 msgstr "Tipi di binding"
 
 #. Tag: literal
-#: environments.xml:194
+#: environments.xml:199
 #, no-c-format
 msgid "Stereotypes"
 msgstr "Stereotipi"
 
 #. Tag: literal
-#: environments.xml:199
-#, no-c-format
-msgid "Decorators"
-msgstr "Decoratori"
-
-#. Tag: literal
 #: environments.xml:204
 #, no-c-format
-msgid "(TODO: Interceptors ?)"
-msgstr "(DA FARE: Interceptors ?)"
-
-#. Tag: literal
-#: environments.xml:209
-#, no-c-format
 msgid "Typesafe Event Model"
 msgstr "Modello a eventi typesafe"
 
 #. Tag: title
-#: environments.xml:215
+#: environments.xml:210
 #, no-c-format
 msgid "Web Beans SE Module"
 msgstr "Module Web Beans SE"
 
 #. Tag: para
-#: environments.xml:217
+#: environments.xml:212
 #, no-c-format
-msgid "To make life easy for developers Web Beans provides a special module with a main method which will boot the Web Beans manager, automatically registering all simple Web Beans found on the classpath. This eliminates the need for application developers to write any bootstrapping code. The entry point for a Web Beans SE applications is a simple Web Bean which observes the standard <literal>@Deployed Manager</literal> event. The command line paramters can be injected using either of the following:"
-msgstr "Per semplificare la vita agli sviluppatori Web Beans fornisce un modulo speciale con un metodo main che avvia il manager Web Beans, registrando automaticamente tutti i Web BEans semplici trovati nel classpath. Questo elimina il bisogno da parte degli sviluppatori di scrivere codice per il bootstrap. L'entry point per le applicazioni Web Beans SE è un semplice Web Bean che osserva l'evento standard <literal>@Deployed Manager</literal>. I parametri da linea di comando possono essere iniettati usando una delle seguenti:"
+msgid ""
+"To make life easy for developers Web Beans provides a special module with a "
+"main method which will boot the Web Beans manager, automatically registering "
+"all simple Web Beans found on the classpath. This eliminates the need for "
+"application developers to write any bootstrapping code. The entry point for "
+"a Web Beans SE applications is a simple Web Bean which observes the standard "
+"<literal>@Deployed Manager</literal> event. The command line paramters can "
+"be injected using either of the following:"
+msgstr ""
+"Per semplificare la vita agli sviluppatori Web Beans fornisce un modulo "
+"speciale con un metodo main che avvia il manager Web Beans, registrando "
+"automaticamente tutti i Web BEans semplici trovati nel classpath. Questo "
+"elimina il bisogno da parte degli sviluppatori di scrivere codice per il "
+"bootstrap. L'entry point per le applicazioni Web Beans SE è un semplice Web "
+"Bean che osserva l'evento standard <literal>@Deployed Manager</literal>. I "
+"parametri da linea di comando possono essere iniettati usando una delle "
+"seguenti:"
 
 #. Tag: programlisting
-#: environments.xml:226
+#: environments.xml:221
 #, no-c-format
 msgid ""
 "<![CDATA[@Parameters List<String> params;\n"
-"@Parameters String[] paramsArray; // useful for compatability with existing classes]]>"
+"@Parameters String[] paramsArray; // useful for compatability with existing "
+"classes]]>"
 msgstr ""
 "<![CDATA[@Parameters List<String> params;\n"
-"@Parameters String[] paramsArray; // useful for compatability with existing classes]]>"
+"@Parameters String[] paramsArray; // useful for compatability with existing "
+"classes]]>"
 
 #. Tag: para
-#: environments.xml:227
+#: environments.xml:222
 #, no-c-format
 msgid "Here's an example of a simple Web Beans SE application:"
 msgstr "Ecco un esempio di una semplice applicazione Web Beans SE:"
 
 #. Tag: programlisting
-#: environments.xml:231
+#: environments.xml:226
 #, no-c-format
 msgid ""
 "<![CDATA[@ApplicationScoped\n"
@@ -362,25 +465,37 @@
 "}]]>"
 
 #. Tag: para
-#: environments.xml:233
+#: environments.xml:228
 #, no-c-format
-msgid "Web Beans SE applications are started by running the following main method."
-msgstr "Le applicazioni Web Beans SE vengono avviate eseguendo il seguente metodo main."
+msgid ""
+"Web Beans SE applications are started by running the following main method."
+msgstr ""
+"Le applicazioni Web Beans SE vengono avviate eseguendo il seguente metodo "
+"main."
 
 #. Tag: programlisting
-#: environments.xml:235
+#: environments.xml:230
 #, no-c-format
 msgid "<![CDATA[java org.jboss.webbeans.environments.se.StartMain <args>]]>"
 msgstr "<![CDATA[java org.jboss.webbeans.environments.se.StartMain <args>]]>"
 
 #. Tag: para
-#: environments.xml:237
+#: environments.xml:232
 #, no-c-format
-msgid "If you need to do any custom initialization of the Web Beans manager, for example registering custom contexts or initializing resources for your beans you can do so in response to the <literal>@Initialized Manager</literal> event. The following example registers a custom context:"
-msgstr "Se occorre fare una qualsiasi inizializzazione personalizzata del manager Web Beans, per esempio registrando i contesti personalizzati o inizializzando le risorse dei bean, si può fare questo in risposta all'evento <literal>@Initialized Manager</literal>. Il seguente esempio registra un contesto personalizzato:"
+msgid ""
+"If you need to do any custom initialization of the Web Beans manager, for "
+"example registering custom contexts or initializing resources for your beans "
+"you can do so in response to the <literal>@Initialized Manager</literal> "
+"event. The following example registers a custom context:"
+msgstr ""
+"Se occorre fare una qualsiasi inizializzazione personalizzata del manager "
+"Web Beans, per esempio registrando i contesti personalizzati o "
+"inizializzando le risorse dei bean, si può fare questo in risposta "
+"all'evento <literal>@Initialized Manager</literal>. Il seguente esempio "
+"registra un contesto personalizzato:"
 
 #. Tag: programlisting
-#: environments.xml:242
+#: environments.xml:237
 #, no-c-format
 msgid ""
 "<![CDATA[public class PerformSetup\n"
@@ -402,11 +517,26 @@
 "}]]>"
 
 #. Tag: para
-#: environments.xml:246
+#: environments.xml:240
 #, no-c-format
-msgid "The command line parameters do not become available for injection until the <literal>@Deployed Manager</literal> event is fired. If you need access to the parameters during initialization you can do so via the <literal>public static String getParameters()</literal> method in <literal>StartMain</literal>."
-msgstr "I parametri da linea di comando non sono disponibili per l'injection fino a che non viene lanciato l'evento <literal>@Deployed Manager</literal>. Se serve l'accesso ai parametri durante l'inizializzazione si può averlo tramite il metodo <literal>public static String getParameters()</literal> in <literal>StartMain</literal>."
+msgid ""
+"The command line parameters do not become available for injection until the "
+"<literal>@Deployed Manager</literal> event is fired. If you need access to "
+"the parameters during initialization you can do so via the <literal>public "
+"static String getParameters()</literal> method in <literal>StartMain</"
+"literal>."
+msgstr ""
+"I parametri da linea di comando non sono disponibili per l'injection fino a "
+"che non viene lanciato l'evento <literal>@Deployed Manager</literal>. Se "
+"serve l'accesso ai parametri durante l'inizializzazione si può averlo "
+"tramite il metodo <literal>public static String getParameters()</literal> in "
+"<literal>StartMain</literal>."
 
-#~ msgid "Tomcat"
-#~ msgstr "Tomcat"
+#~ msgid "Tomcat (or any plain Servlet container)"
+#~ msgstr "Tomcat (o qualsiasi Servlet container)"
 
+#~ msgid "Decorators"
+#~ msgstr "Decoratori"
+
+#~ msgid "(TODO: Interceptors ?)"
+#~ msgstr "(DA FARE: Interceptors ?)"

Modified: doc/trunk/reference/it-IT/extensions.po
===================================================================
--- doc/trunk/reference/it-IT/extensions.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/it-IT/extensions.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -3,9 +3,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
+"VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-03-28 17:09+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-30 21:59+0100\n"
 "Last-Translator: Nicola Benaglia <nico.benaz at gmail.com>\n"
 "Language-Team: none\n"
@@ -22,8 +23,11 @@
 #. Tag: para
 #: extensions.xml:7
 #, no-c-format
-msgid "These modules are usable on any JSR-299 implementation, not just Web Beans!"
-msgstr "Questi moduli sono utilizzabili su qualsiasi implementazione JSR-299, non solo Web Beans!"
+msgid ""
+"These modules are usable on any JSR-299 implementation, not just Web Beans!"
+msgstr ""
+"Questi moduli sono utilizzabili su qualsiasi implementazione JSR-299, non "
+"solo Web Beans!"
 
 #. Tag: title
 #: extensions.xml:15
@@ -33,14 +37,73 @@
 
 #. Tag: para
 #: extensions.xml:17
-#: extensions.xml:26
 #, no-c-format
-msgid "TODO"
-msgstr "DA FARE"
+msgid ""
+"Adding logging to your application is now even easier with simple injection "
+"of a logger object into any JSR-299 bean. Simply annotate a org.jboss."
+"webbeans.log.Log type member with <emphasis>@Logger</emphasis> and an "
+"appropriate logger object will be injected into any instance of the bean."
+msgstr ""
 
-#. Tag: title
-#: extensions.xml:24
+#. Tag: programlisting
+#: extensions.xml:25
 #, no-c-format
-msgid "XSD Generator for JSR-299 XML deployment descriptors"
-msgstr "Generatore XSD per descrittori di deploy XML JSR-299"
+msgid ""
+"<![CDATA[public class Checkout {\n"
+"    import org.jboss.webbeans.annotation.Logger;\n"
+"    import org.jboss.webbeans.log.Log;\n"
+"    \n"
+"    @Logger\n"
+"    private Log log;\n"
+"\n"
+"    void invoiceItems() {\n"
+"        ShoppingCart cart;\n"
+"        . . .\n"
+"        log.debug(\"Items invoiced for {0}\", cart);\n"
+"    }\n"
+"    \n"
+"}]]>"
+msgstr ""
 
+#. Tag: para
+#: extensions.xml:27
+#, no-c-format
+msgid ""
+"The example shows how objects can be interpolated into a message. This "
+"interpolation is done using <emphasis>java.text.MessageFormat</emphasis>, so "
+"see the JavaDoc for that class for more details. In this case, the "
+"ShoppingCart should have implemented the <emphasis>toString()</emphasis> "
+"method to produce a human readable value that is meaningful in messages. "
+"Normally, this call would have involved evaluating cart.toString() with "
+"String concatenation to produce a single String argument. Thus it was "
+"necessary to surround the call with an if-statement using the condition "
+"<emphasis>log.isDebugEnabled()</emphasis> to avoid the expensive String "
+"concatenation if the message was not actually going to be used. However, "
+"when using @Logger injected logging, the conditional test can be left out "
+"since the object arguments are not evaluated unless the message is going to "
+"be logged."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:44
+#, no-c-format
+msgid ""
+"You can add the Web Beans Logger to your project by including webbeans-"
+"logger.jar and webbeans-logging.jar to your project. Alternatively, express "
+"a dependency on the <literal>org.jboss.webbeans:webbeans-logger</literal> "
+"Maven artifact."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:51
+#, no-c-format
+msgid ""
+"If you are using Web Beans as your JSR-299 implementation, there is no need "
+"to include <literal>webbeans-logging.jar</literal> as it's already included."
+msgstr ""
+
+#~ msgid "TODO"
+#~ msgstr "DA FARE"
+
+#~ msgid "XSD Generator for JSR-299 XML deployment descriptors"
+#~ msgstr "Generatore XSD per descrittori di deploy XML JSR-299"

Copied: doc/trunk/reference/it-IT/gettingstarted.po (from rev 2516, doc/trunk/reference/it-IT/ri.po)
===================================================================
--- doc/trunk/reference/it-IT/gettingstarted.po	                        (rev 0)
+++ doc/trunk/reference/it-IT/gettingstarted.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,2427 @@
+# Language it-IT translations for master.xml package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: master.xml\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2009-04-15 20:54+0100\n"
+"Last-Translator: Nicola Benaglia <nico.benaz at gmail.com>\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: gettingstarted.xml:4
+#, fuzzy, no-c-format
+msgid "Getting started with Web Beans, the Reference Implementation of JSR-299"
+msgstr "Implementazione di riferimento di Web Beans JSR-299"
+
+#. Tag: para
+#: gettingstarted.xml:6
+#, no-c-format
+msgid ""
+"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
+"WebBeans\">the Seam project</ulink>. You can download the latest developer "
+"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
+"\">the downloads page</ulink>."
+msgstr ""
+"Web Beans viene sviluppato all'indirizzo <ulink url=\"http://seamframework."
+"org/WebBeans\">the Seam project</ulink>. Si può scaricare l'ultima release "
+"di Web Beans dalla <ulink url=\"http://seamframework.org/Download\">pagina "
+"di download</ulink>."
+
+#. Tag: para
+#: gettingstarted.xml:13
+#, no-c-format
+msgid ""
+"Web Beans comes with a two deployable example applications: "
+"<literal>webbeans-numberguess</literal>, a war example, containing only "
+"simple beans, and <literal>webbeans-translator</literal> an ear example, "
+"containing enterprise beans. There are also two variations on the "
+"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
+"and the jsf2 example, which you can use if you are running JSF2. To run the "
+"examples you'll need the following:"
+msgstr ""
+"Web Beans viene distribuito con due applicazioni deployabili d'esempio, "
+"<literal>webbeans-numberguess</literal>, un esempio in formato war, che "
+"contiene solo bean semplici, e <literal>webbeans-translator</literal>, un "
+"esempio in formato ear, che contiene bean enterprise. Ci sono anche due "
+"varianti dell'esempio Indovina Numero, per Tomcat e con jsf2, che può essere "
+"usato con JSF2. Per eseguire gli esempi occorre fare le seguenti cose:"
+
+#. Tag: para
+#: gettingstarted.xml:25
+#, no-c-format
+msgid "the latest release of Web Beans,"
+msgstr "l'ultima release di Web Beans,"
+
+#. Tag: para
+#: gettingstarted.xml:28
+#, no-c-format
+msgid "JBoss AS 5.0.1.GA, or"
+msgstr "JBoss AS 5.0.1.GA, o"
+
+#. Tag: para
+#: gettingstarted.xml:31
+#, no-c-format
+msgid "Apache Tomcat 6.0.x, and"
+msgstr "Apache Tomcat 6.0.x, e"
+
+#. Tag: para
+#: gettingstarted.xml:34
+#, no-c-format
+msgid "Ant 1.7.0."
+msgstr "Ant 1.7.0."
+
+#. Tag: title
+#: gettingstarted.xml:39
+#, no-c-format
+msgid "Using JBoss AS 5"
+msgstr "Usare JBoss AS 5"
+
+#. Tag: para
+#: gettingstarted.xml:41
+#, no-c-format
+msgid ""
+"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
+"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
+msgstr ""
+"Occorre scaricare JBoss AS 5.0.1.GA da <ulink url=\"http://www.jboss.org/"
+"jbossas/downloads/\">jboss.org</ulink>, e scompattarlo. Per esempio:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:47
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.1.GA.zip]]>"
+msgstr ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.1.GA.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:49 gettingstarted.xml:170
+#, no-c-format
+msgid ""
+"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
+"\">seamframework.org</ulink>, and unzip it. For example"
+msgstr ""
+"Scaricare Web Beans da <ulink url=\"http://seamframework.org/Download"
+"\">seamframework.org</ulink>, e scompattarlo. Per esempio"
+
+#. Tag: programlisting
+#: gettingstarted.xml:55 gettingstarted.xml:176
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-$VERSION.zip]]>"
+msgstr ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-$VERSION.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:58
+#, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>jboss.home</literal> "
+"property. For example:"
+msgstr ""
+"Quindi, occorre indicare a Web Beans dove è stato installato JBoss. "
+"Modificate il file <literal>jboss-as/build.properties</literal> e "
+"valorizzate la proprietà <literal>jboss.home</literal>. Per esempio:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:64
+#, no-c-format
+msgid "jboss.home=/Applications/jboss-5.0.1.GA"
+msgstr "jboss.home=/Applications/jboss-5.0.1.GA"
+
+#. Tag: para
+#: gettingstarted.xml:66
+#, no-c-format
+msgid ""
+"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
+"<literal>ANT_HOME</literal> environment variable set. For example:"
+msgstr ""
+"Per installare Web Beans, occorre avere installato Ant 1.7.0, e avere "
+"valorizzato la variabile d'ambiente <literal>ANT_HOME</literal>. Per esempio:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:71
+#, no-c-format
+msgid ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+msgstr ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+
+#. Tag: para
+#: gettingstarted.xml:73
+#, no-c-format
+msgid ""
+"Then, you can install the update. The update script will use Maven to "
+"download Web Beans automatically."
+msgstr ""
+"Quindi, è possibile installare gli aggiornamenti. Lo script di aggiornamento "
+"userà Maven per scaricare automaticamente Web Beans."
+
+#. Tag: programlisting
+#: gettingstarted.xml:78
+#, no-c-format
+msgid ""
+"$ cd webbeans-$VERSION/jboss-as\n"
+"$ ant update"
+msgstr ""
+"$ cd webbeans-$VERSION/jboss-as\n"
+"$ ant update"
+
+#. Tag: para
+#: gettingstarted.xml:80
+#, no-c-format
+msgid "Now, you're ready to deploy your first example!"
+msgstr "Ora, siete pronti a fare il deploy del primo esempio!"
+
+#. Tag: para
+#: gettingstarted.xml:85
+#, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for JBoss AS, "
+"these are:"
+msgstr ""
+"Gli script di build degli esempio offrono una quantità di target per JBoss "
+"AS, quali:"
+
+#. Tag: para
+#: gettingstarted.xml:91
+#, no-c-format
+msgid "<literal>ant restart</literal> - deploy the example in exploded format"
+msgstr ""
+"<literal>ant restart</literal> - fa il deploy dell'esempio in formato esploso"
+
+#. Tag: para
+#: gettingstarted.xml:97
+#, no-c-format
+msgid ""
+"<literal>ant explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+"<literal>ant explode</literal> - aggiorna un esempio in formato esploso, "
+"senza riavviare il deploy"
+
+#. Tag: para
+#: gettingstarted.xml:103
+#, no-c-format
+msgid ""
+"<literal>ant deploy</literal> - deploy the example in compressed jar format"
+msgstr ""
+"<literal>ant deploy</literal> - fa il deploy dell'esempio in formato jar "
+"compresso"
+
+#. Tag: para
+#: gettingstarted.xml:108
+#, no-c-format
+msgid "<literal>ant undeploy</literal> - remove the example from the server"
+msgstr "<literal>ant undeploy</literal> - rimuove l'esempio dal server"
+
+#. Tag: para
+#: gettingstarted.xml:113
+#, no-c-format
+msgid "<literal>ant clean</literal> - clean the example"
+msgstr "<literal>ant clean</literal> - ripulisce l'esempio"
+
+#. Tag: para
+#: gettingstarted.xml:120
+#, no-c-format
+msgid "To deploy the numberguess example:"
+msgstr "Per fare il deploy dell'esempio Indovina Numero:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:124
+#, no-c-format
+msgid ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+msgstr ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:126
+#, no-c-format
+msgid "Start JBoss AS:"
+msgstr "Avviare JBoss AS:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:130
+#, no-c-format
+msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
+msgstr "$ /Application/jboss-5.0.0.GA/bin/run.sh"
+
+#. Tag: para
+#: gettingstarted.xml:133
+#, no-c-format
+msgid "If you use Windows, use the <literal>run.bat</literal>script."
+msgstr "Se si usa Windows, si usi lo script <literal>run.bat</literal>."
+
+#. Tag: para
+#: gettingstarted.xml:138 gettingstarted.xml:240
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
+"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
+msgstr ""
+"Attendete che l'applicazione sia installata, e godetevi ore di divertimento "
+"all'indirizzo <ulink url=\"http://localhost:8080/webbeans-numberguess\"></"
+"ulink>!"
+
+#. Tag: para
+#: gettingstarted.xml:143
+#, no-c-format
+msgid ""
+"Web Beans includes a second simple example that will translate your text "
+"into Latin. The numberguess example is a war example, and uses only simple "
+"beans; the translator example is an ear example, and includes enterprise "
+"beans, packaged in an EJB module. To try it out:"
+msgstr ""
+"Web Beans include un secondo semplice esempio che tradurrà i vostri testi in "
+"Latino. L'esempio Indovina Numero è in formato war, e usa soltanto bean "
+"semplici; l'esempio col traduttore è in formato ear, e include dei bean "
+"enterprise, assemblati in un modulo EJB. Per provarlo:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:150
+#, no-c-format
+msgid ""
+"$ cd examples/translator\n"
+"ant deploy"
+msgstr ""
+"$ cd examples/translator\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:152
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and visit <ulink url=\"http://"
+"localhost:8080/webbeans-translator\"></ulink>!"
+msgstr ""
+"Attendete che l'applicazione sia installata, e visitate l'indirizzo <ulink "
+"url=\"http://localhost:8080/webbeans-translator\"></ulink>!"
+
+#. Tag: title
+#: gettingstarted.xml:160
+#, no-c-format
+msgid "Using Apache Tomcat 6.0"
+msgstr "Usare Apache Tomcat 6.0"
+
+#. Tag: para
+#: gettingstarted.xml:162
+#, no-c-format
+msgid ""
+"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
+"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
+"For example:"
+msgstr ""
+"Scaricare Tomcat 6.0.18 o successivo da <ulink url=\"http://tomcat.apache."
+"org/download-60.cgi\">tomcat.apache.org</ulink>, e scompattarlo. Per esempio"
+
+#. Tag: programlisting
+#: gettingstarted.xml:168
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
+msgstr ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:178
+#, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
+"property. For example:"
+msgstr ""
+"Quindi, occorre indicare a Web Beans dove è stato installato Tomcat. "
+"Modificate il file <literal>jboss-as/build.properties</literal> e "
+"valorizzate la proprietà <literal>tomcat.home</literal>. Per esempio:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:184
+#, no-c-format
+msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
+msgstr "tomcat.home=/Applications/apache-tomcat-6.0.18"
+
+#. Tag: para
+#: gettingstarted.xml:187
+#, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for Tomcat, "
+"these are:"
+msgstr ""
+"Gli script di build degli esempi offrono una quantità di target per Tomcat, "
+"quali:"
+
+#. Tag: para
+#: gettingstarted.xml:193
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
+msgstr ""
+"<literal>ant tomcat.restart</literal> - esegue il deploy dell'esempio in "
+"formato esploso"
+
+#. Tag: para
+#: gettingstarted.xml:199
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+"<literal>ant tomcat.explode</literal> - aggiorna un esempio in formato "
+"esploso, senza riavviare il deploy"
+
+#. Tag: para
+#: gettingstarted.xml:205
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
+"format"
+msgstr ""
+"<literal>ant tomcat.deploy</literal> - esegue il deploy dell'esempio in "
+"formato jar compresso"
+
+#. Tag: para
+#: gettingstarted.xml:210
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
+msgstr "<literal>ant tomcat.undeploy</literal> - rimuove l'esempio dal server"
+
+#. Tag: para
+#: gettingstarted.xml:215
+#, no-c-format
+msgid "<literal>ant tomcat.clean</literal> - clean the example"
+msgstr "<literal>ant tomcat.clean</literal> - ripulisce l'esempio"
+
+#. Tag: para
+#: gettingstarted.xml:222
+#, no-c-format
+msgid "To deploy the numberguess example for tomcat:"
+msgstr "Per eseguire il deploy dell'esempio Indovina Numero per tomcat:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:226
+#, no-c-format
+msgid ""
+"$ cd examples/tomcat\n"
+"ant tomcat.deploy"
+msgstr ""
+"$ cd examples/tomcat\n"
+"ant tomcat.deploy"
+
+#. Tag: para
+#: gettingstarted.xml:228
+#, no-c-format
+msgid "Start Tomcat:"
+msgstr "Avviare Tomcat:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:232
+#, no-c-format
+msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
+msgstr "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
+
+#. Tag: para
+#: gettingstarted.xml:235
+#, no-c-format
+msgid "If you use Windows, use the <literal>startup.bat</literal>script."
+msgstr "Se si usa Windows, si usi lo script <literal>startup.bat</literal>."
+
+#. Tag: title
+#: gettingstarted.xml:248
+#, no-c-format
+msgid "Using GlassFish"
+msgstr "Usare GlassFish"
+
+#. Tag: para
+#: gettingstarted.xml:250
+#, no-c-format
+msgid "TODO"
+msgstr "DA FARE"
+
+#. Tag: title
+#: gettingstarted.xml:254
+#, no-c-format
+msgid "The numberguess example"
+msgstr "Esempio Indovina Numero"
+
+#. Tag: para
+#: gettingstarted.xml:256
+#, no-c-format
+msgid ""
+"In the numberguess application you get given 10 attempts to guess a number "
+"between 1 and 100. After each attempt, you will be told whether you are too "
+"high, or too low."
+msgstr ""
+"Nell'applicazione Indovina Numero avete a disposizione 10 tentativi per "
+"indovinare un numero tra 1 e 100. Dopo ciascun tentativo, siete informati se "
+"siete stati troppo alti o troppo bassi."
+
+#. Tag: para
+#: gettingstarted.xml:262
+#, no-c-format
+msgid ""
+"The numberguess example is comprised of a number of Web Beans, configuration "
+"files, and Facelet JSF pages, packaged as a war. Let's start with the "
+"configuration files."
+msgstr ""
+"L'esempio Indovina Numero comprende un certo numero di Web Bean,  file di "
+"configurazione e pagine JSF, assemblati in un war. Iniziamo dai file di "
+"configurazione."
+
+#. Tag: para
+#: gettingstarted.xml:268
+#, no-c-format
+msgid ""
+"All the configuration files for this example are located in <literal>WEB-INF/"
+"</literal>, which is stored in <literal>WebContent</literal> in the source "
+"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
+"JSF to use Facelets:"
+msgstr ""
+"Tutti i file di configurazione di questo esempio si trovano in <literal>WEB-"
+"INF/</literal>, che è situato in <literal>WebContent</literal> nell'albero "
+"dei sorgenti. Innanzitutto, c'è <literal>faces-config.xml</literal>, in cui "
+"JSF viene informata di usare Facelets:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:276
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+msgstr ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:278
+#, no-c-format
+msgid ""
+"There is an empty <literal>web-beans.xml</literal> file, which marks this "
+"application as a Web Beans application."
+msgstr ""
+"Vi è un file vuoto <literal>web-beans.xml</literal>, che identifica "
+"l'applicazione come applicazione Web Beans."
+
+#. Tag: para
+#: gettingstarted.xml:283
+#, no-c-format
+msgid "Finally there is <literal>web.xml</literal>:"
+msgstr "Infine c'è <literal>web.xml</literal>:"
+
+#. Tag: section
+#: gettingstarted.xml:285
+#, fuzzy, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
+"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
+"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
+"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
+"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
+"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
+"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
+"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
+"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
+"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
+"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
+"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
+"session timeout of 10 minutes </para> </callout> </calloutlist> </"
+"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
+"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
+"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
+"id=\"template\" coords=\"8\"/> <area id=\"messages2\" coords=\"12\"/> <area "
+"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
+"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
+"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
+"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
+"dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
+"number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
+"number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game."
+"biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
+"{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
+"<para> Facelets is a templating language for JSF, here we are wrapping our "
+"page in a template which defines the header. </para> </callout> <callout "
+"arearefs=\"messages2\"> <para> There are a number of messages which can be "
+"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
+"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
+"range of numbers they can guess gets smaller - this sentance changes to make "
+"sure they know what range to guess in. </para> </callout> <callout arearefs="
+"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
+"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
+"range validator is used to make sure the user doesn't accidentally input a "
+"number outside of the range in which they can guess - if the validator "
+"wasn't here, the user might use up a guess on an out of range number. </"
+"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
+"must be a way for the user to send their guess to the server. Here we bind "
+"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
+"programlistingco>"
+msgstr ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
+"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
+"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
+"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
+"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
+"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
+"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
+"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
+"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
+"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
+"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
+"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
+"session timeout of 10 minutes </para> </callout> </calloutlist> </"
+"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
+"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
+"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
+"id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area "
+"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
+"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
+"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
+"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
+"dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
+"number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
+"number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game."
+"biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
+"{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
+"<para> Facelets is a templating language for JSF, here we are wrapping our "
+"page in a template which defines the header. </para> </callout> <callout "
+"arearefs=\"messages\"> <para> There are a number of messages which can be "
+"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
+"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
+"range of numbers they can guess gets smaller - this sentance changes to make "
+"sure they know what range to guess in. </para> </callout> <callout arearefs="
+"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
+"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
+"range validator is used to make sure the user doesn't accidentally input a "
+"number outside of the range in which they can guess - if the validator "
+"wasn't here, the user might use up a guess on an out of range number. </"
+"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
+"must be a way for the user to send their guess to the server. Here we bind "
+"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
+"programlistingco>"
+
+#. Tag: para
+#: gettingstarted.xml:387
+#, no-c-format
+msgid ""
+"The example exists of 4 classes, the first two of which are binding types. "
+"First, there is the <literal>@Random</literal> binding type, used for "
+"injecting a random number:"
+msgstr ""
+"L'esempio consiste di 4 classi, delle quali le prime due sono tipi di "
+"binding. Innanzitutto, c'è il tipo di binding <literal>@Random</literal>, "
+"usato per iniettare un numero casuale:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:393
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+msgstr ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+
+#. Tag: para
+#: gettingstarted.xml:395
+#, no-c-format
+msgid ""
+"There is also the <literal>@MaxNumber</literal> binding type, used for "
+"injecting the maximum number that can be injected:"
+msgstr ""
+"C'è anche il tipo di binding <literal>@MaxNumber</literal>, usato per "
+"iniettare il numero massimo iniettatabile:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:400
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+msgstr ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+
+#. Tag: para
+#: gettingstarted.xml:402
+#, no-c-format
+msgid ""
+"The <literal>Generator</literal> class is responsible for creating the "
+"random number, via a producer method. It also exposes the maximum possible "
+"number via a producer method:"
+msgstr ""
+"Alla classe <literal>Generator</literal> è affidata la generazione del "
+"numero casuale, per mezzo di un metodo produttore. Inoltre essa espone il "
+"massimo numero possibile attraverso un metodo produttore:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:408
+#, no-c-format
+msgid ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System."
+"currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+msgstr ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System."
+"currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+
+#. Tag: para
+#: gettingstarted.xml:410
+#, no-c-format
+msgid ""
+"You'll notice that the <literal>Generator</literal> is application scoped; "
+"therefore we don't get a different random each time."
+msgstr ""
+"E' possibile notare che <literal>Generator</literal> ha scope applicazione; "
+"quindi non si ottiene un diverso numero casuale ogni volta."
+
+#. Tag: para
+#: gettingstarted.xml:415
+#, no-c-format
+msgid ""
+"The final Web Bean in the application is the session scoped <literal>Game</"
+"literal>."
+msgstr ""
+"Il Web Bean finale nell'applicazione è <literal>Game</literal> avente scope "
+"di sessione."
+
+#. Tag: para
+#: gettingstarted.xml:420
+#, no-c-format
+msgid ""
+"You'll note that we've used the <literal>@Named</literal> annotation, so "
+"that we can use the bean through EL in the JSF page. Finally, we've used "
+"constructor injection to initialize the game with a random number. And of "
+"course, we need to tell the player when they've won, so we give feedback "
+"with a <literal>FacesMessage</literal>."
+msgstr ""
+"Si noti anche che è stata usata l'annotazione <literal>@Named</literal>, in "
+"modo che sia possibile usare il bean in espressioni EL presenti nelle pagine "
+"JSF. Infine, si è utilizzata l'iniezione del costruttore per inizializzare "
+"il gioco con un numero casuale. E naturalmente, è necessario dire al "
+"giocatore se ha vinto, informazione di feedback che viene fornita con un "
+"<literal>FacesMessage</literal>."
+
+#. Tag: programlisting
+#: gettingstarted.xml:428
+#, no-c-format
+msgid ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
+"(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new "
+"AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+msgstr ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
+"(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new "
+"AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+
+#. Tag: title
+#: gettingstarted.xml:431
+#, fuzzy, no-c-format
+msgid "The numberguess example in Tomcat"
+msgstr "Esempio Indovina Numero per Tomcat"
+
+#. Tag: para
+#: gettingstarted.xml:433
+#, fuzzy, no-c-format
+msgid ""
+"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
+"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
+"literal>. For your convenience we provide a single jar suitable for running "
+"Web Beans in any servlet container <literal>webbeans-servlet.jar</literal>."
+msgstr ""
+"L'Indovina Numero di Tomcat differisce in un paio di punti. Innanzitutto Web "
+"Beans dovrebbe essere deployato come libreria Web Application in "
+"<literal>WEB-INF/lib</literal>. Per comodità viene fornito un singolo jar "
+"<literal>webbeans-tomcat.jar</literal> adatto per Web Beans in Tomcat."
+
+#. Tag: para
+#: gettingstarted.xml:442
+#, no-c-format
+msgid ""
+"Of course, you must also include JSF and EL, as well common annotations "
+"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
+msgstr ""
+"Certamente occorre anche includere JSF e EL, e le annotazioni comuni "
+"(<literal>jsr250-api.jar</literal>) che un server JEE include di default."
+
+#. Tag: para
+#: gettingstarted.xml:449
+#, fuzzy, no-c-format
+msgid ""
+"Secondly, we need to explicitly specify the servlet listener (used to boot "
+"Web Beans, and control it's interaction with requests) in <literal>web.xml</"
+"literal>:"
+msgstr ""
+"In secondo luogo, occorre specificare esplicitamente il servlet listener di "
+"Tomcat (usato per avviare Web Beans, e controllare la sua interazione con le "
+"richieste) in <literal>web.xml</literal>:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:455
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+"<![CDATA[<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+
+#. Tag: title
+#: gettingstarted.xml:460
+#, fuzzy, no-c-format
+msgid "The numberguess example for Apache Wicket"
+msgstr "Esempio Indovina Numero per Tomcat"
+
+#. Tag: para
+#: gettingstarted.xml:461
+#, no-c-format
+msgid ""
+"Whilst JSR-299 specifies integration with Java ServerFaces, Web Beans allows "
+"you to inject into Wicket components, and also allows you to use a "
+"conversation context with Wicket. In this section, we'll walk you through "
+"the Wicket version of the numberguess example."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:470
+#, no-c-format
+msgid ""
+"You may want to review the Wicket documentation at <ulink url=\"http://"
+"wicket.apache.org/\">http://wicket.apache.org/</ulink>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:476
+#, no-c-format
+msgid ""
+"Like the previous example, the Wicket WebBeans examples make use of the "
+"<literal>webbeans-servlet</literal> module. The use of the <ulink url="
+"\"http://jetty.mortbay.org/\">Jetty servlet container</ulink> is common in "
+"the Wicket community, and is chosen here as the runtime container in order "
+"to facilitate comparison between the standard Wicket examples and these "
+"examples, and also to show how the webbeans-servlet integration is not "
+"dependent upon Tomcat as the servlet container."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:487
+#, no-c-format
+msgid ""
+"These examples make use of the Eclipse IDE; instructions are also given to "
+"deploy the application from the command line."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:493
+#, no-c-format
+msgid "Creating the Eclipse project"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:495
+#, no-c-format
+msgid "To generate an Eclipse project from the example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:499
+#, no-c-format
+msgid ""
+"<![CDATA[cd examples/wicket/numberguess\n"
+"mvn eclipse:eclipse]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:501
+#, no-c-format
+msgid ""
+"Then, from eclipse, choose <emphasis>File -> Import -> General -> Existing "
+"Projects into Workspace</emphasis>, select the root directory of the "
+"numberguess example, and click finish. This will create a project in your "
+"workspace called <literal>webbeans-wicket-numberguess</literal>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:516
+#, no-c-format
+msgid "Running the example from Eclipse"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:518
+#, no-c-format
+msgid ""
+"This project follows the <literal>wicket-quickstart</literal> approach of "
+"creating an instance of Jetty in the <literal>Start</literal> class. So "
+"running the example is as simple as right-clicking on that Start class in "
+"<literal>src/test/java</literal> in the <emphasis>Package Explorer</"
+"emphasis> and choosing <emphasis>Run as Java Application</emphasis>. You "
+"should see console output related to Jetty starting up; then visit able "
+"<literal>http://localhost:8080</literal> to view the app. To debug choose "
+"<emphasis>Debug as Java Application</emphasis>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:533
+#, no-c-format
+msgid "Running the example from the command line in JBoss AS or Tomcat"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:535
+#, no-c-format
+msgid ""
+"This example can also be deployed from the command line in a (similar to the "
+"other examples). Assuming you have set up the <literal>build.properties</"
+"literal> file in the <literal>examples</literal> directory to specify the "
+"location of JBoss AS or Tomcat, as previously described, you can run "
+"<literal>ant deploy</literal> from the <literal>examples/wicket/numberguess</"
+"literal> directory, and access the application at <literal>http://"
+"localhost:8080/webbeans-numberguess-wicket</literal>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:549
+#, no-c-format
+msgid "Understanding the code"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:551
+#, no-c-format
+msgid ""
+"JSF uses Unified EL expressions to bind view layer components in JSP or "
+"Facelet views to beans, Wicket defines it's components in Java. The markup "
+"is plain html with a one-to-one mapping between html elements and the view "
+"components. All view logic, including binding of components to models and "
+"controlling the response of view actions, is handled in Java. The "
+"integration of Web Beans with Wicket takes advantage of the same binding "
+"annotations used in your business layer to provide injection into your "
+"WebPage subclass (or into other custom wicket component subclasses)."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:563
+#, no-c-format
+msgid ""
+"The code in the wicket numberguess example is very similar to the JSF-based "
+"numberguess example. The business layer is identical!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:568
+#, no-c-format
+msgid "Differences are:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:573
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass, In our case, our application class is <literal>SampleApplication</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:579
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:580
+#, no-c-format
+msgid ""
+"This class specifies which page wicket should treat as our home page, in our "
+"case, <literal>HomePage.class</literal>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:586
+#, no-c-format
+msgid ""
+"In <literal>HomePage</literal> we see typical wicket code to set up page "
+"elements. The bit that is interesting is the injection of the <literal>Game</"
+"literal> bean:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:592
+#, no-c-format
+msgid "<![CDATA[ @Current Game game;]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:594
+#, no-c-format
+msgid ""
+"The <literal>Game</literal> bean is can then be used, for example, by the "
+"code for submitting a guess:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:599
+#, no-c-format
+msgid ""
+"<![CDATA[final Component guessButton = new AjaxButton(\"GuessButton\") { \n"
+"   protected void onSubmit(AjaxRequestTarget target, Form form) {\n"
+"      if (game.check()) {]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:602
+#, no-c-format
+msgid ""
+"All injections may be serialized; actual storage of the bean is managed by "
+"JSR-299. Note that Wicket components, like the HomePage and it "
+"subcomponents, are <emphasis>not</emphasis> JSR-299 beans."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:608
+#, no-c-format
+msgid ""
+"Wicket components allow injection, but they <emphasis>cannot</emphasis> use "
+"interceptors, decorators and lifecycle callbacks such as "
+"<literal>@PostConstruct</literal> or <literal>@Initializer</literal> methods."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:618
+#, no-c-format
+msgid ""
+"The example uses AJAX for processing of button events, and dynamically hides "
+"buttons that are no longer relevant, for example when the user has won the "
+"game."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:626
+#, no-c-format
+msgid ""
+"In order to activate wicket for this webapp, the Wicket filter is added to "
+"web.xml, and our application class is specified:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:631
+#, no-c-format
+msgid ""
+"<![CDATA[<filter>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-"
+"class>\n"
+"   <init-param>\n"
+"      <param-name>applicationClassName</param-name>\n"
+"      <param-value>org.jboss.webbeans.examples.wicket.SampleApplication</"
+"param-value>\n"
+"   </init-param>\n"
+"</filter>\n"
+"\n"
+"<filter-mapping>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <url-pattern>/*</url-pattern>\n"
+"</filter-mapping>\n"
+" \n"
+"<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:632
+#, no-c-format
+msgid ""
+"Note that the servlet listener is also added, as in the Tomcat example, in "
+"order to boostrap Web Beans when Jetty starts, and to hook Web Beans into "
+"the Jetty servlet request and session lifecycles."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:645
+#, fuzzy, no-c-format
+msgid "The numberguess example for Java SE with Swing"
+msgstr "Esempio Indovina Numero per Tomcat"
+
+#. Tag: para
+#: gettingstarted.xml:647
+#, no-c-format
+msgid ""
+"This example can be found in the <literal>examples/se/numberguess</literal> "
+"folder of the Web Beans distribution."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:654
+#, fuzzy, no-c-format
+msgid "To run this example:"
+msgstr "Esempio Traduttore"
+
+#. Tag: para
+#: gettingstarted.xml:660
+#, no-c-format
+msgid ""
+"Open a command line/terminal window in the <literal>examples/se/numberguess</"
+"literal> directory"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:666
+#, no-c-format
+msgid "Ensure that Maven 2 is installed and in your PATH"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:671
+#, no-c-format
+msgid ""
+"Ensure that the <literal>JAVA_HOME</literal> environment variable is "
+"pointing to your JDK installation"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:677
+#, no-c-format
+msgid "execute the following command"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:680
+#, no-c-format
+msgid "mvn -Drun"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:686
+#, fuzzy, no-c-format
+msgid ""
+"There is an empty <literal>beans.xml</literal> file in the root package "
+"(<literal>src/main/resources/beans.xml</literal>), which marks this "
+"application as a Web Beans application."
+msgstr ""
+"Vi è un file vuoto <literal>web-beans.xml</literal>, che identifica "
+"l'applicazione come applicazione Web Beans."
+
+#. Tag: para
+#: gettingstarted.xml:692
+#, no-c-format
+msgid ""
+"The game's main logic is located in <literal>Game.java</literal>. Here is "
+"the code for that class, highlighting the changes made from the web "
+"application version:"
+msgstr ""
+
+#. Tag: section
+#: gettingstarted.xml:696
+#, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"scope\" coords=\"1\"/> <area id="
+"\"name\" coords=\"1\"/> <area id=\"messages1\" coords=\"26\"/> <area id="
+"\"validation\" coords=\"39\"/> <area id=\"reset\" coords=\"68\"/> </"
+"areaspec> <programlisting role=\"JAVA\"><![CDATA[@ApplicationScoped\n"
+"public class Game implements Serializable\n"
+"{\n"
+"\n"
+"    private int number;\n"
+"    private int guess;\n"
+"    private int smallest;\n"
+"\n"
+"    @MaxNumber\n"
+"    private int maxNumber;\n"
+"\n"
+"    private int biggest;\n"
+"    private int remainingGuesses;\n"
+"    private boolean validNumberRange = true;\n"
+"\n"
+"    @Current Generator rndGenerator;\n"
+"\n"
+"    ...\n"
+"\n"
+"    public boolean isValidNumberRange()\n"
+"    {\n"
+"        return validNumberRange;\n"
+"    }\n"
+"\n"
+"    public boolean isGameWon()\n"
+"    {\n"
+"        return guess == number;\n"
+"    }\n"
+"\n"
+"    public boolean isGameLost()\n"
+"    {\n"
+"        return guess != number && remainingGuesses <= 0;\n"
+"    }\n"
+"\n"
+"    public boolean check()\n"
+"    {\n"
+"        boolean result = false;\n"
+"\n"
+"        if ( checkNewNumberRangeIsValid() )\n"
+"        {\n"
+"            if ( guess > number )\n"
+"            {\n"
+"                biggest = guess - 1;\n"
+"            }\n"
+"\n"
+"            if ( guess < number )\n"
+"            {\n"
+"                smallest = guess + 1;\n"
+"            }\n"
+"\n"
+"            if ( guess == number )\n"
+"            {\n"
+"                result = true;\n"
+"            }\n"
+"\n"
+"            remainingGuesses--;\n"
+"        }\n"
+"\n"
+"        return result;\n"
+"    }\n"
+"\n"
+"    private boolean checkNewNumberRangeIsValid()\n"
+"    {\n"
+"        return validNumberRange = ( ( guess >= smallest ) && ( guess <= "
+"biggest ) );\n"
+"    }\n"
+"\n"
+"    @PostConstruct\n"
+"    public void reset()\n"
+"    {\n"
+"        this.smallest = 0;\n"
+"        ...\n"
+"        this.number = rndGenerator.next();\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"scope\"> <para> The "
+"bean is application scoped instead of session scoped, since an instance of "
+"the application represents a single 'session'. </para> </callout> <callout "
+"arearefs=\"name\"> <para> The bean is not named, since it doesn't need to be "
+"accessed via EL </para> </callout> <callout arearefs=\"messages1\"> <para> "
+"There is no JSF <literal>FacesContext</literal> to add messages to. Instead "
+"the <literal>Game</literal> class provides additional information about the "
+"state of the current game including: </para> <itemizedlist> <listitem> "
+"<para> If the game has been won or lost </para> </listitem> <listitem> "
+"<para> If the most recent guess was invalid </para> </listitem> </"
+"itemizedlist> <para> This allows the Swing UI to query the state of the "
+"game, which it does indirectly via a class called <literal>MessageGenerator,"
+"</literal> in order to determine the appropriate messages to display to the "
+"user during the game. </para> </callout> <callout arearefs=\"validation\"> "
+"<para> Validation of user input is performed during the <literal>check()</"
+"literal> method, since there is no dedicated validation phase </para> </"
+"callout> <callout arearefs=\"reset\"> <para> The <literal>reset()</literal> "
+"method makes a call to the injected <literal>rndGenerator</literal> in order "
+"to get the random number at the start of each game. It cannot use "
+"<literal>manager.getInstanceByType(Integer.class, new AnnotationLiteral&lt;"
+"Random&gt;(){})</literal> as the JSF example does because there will not be "
+"any active contexts like there is during a JSF request. </para> </callout> </"
+"calloutlist> </programlistingco> <para> The <literal>MessageGenerator</"
+"literal> class depends on the current instance of <literal>Game</literal>, "
+"and queries its state in order to determine the appropriate messages to "
+"provide as the prompt for the user's next guess and the response to the "
+"previous guess. The code for <literal>MessageGenerator</literal> is as "
+"follows: </para> <programlistingco> <areaspec> <area id=\"game\" coords=\"3"
+"\"/> <area id=\"challenge\" coords=\"5\"/> <area id=\"result\" coords=\"16\"/"
+"> </areaspec> <programlisting role=\"JAVA\"><![CDATA[public class "
+"MessageGenerator\n"
+"{\n"
+"    @Current Game game;\n"
+"\n"
+"    public String getChallengeMessage()\n"
+"    {\n"
+"        StringBuilder challengeMsg = new StringBuilder( \"I'm thinking of a "
+"number between \" );\n"
+"        challengeMsg.append( game.getSmallest() );\n"
+"        challengeMsg.append( \" and \" );\n"
+"        challengeMsg.append( game.getBiggest() );\n"
+"        challengeMsg.append( \". Can you guess what it is?\" );\n"
+"\n"
+"        return challengeMsg.toString();\n"
+"    }\n"
+"\n"
+"    public String getResultMessage()\n"
+"    {\n"
+"        if ( game.isGameWon() )\n"
+"        {\n"
+"            return \"You guess it! The number was \" + game.getNumber();\n"
+"        } else if ( game.isGameLost() )\n"
+"        {\n"
+"            return \"You are fail! The number was \" + game.getNumber();\n"
+"        } else if ( ! game.isValidNumberRange() )\n"
+"        {\n"
+"            return \"Invalid number range!\";\n"
+"        } else if ( game.getRemainingGuesses() == Game.MAX_NUM_GUESSES )\n"
+"        {\n"
+"            return \"What is your first guess?\";\n"
+"        } else\n"
+"        {\n"
+"            String direction = null;\n"
+"\n"
+"            if ( game.getGuess() < game.getNumber() )\n"
+"            {\n"
+"                direction = \"Higher\";\n"
+"            } else\n"
+"            {\n"
+"                direction = \"Lower\";\n"
+"            }\n"
+"\n"
+"            return direction + \"! You have \" + game.getRemainingGuesses() "
+"+ \" guesses left.\";\n"
+"        }\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"game\"> <para> The "
+"instance of <literal>Game</literal> for the application is injected here. </"
+"para> </callout> <callout arearefs=\"challenge\"> <para> The <literal>Game</"
+"literal>'s state is interrogated to determine the appropriate challenge "
+"message. </para> </callout> <callout arearefs=\"result\"> <para> And again "
+"to determine whether to congratulate, console or encourage the user to "
+"continue. </para> </callout> </calloutlist> </programlistingco> <para> "
+"Finally we come to the <literal>NumberGuessFrame</literal> class which "
+"provides the Swing front end to our guessing game. </para> "
+"<programlistingco> <areaspec> <area id=\"gameIn\" coords=\"3\"/> <area id="
+"\"messagesIn\" coords=\"4\"/> <area id=\"start\" coords=\"6\"/> <area id="
+"\"init\" coords=\"18\"/> <area id=\"guess1\" coords=\"34\"/> <area id="
+"\"replay\" coords=\"44\"/> <area id=\"refresh\" coords=\"50\"/> </areaspec> "
+"<programlisting role=\"JAVA\"><![CDATA[public class NumberGuessFrame  "
+"extends javax.swing.JFrame\n"
+"{\n"
+"    private @Current Game game;\n"
+"    private @Current MessageGenerator msgGenerator;\n"
+"\n"
+"    public void start( @Observes @Deployed Manager manager )\n"
+"    {\n"
+"        java.awt.EventQueue.invokeLater( new Runnable()\n"
+"            {\n"
+"                public void run()\n"
+"                {\n"
+"                    initComponents();\n"
+"                    setVisible( true );\n"
+"                }\n"
+"            } );\n"
+"    }\n"
+"\n"
+"    private void initComponents() {\n"
+"\n"
+"        buttonPanel = new javax.swing.JPanel();\n"
+"        mainMsgPanel = new javax.swing.JPanel();\n"
+"        mainLabel = new javax.swing.JLabel();\n"
+"        messageLabel = new javax.swing.JLabel();\n"
+"        guessText = new javax.swing.JTextField();\n"
+"        ...\n"
+"        mainLabel.setText(msgGenerator.getChallengeMessage());\n"
+"        mainMsgPanel.add(mainLabel);\n"
+"\n"
+"        messageLabel.setText(msgGenerator.getResultMessage());\n"
+"        mainMsgPanel.add(messageLabel);\n"
+"        ...\n"
+"    }\n"
+"\n"
+"    private void guessButtonActionPerformed( java.awt.event.ActionEvent "
+"evt )\n"
+"    {\n"
+"        int guess =  Integer.parseInt(guessText.getText());\n"
+"\n"
+"        game.setGuess( guess );\n"
+"        game.check();\n"
+"        refreshUI();\n"
+"\n"
+"    }\n"
+"\n"
+"    private void replayBtnActionPerformed( java.awt.event.ActionEvent evt )\n"
+"    {\n"
+"       game.reset();\n"
+"       refreshUI();\n"
+"    }\n"
+"\n"
+"    private void refreshUI()\n"
+"    {\n"
+"        mainLabel.setText( msgGenerator.getChallengeMessage() );\n"
+"        messageLabel.setText( msgGenerator.getResultMessage() );\n"
+"        guessText.setText( \"\" );\n"
+"        guessesLeftBar.setValue( game.getRemainingGuesses() );\n"
+"        guessText.requestFocus();\n"
+"    }\n"
+"\n"
+"    // swing components\n"
+"    private javax.swing.JPanel borderPanel;\n"
+"    ...\n"
+"    private javax.swing.JButton replayBtn;\n"
+"\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"gameIn\"> <para> The "
+"injected instance of the game (logic and state). </para> </callout> <callout "
+"arearefs=\"messagesIn\"> <para> The injected message generator for UI "
+"messages. </para> </callout> <callout arearefs=\"start\"> <para> This "
+"application is started in the usual Web Beans SE way, by observing the "
+"<literal>@Deployed Manager</literal> event. </para> </callout> <callout "
+"arearefs=\"init\"> <para> This method initialises all of the Swing "
+"components. Note the use of the <literal>msgGenerator</literal>. </para> </"
+"callout> <callout arearefs=\"guess1\"> <para> "
+"<literal>guessButtonActionPerformed</literal> is called when the 'Guess' "
+"button is clicked, and it does the following: </para> <itemizedlist> "
+"<listitem> <para> Gets the guess entered by the user and sets it as the "
+"current guess in the <literal>Game</literal> </para> </listitem> <listitem> "
+"<para> Calls <literal>game.check()</literal> to validate and perform one "
+"'turn' of the game </para> </listitem> <listitem> <para> Calls "
+"<literal>refreshUI</literal>. If there were validation errors with the "
+"input, this will have been captured during <literal>game.check()</literal> "
+"and as such will be reflected in the messeges returned by "
+"<literal>MessageGenerator</literal> and subsequently presented to the user. "
+"If there are no validation errors then the user will be told to guess again "
+"(higher or lower) or that the game has ended either in a win (correct guess) "
+"or a loss (ran out of guesses). </para> </listitem> </itemizedlist> </"
+"callout> <callout arearefs=\"replay\"> <para> "
+"<literal>replayBtnActionPerformed</literal> simply calls <literal>game.reset"
+"()</literal> to start a new game and refreshes the messages in the UI. </"
+"para> </callout> <callout arearefs=\"refresh\"> <para> <literal>refreshUI</"
+"literal> uses the <literal>MessageGenerator</literal> to update the messages "
+"to the user based on the current state of the Game. </para> </callout> </"
+"calloutlist> </programlistingco>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:904
+#, no-c-format
+msgid "The translator example"
+msgstr "Esempio Traduttore"
+
+#. Tag: para
+#: gettingstarted.xml:906
+#, no-c-format
+msgid ""
+"The translator example will take any sentences you enter, and translate them "
+"to Latin."
+msgstr ""
+"L'esempio Traduttore prende le frasi che vengono inserite e le traduce in "
+"latino."
+
+#. Tag: para
+#: gettingstarted.xml:911
+#, no-c-format
+msgid ""
+"The translator example is built as an ear, and contains EJBs. As a result, "
+"it's structure is more complex than the numberguess example."
+msgstr ""
+"L'esempio Traduttore è assemblato in un ear, e contiene EJB. Di conseguenza, "
+"la sua struttura è più complessa di quella dell'esempio Indovina Numero."
+
+#. Tag: para
+#: gettingstarted.xml:917
+#, no-c-format
+msgid ""
+"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
+"this structure much simpler!"
+msgstr ""
+"EJB 3.1 and Java EE 6 permettono di assemblare gli EJB in un war, cosa che "
+"rende questa struttura molto più semplice!"
+
+#. Tag: para
+#: gettingstarted.xml:923
+#, no-c-format
+msgid ""
+"First, let's take a look at the ear aggregator, which is located in "
+"<literal>webbeans-translator-ear</literal> module. Maven automatically "
+"generates the <literal>application.xml</literal> for us:"
+msgstr ""
+"Innanzitutto, diamo un'occhiata all'aggregatore ear, che è situato nel "
+"modulo <literal>webbeans-translator-ear</literal>. Maven genera "
+"automaticamente il file <literal>application.xml</literal>:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:929
+#, no-c-format
+msgid ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+msgstr ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:931
+#, no-c-format
+msgid ""
+"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
+"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
+"translator</ulink>)."
+msgstr ""
+"Qua viene impostato il context path, in modo da avere un url gradevole "
+"(<ulink url=\"http://localhost:8080/webbeans-translator\">http://"
+"localhost:8080/webbeans-translator</ulink>)."
+
+#. Tag: para
+#: gettingstarted.xml:937
+#, no-c-format
+msgid ""
+"If you aren't using Maven to generate these files, you would need "
+"<literal>META-INF/application.xml</literal>:"
+msgstr ""
+"Se non si sta usando Maven per generare questi file, sarebbe necessario "
+"avere il file <literal>META-INF/application.xml</literal>:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:942
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web "
+"Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+msgstr ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web "
+"Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:945
+#, no-c-format
+msgid ""
+"Next, lets look at the war. Just as in the numberguess example, we have a "
+"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
+"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
+msgstr ""
+"Quindi, esaminiamo il war. Proprio come nell'esempio Indovina Numero, "
+"abbiamo un <literal>faces-config.xml</literal> (per abilitare Facelets) e un "
+"<literal>web.xml</literal> (per abilitare JSF) in <literal>WebContent/WEB-"
+"INF</literal>."
+
+#. Tag: para
+#: gettingstarted.xml:952
+#, no-c-format
+msgid ""
+"More intersting is the facelet used to translate text. Just as in the "
+"numberguess example we have a template, which surrounds the form (ommitted "
+"here for brevity):"
+msgstr ""
+"Più interessante è il facelet usato per tradurre il testo. Proprio come "
+"nell'esempio Indovina Numero c'è un template, che circoscrive la form (qui "
+"omessa per brevità):"
+
+#. Tag: programlisting
+#: gettingstarted.xml:958
+#, no-c-format
+msgid ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+msgstr ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:960
+#, no-c-format
+msgid ""
+"The user can enter some text in the lefthand textarea, and hit the translate "
+"button to see the result to the right."
+msgstr ""
+"L'utente può inserire del testo nell'area di testo sulla sinistra e premere "
+"il pulsante di traduzione per vedere il risultato sulla destra."
+
+#. Tag: para
+#: gettingstarted.xml:965
+#, no-c-format
+msgid ""
+"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
+"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
+"empty <literal>web-beans.xml</literal>, used to mark the archive as "
+"containing Web Beans."
+msgstr ""
+"Infine, si esamini il modulo ejb, <literal>webbeans-translator-ejb</"
+"literal>. In <literal>src/main/resources/META-INF</literal> si trova un file "
+"vuoto <literal>web-beans.xml</literal>, usato per marcare l'archivio come "
+"contenente Web Beans."
+
+#. Tag: para
+#: gettingstarted.xml:973
+#, no-c-format
+msgid ""
+"We've saved the most interesting bit to last, the code! The project has two "
+"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
+"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
+"literal> and <literal>SentenceTranslator</literal>. You should be getting "
+"quite familiar with what a Web Bean looks like by now, so we'll just "
+"highlight the most interesting bits here."
+msgstr ""
+"Abbiamo lasciato per ultimo il boccone più prelibato, il codice! Il progetto "
+"ha due bean semplici, <literal>SentenceParser</literal> e "
+"<literal>TextTranslator</literal> e due bean enterprise, "
+"<literal>TranslatorControllerBean</literal> e <literal>SentenceTranslator</"
+"literal>. Dovreste ormai essere piuttosto familiari all'aspetto di un Web "
+"Bean, così ci limiteremo a evidenziare le parti più interessanti."
+
+#. Tag: para
+#: gettingstarted.xml:983
+#, no-c-format
+msgid ""
+"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
+"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
+"initialization:"
+msgstr ""
+"Sia <literal>SentenceParser</literal> che <literal>TextTranslator</literal> "
+"sono bean dependenti, e <literal>TextTranslator</literal> usa "
+"l'inizializzazione via costruttore:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:989
+#, no-c-format
+msgid ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator "
+"sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+msgstr ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator "
+"sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+
+#. Tag: para
+#: gettingstarted.xml:991
+#, no-c-format
+msgid ""
+"<literal>TextTranslator</literal> is a stateless bean (with a local business "
+"interface), where the magic happens - of course, we couldn't develop a full "
+"translator, but we gave it a good go!"
+msgstr ""
+"<literal>TextTranslator</literal> è un bean stateless (con un'interfaccia "
+"business locale), dove avviene la magia - naturalmente, non potevamo "
+"sviluppare un traduttore completo, ma gli abbiamo dato un buon avvio!"
+
+# This is a request scoped, named, stateful session bean, which injects the translator.
+# se è request scoped come può essere statefull session??????
+# vuol dire che è un bean che sta nella sessione ma certe variabili le piglia dalla richiesta e ogni richiesta vede le proprie?????
+#. Tag: para
+#: gettingstarted.xml:997
+#, no-c-format
+msgid ""
+"Finally, there is UI orientated controller, that collects the text from the "
+"user, and dispatches it to the translator. This is a request scoped, named, "
+"stateful session bean, which injects the translator."
+msgstr ""
+"Infine, vi è un controller orientato all'UI, che raccoglie il testo "
+"dall'utente, e lo invia al traduttore. Questo è un bean stateful di "
+"sessione, dotato di nome, con scope richiesta, in cui viene iniettato il "
+"traduttore."
+
+#. Tag: programlisting
+#: gettingstarted.xml:1003
+#, no-c-format
+msgid ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+msgstr ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+
+#. Tag: para
+#: gettingstarted.xml:1005
+#, no-c-format
+msgid "The bean also has getters and setters for all the fields on the page."
+msgstr ""
+"Il bean possiede pure dei metodi getter e setter per tutti i campi della "
+"pagina."
+
+#. Tag: para
+#: gettingstarted.xml:1009
+#, no-c-format
+msgid "As this is a stateful session bean, we have to have a remove method:"
+msgstr ""
+"Poichè si tratta di un bean stateful di sessione, è necessario un metodo di "
+"rimozione (remove method):"
+
+#. Tag: programlisting
+#: gettingstarted.xml:1013
+#, no-c-format
+msgid ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+msgstr ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+
+#. Tag: para
+#: gettingstarted.xml:1015
+#, no-c-format
+msgid ""
+"The Web Beans manager will call the remove method for you when the bean is "
+"destroyed; in this case at the end of the request."
+msgstr ""
+"Il manager Web Beans chiamerà il metodo di rimozione quando il bean verrà "
+"distrutto; in questo caso al termine della richiesta."
+
+#. Tag: para
+#: gettingstarted.xml:1021
+#, no-c-format
+msgid ""
+"That concludes our short tour of the Web Beans examples. For more on Web "
+"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
+"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
+"Development</ulink>."
+msgstr ""
+"Ciò conclude il nostro breve tour degli esempi della RI di Web Beans. Per "
+"saperne di più, o per trovare ulteriore aiuto, per favore visitate <ulink "
+"url=\"http://www.seamframework.org/WebBeans/Development\">http://www."
+"seamframework.org/WebBeans/Development</ulink>."
+
+#. Tag: para
+#: gettingstarted.xml:1027
+#, no-c-format
+msgid ""
+"We need help in all areas - bug fixing, writing new features, writing "
+"examples and translating this reference guide."
+msgstr ""
+"Abbiamo bisogno di aiuto in tutte le aree - soluzione dei bug, scrittura di "
+"nuove caratteristiche ed esempi e traduzione di questa guida."
+
+#~ msgid ""
+#~ "A new deployer, <literal>webbeans.deployer</literal> is added to JBoss "
+#~ "AS. This adds supports for Web Bean archives to JBoss AS, and allows the "
+#~ "Web Beans RI to query the EJB3 container and discover which EJBs are "
+#~ "installed in your application."
+#~ msgstr ""
+#~ "Un nuovo deployer, <literal>webbeans.deployer</literal> viene aggiunto a "
+#~ "JBoss AS. Questo aggiunge a JBoss AS il supporto degli archivi Web Bean, "
+#~ "e consente a Web Beans RI di interrogare il container EJB3 e scoprire "
+#~ "quali EJB sono installati nell'applicazione."
+
+#~ msgid "Web Beans is bundled with JBoss AS 5.1 and above."
+#~ msgstr "Web Beans viene fornito con JBoss AS 5.1 e superiore."
+
+#~ msgid ""
+#~ "As Web Beans is a new piece of software, you need to update JBoss AS to "
+#~ "run the Web Beans RI. Future versions of JBoss AS will include these "
+#~ "updates, and this step won't be necessary."
+#~ msgstr ""
+#~ "Poiché Web Beans è un software nuovo, occorre aggiornare JBoss AS per "
+#~ "poter eseguire la RI di Web Beans. Versioni future di JBoss AS "
+#~ "includeranno questi update, e questa operazione non sarà necessaria."
+
+#~ msgid ""
+#~ "The final Web Bean in the application is the session scoped "
+#~ "<literal>Game</literal>. By making <literal>Game</literal> session "
+#~ "scoped, you can only play the game once per browser session. You could "
+#~ "easily add a reset button - a good exercise for the reader :-)"
+#~ msgstr ""
+#~ "L'ultimo Web Bean dell'applicazione è <literal>Game</literal> che ha "
+#~ "scope sessione. Assegnando a <literal>Game</literal> lo scope sessione, è "
+#~ "possibile giocare una sola volta per sessione del browser. Potreste "
+#~ "facilmente aggiungere un pulsante di reset - un buon esercizio lasciato "
+#~ "al lettore :-)"
+
+#~ msgid ""
+#~ "<![CDATA[@Named\n"
+#~ "@SessionScoped\n"
+#~ "public class Game {\n"
+#~ "   private int number;\n"
+#~ "   \n"
+#~ "   private int guess;\n"
+#~ "   private int smallest;\n"
+#~ "   private int biggest;\n"
+#~ "   private int remainingGuesses;\n"
+#~ "   \n"
+#~ "   public Game() {}\n"
+#~ "   \n"
+#~ "   @Initializer\n"
+#~ "   Game(@Random int number, @MaxNumber int maxNumber) {\n"
+#~ "      this.number = number;\n"
+#~ "      this.smallest = 1;\n"
+#~ "      this.biggest = maxNumber;\n"
+#~ "      this.remainingGuesses = 10;\n"
+#~ "   }\n"
+#~ "\n"
+#~ "   // Getters and setters for fields\n"
+#~ "   \n"
+#~ "   public String check() {\n"
+#~ "      if (guess>number) {\n"
+#~ "         biggest = guess - 1;\n"
+#~ "      }\n"
+#~ "      if (guess<number) {\n"
+#~ "         smallest = guess + 1;\n"
+#~ "      }\n"
+#~ "      if (guess == number) {\n"
+#~ "         FacesContext.getCurrentInstance().addMessage(null, new "
+#~ "FacesMessage(\"Correct!\"));\n"
+#~ "      }\n"
+#~ "      remainingGuesses--;\n"
+#~ "      return null;\n"
+#~ "   }\n"
+#~ "   \n"
+#~ "}]]>"
+#~ msgstr ""
+#~ "<![CDATA[@Named\n"
+#~ "@SessionScoped\n"
+#~ "public class Game {\n"
+#~ "   private int number;\n"
+#~ "   \n"
+#~ "   private int guess;\n"
+#~ "   private int smallest;\n"
+#~ "   private int biggest;\n"
+#~ "   private int remainingGuesses;\n"
+#~ "   \n"
+#~ "   public Game() {}\n"
+#~ "   \n"
+#~ "   @Initializer\n"
+#~ "   Game(@Random int number, @MaxNumber int maxNumber) {\n"
+#~ "      this.number = number;\n"
+#~ "      this.smallest = 1;\n"
+#~ "      this.biggest = maxNumber;\n"
+#~ "      this.remainingGuesses = 10;\n"
+#~ "   }\n"
+#~ "\n"
+#~ "   // Getters and setters for fields\n"
+#~ "   \n"
+#~ "   public String check() {\n"
+#~ "      if (guess>number) {\n"
+#~ "         biggest = guess - 1;\n"
+#~ "      }\n"
+#~ "      if (guess<number) {\n"
+#~ "         smallest = guess + 1;\n"
+#~ "      }\n"
+#~ "      if (guess == number) {\n"
+#~ "         FacesContext.getCurrentInstance().addMessage(null, new "
+#~ "FacesMessage(\"Correct!\"));\n"
+#~ "      }\n"
+#~ "      remainingGuesses--;\n"
+#~ "      return null;\n"
+#~ "   }\n"
+#~ "   \n"
+#~ "}]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+#~ "<!DOCTYPE jboss-app\n"
+#~ "    PUBLIC \"-//JBoss//DTD J2EE Application 4.2//EN\"\n"
+#~ "    \"http://www.jboss.org/j2ee/dtd/jboss-app_4_2.dtd\">\n"
+#~ "<jboss-app>\n"
+#~ "  <loader-repository>webbeans.jboss.org:loader=webbeans-translator</"
+#~ "loader-repository>\n"
+#~ "</jboss-app>]]>"
+#~ msgstr ""
+#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+#~ "<!DOCTYPE jboss-app\n"
+#~ "    PUBLIC \"-//JBoss//DTD J2EE Application 4.2//EN\"\n"
+#~ "    \"http://www.jboss.org/j2ee/dtd/jboss-app_4_2.dtd\">\n"
+#~ "<jboss-app>\n"
+#~ "  <loader-repository>webbeans.jboss.org:loader=webbeans-translator</"
+#~ "loader-repository>\n"
+#~ "</jboss-app>]]>"
+
+#~ msgid "and <literal>META-INF/application.xml</literal>:"
+#~ msgstr "e <literal>META-INF/application.xml</literal>:"
+
+#~ msgid ""
+#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+#~ "<ejb-jar xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+#~ "         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n"
+#~ "         xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+#~ "java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd\"\n"
+#~ "         version=\"3.0\">\n"
+#~ "         \n"
+#~ "   <interceptors>\n"
+#~ "     <interceptor>\n"
+#~ "       <interceptor-class>org.jboss.webbeans.ejb.SessionBeanInterceptor</"
+#~ "interceptor-class>\n"
+#~ "     </interceptor>\n"
+#~ "   </interceptors>\n"
+#~ "   \n"
+#~ "   <assembly-descriptor>\n"
+#~ "      <interceptor-binding>\n"
+#~ "         <ejb-name>*</ejb-name>\n"
+#~ "         <interceptor-class>org.jboss.webbeans.ejb."
+#~ "SessionBeanInterceptor</interceptor-class>\n"
+#~ "      </interceptor-binding>\n"
+#~ "   </assembly-descriptor>\n"
+#~ "   \n"
+#~ "</ejb-jar>]]>"
+#~ msgstr ""
+#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+#~ "<ejb-jar xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+#~ "         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n"
+#~ "         xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+#~ "java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd\"\n"
+#~ "         version=\"3.0\">\n"
+#~ "         \n"
+#~ "   <interceptors>\n"
+#~ "     <interceptor>\n"
+#~ "       <interceptor-class>org.jboss.webbeans.ejb.SessionBeanInterceptor</"
+#~ "interceptor-class>\n"
+#~ "     </interceptor>\n"
+#~ "   </interceptors>\n"
+#~ "   \n"
+#~ "   <assembly-descriptor>\n"
+#~ "      <interceptor-binding>\n"
+#~ "         <ejb-name>*</ejb-name>\n"
+#~ "         <interceptor-class>org.jboss.webbeans.ejb."
+#~ "SessionBeanInterceptor</interceptor-class>\n"
+#~ "      </interceptor-binding>\n"
+#~ "   </assembly-descriptor>\n"
+#~ "   \n"
+#~ "</ejb-jar>]]>"

Modified: doc/trunk/reference/it-IT/producermethods.po
===================================================================
--- doc/trunk/reference/it-IT/producermethods.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/it-IT/producermethods.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: master.xml\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-31 11:05+0100\n"
 "Last-Translator: Nicola Benaglia <nico.benaz at gmail.com>\n"
 "Language-Team: none\n"
@@ -41,29 +41,94 @@
 msgid "According to the spec:"
 msgstr "Secondo la specifica:"
 
-#. Tag: chapter
-#: producermethods.xml:12
+#. Tag: para
+#: producermethods.xml:16
 #, no-c-format
 msgid ""
-"<blockquote> <para>A Web Beans producer method acts as a source of objects "
-"to be injected, where:</para> <itemizedlist> <listitem> <para>the objects to "
-"be injected are not required to be instances of Web Beans,</para> </"
-"listitem> <listitem> <para>the concrete type of the objects to be injected "
-"may vary at runtime or</para> </listitem> <listitem> <para>the objects "
-"require some custom initialization that is not performed by the Web Bean "
-"constructor</para> </listitem> </itemizedlist> </blockquote> <para>For "
-"example, producer methods let us:</para> <itemizedlist> <listitem> "
-"<para>expose a JPA entity as a Web Bean,</para> </listitem> <listitem> "
-"<para>expose any JDK class as a Web Bean,</para> </listitem> <listitem> "
-"<para>define multiple Web Beans, with different scopes or initialization, "
-"for the same implementation class, or</para> </listitem> <listitem> "
-"<para>vary the implementation of an API type at runtime.</para> </listitem> "
-"</itemizedlist> <para>In particular, producer methods let us use runtime "
-"polymorphism with Web Beans. As we've seen, deployment types are a powerful "
-"solution to the problem of deployment-time polymorphism. But once the system "
-"is deployed, the Web Bean implementation is fixed. A producer method has no "
-"such limitation:</para> <programlisting role=\"JAVA\"><![CDATA"
-"[@SessionScoped\n"
+"A Web Beans producer method acts as a source of objects to be injected, "
+"where:"
+msgstr ""
+"Un metodo produttore Web Beans agisce come sorgente di oggetti da iniettare, "
+"dove:"
+
+#. Tag: para
+#: producermethods.xml:20
+#, no-c-format
+msgid ""
+"the objects to be injected are not required to be instances of Web Beans,"
+msgstr "gli oggetti da iniettare non sono richiesti come istanze di Web Beans,"
+
+#. Tag: para
+#: producermethods.xml:23
+#, no-c-format
+msgid "the concrete type of the objects to be injected may vary at runtime or"
+msgstr "il tipo concreto di oggetti da iniettare può variare a runtime o"
+
+#. Tag: para
+#: producermethods.xml:26
+#, no-c-format
+msgid ""
+"the objects require some custom initialization that is not performed by the "
+"Web Bean constructor"
+msgstr ""
+"gli oggetti richiedono alcune inizializzazioni personalizzate che non "
+"vengono eseguite da costruttore Web Bean"
+
+#. Tag: para
+#: producermethods.xml:33
+#, no-c-format
+msgid "For example, producer methods let us:"
+msgstr "Per esempio, i metodi produttori consentono di:"
+
+#. Tag: para
+#: producermethods.xml:37
+#, no-c-format
+msgid "expose a JPA entity as a Web Bean,"
+msgstr "espone un entity JPA come Web Bean,"
+
+#. Tag: para
+#: producermethods.xml:40
+#, no-c-format
+msgid "expose any JDK class as a Web Bean,"
+msgstr "espone qualsiasi classe JDK come Web Bean,"
+
+#. Tag: para
+#: producermethods.xml:43
+#, no-c-format
+msgid ""
+"define multiple Web Beans, with different scopes or initialization, for the "
+"same implementation class, or"
+msgstr ""
+"definisce più Web Bean con differenti scope o inizializzazioni, per la "
+"stessa classe di implementazione, o"
+
+#. Tag: para
+#: producermethods.xml:47
+#, no-c-format
+msgid "vary the implementation of an API type at runtime."
+msgstr "varia l'implementazione di un tipo di API a runtime."
+
+#. Tag: para
+#: producermethods.xml:51
+#, no-c-format
+msgid ""
+"In particular, producer methods let us use runtime polymorphism with Web "
+"Beans. As we've seen, deployment types are a powerful solution to the "
+"problem of deployment-time polymorphism. But once the system is deployed, "
+"the Web Bean implementation is fixed. A producer method has no such "
+"limitation:"
+msgstr ""
+"In particolare i metodi produttori consentono l'uso del polimorfismo a "
+"runtime con Web Beans. Come visto, i tipi di deploy sono soluzioni potenti "
+"al problema del polimorfismo a deployment-time. Ma una volta che il sistema "
+"è deployato, l'implementazione Web Bean è sistemata. Un metodo produttore "
+"non ha tali limitazioni:"
+
+#. Tag: programlisting
+#: producermethods.xml:56
+#, no-c-format
+msgid ""
+"<![CDATA[@SessionScoped\n"
 "public class Preferences {\n"
 "    \n"
 "    private PaymentStrategyType paymentStrategy;\n"
@@ -80,34 +145,9 @@
 "        } \n"
 "    }\n"
 "    \n"
-"}]]></programlisting> <para>Consider an injection point:</para> "
-"<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
-"paymentStrat;]]></programlisting> <para>This injection point has the same "
-"type and binding annotations as the producer method, so it resolves to the "
-"producer method using the usual Web Beans injection rules. The producer "
-"method will be called by the Web Bean manager to obtain an instance to "
-"service this injection point.</para>."
+"}]]>"
 msgstr ""
-"<blockquote> <para>Un metodo produttore Web Bean agisce come sorgente di "
-"oggetti da iniettare, dove:</para> <itemizedlist> <listitem> <para>gli "
-"oggetti da iniettare non è richiesto siano istanze di Web Beans,</para> </"
-"listitem> <listitem> <para>il tipo concreto di oggetti da iniettare può "
-"variare a runtime o</para> </listitem> <listitem> <para>gli oggetti "
-"richiedono alcune inizializzazini personalizzate che non vengono eseguite "
-"dal costruttore Web Bean</para> </listitem> </itemizedlist> </blockquote> "
-"<para>Per esempio un metodo produttore consente di:</para> <itemizedlist> "
-"<listitem> <para>esporre un entity JPA comeWeb Bean,</para> </listitem> "
-"<listitem> <para>esporre qualsiasi classe JDK comeWeb Bean,</para> </"
-"listitem> <listitem> <para>definire Web Beans multipli, con scope o "
-"inizializzazione differenti, per la stessa implementazionedi classe, o</"
-"para> </listitem> <listitem> <para>variare l'implementazione di un tipo di "
-"API a runtime</para> </listitem> </itemizedlist> <para>In particolare, i "
-"metodi produttori consentono di usare un polimorfismo a runtime con i Web "
-"Beans. Come visto, i tipi di deploy sono soluzioni al problema del "
-"polimorfismo durante la fase di deploy. Ma una volta che il sistema viene "
-"deployato, l'implementazione del Web Bean viene fissata. Un metodo "
-"produttore non ha questi limiti:</para> <programlisting role=\"JAVA\"><!"
-"[CDATA[@SessionScoped\n"
+"<![CDATA[@SessionScoped\n"
 "public class Preferences {\n"
 "    \n"
 "    private PaymentStrategyType paymentStrategy;\n"
@@ -124,14 +164,41 @@
 "        } \n"
 "    }\n"
 "    \n"
-"}]]></programlisting> <para>Si consideri un punto di iniezione:</para> "
-"<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
-"paymentStrat;]]></programlisting> <para>Questo punto di iniezione ha lo "
-"stesso tipo e annotazioni di binding del metodo produttore, e quindi risolve "
-"i metodi produttori usando le regole di iniezione dei Web Beans. Il metodo "
-"produttore verrà chiamato dal manager Web Bean per ottenere un'istanza per "
-"servire questo punto di iniezione.</para>"
+"}]]>"
 
+#. Tag: para
+#: producermethods.xml:58
+#, no-c-format
+msgid "Consider an injection point:"
+msgstr "Si consideri un punto di iniezione:"
+
+#. Tag: programlisting
+#: producermethods.xml:60
+#, no-c-format
+msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
+msgstr "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
+
+#. Tag: para
+#: producermethods.xml:62
+#, no-c-format
+msgid ""
+"This injection point has the same type and binding annotations as the "
+"producer method, so it resolves to the producer method using the usual Web "
+"Beans injection rules. The producer method will be called by the Web Bean "
+"manager to obtain an instance to service this injection point."
+msgstr ""
+"Il punto di iniezione ha lo stesso tipo e le stesse annotazioni di binding "
+"del metodo produttore, e quindi risolve il metodo produttore usando le "
+"solite regole di iniezione Web Beans. Il metodo produttore verrà chiamato "
+"dal manager Web Bean per ottenere un'istanza per servire questo punto di "
+"iniezione:"
+
+#. Tag: chapter
+#: producermethods.xml:65
+#, no-c-format
+msgid "<chapter>.</chapter>"
+msgstr "<chapter>.</chapter>"
+
 #. Tag: title
 #: producermethods.xml:68
 #, no-c-format
@@ -360,62 +427,25 @@
 "<literal>Preferences</literal> non viene distrutto, cioè a fine sessione."
 
 #~ msgid ""
-#~ "A Web Beans producer method acts as a source of objects to be injected, "
-#~ "where:"
-#~ msgstr ""
-#~ "Un metodo produttore Web Beans agisce come sorgente di oggetti da "
-#~ "iniettare, dove:"
-
-#~ msgid ""
-#~ "the objects to be injected are not required to be instances of Web Beans,"
-#~ msgstr ""
-#~ "gli oggetti da iniettare non sono richiesti come istanze di Web Beans,"
-
-#~ msgid ""
-#~ "the concrete type of the objects to be injected may vary at runtime or"
-#~ msgstr "il tipo concreto di oggetti da iniettare può variare a runtime o"
-
-#~ msgid ""
-#~ "the objects require some custom initialization that is not performed by "
-#~ "the Web Bean constructor"
-#~ msgstr ""
-#~ "gli oggetti richiedono alcune inizializzazioni personalizzate che non "
-#~ "vengono eseguite da costruttore Web Bean"
-
-#~ msgid "For example, producer methods let us:"
-#~ msgstr "Per esempio, i metodi produttori consentono di:"
-
-#~ msgid "expose a JPA entity as a Web Bean,"
-#~ msgstr "espone un entity JPA come Web Bean,"
-
-#~ msgid "expose any JDK class as a Web Bean,"
-#~ msgstr "espone qualsiasi classe JDK come Web Bean,"
-
-#~ msgid ""
-#~ "define multiple Web Beans, with different scopes or initialization, for "
-#~ "the same implementation class, or"
-#~ msgstr ""
-#~ "definisce più Web Bean con differenti scope o inizializzazioni, per la "
-#~ "stessa classe di implementazione, o"
-
-#~ msgid "vary the implementation of an API type at runtime."
-#~ msgstr "varia l'implementazione di un tipo di API a runtime."
-
-#~ msgid ""
-#~ "In particular, producer methods let us use runtime polymorphism with Web "
-#~ "Beans. As we've seen, deployment types are a powerful solution to the "
-#~ "problem of deployment-time polymorphism. But once the system is deployed, "
-#~ "the Web Bean implementation is fixed. A producer method has no such "
-#~ "limitation:"
-#~ msgstr ""
-#~ "In particolare i metodi produttori consentono l'uso del polimorfismo a "
-#~ "runtime con Web Beans. Come visto, i tipi di deploy sono soluzioni "
-#~ "potenti al problema del polimorfismo a deployment-time. Ma una volta che "
-#~ "il sistema è deployato, l'implementazione Web Bean è sistemata. Un metodo "
-#~ "produttore non ha tali limitazioni:"
-
-#~ msgid ""
-#~ "<![CDATA[@SessionScoped\n"
+#~ "<blockquote> <para>A Web Beans producer method acts as a source of "
+#~ "objects to be injected, where:</para> <itemizedlist> <listitem> <para>the "
+#~ "objects to be injected are not required to be instances of Web Beans,</"
+#~ "para> </listitem> <listitem> <para>the concrete type of the objects to be "
+#~ "injected may vary at runtime or</para> </listitem> <listitem> <para>the "
+#~ "objects require some custom initialization that is not performed by the "
+#~ "Web Bean constructor</para> </listitem> </itemizedlist> </blockquote> "
+#~ "<para>For example, producer methods let us:</para> <itemizedlist> "
+#~ "<listitem> <para>expose a JPA entity as a Web Bean,</para> </listitem> "
+#~ "<listitem> <para>expose any JDK class as a Web Bean,</para> </listitem> "
+#~ "<listitem> <para>define multiple Web Beans, with different scopes or "
+#~ "initialization, for the same implementation class, or</para> </listitem> "
+#~ "<listitem> <para>vary the implementation of an API type at runtime.</"
+#~ "para> </listitem> </itemizedlist> <para>In particular, producer methods "
+#~ "let us use runtime polymorphism with Web Beans. As we've seen, deployment "
+#~ "types are a powerful solution to the problem of deployment-time "
+#~ "polymorphism. But once the system is deployed, the Web Bean "
+#~ "implementation is fixed. A producer method has no such limitation:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@SessionScoped\n"
 #~ "public class Preferences {\n"
 #~ "    \n"
 #~ "    private PaymentStrategyType paymentStrategy;\n"
@@ -432,9 +462,34 @@
 #~ "        } \n"
 #~ "    }\n"
 #~ "    \n"
-#~ "}]]>"
+#~ "}]]></programlisting> <para>Consider an injection point:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
+#~ "paymentStrat;]]></programlisting> <para>This injection point has the same "
+#~ "type and binding annotations as the producer method, so it resolves to "
+#~ "the producer method using the usual Web Beans injection rules. The "
+#~ "producer method will be called by the Web Bean manager to obtain an "
+#~ "instance to service this injection point.</para>."
 #~ msgstr ""
-#~ "<![CDATA[@SessionScoped\n"
+#~ "<blockquote> <para>Un metodo produttore Web Bean agisce come sorgente di "
+#~ "oggetti da iniettare, dove:</para> <itemizedlist> <listitem> <para>gli "
+#~ "oggetti da iniettare non è richiesto siano istanze di Web Beans,</para> </"
+#~ "listitem> <listitem> <para>il tipo concreto di oggetti da iniettare può "
+#~ "variare a runtime o</para> </listitem> <listitem> <para>gli oggetti "
+#~ "richiedono alcune inizializzazini personalizzate che non vengono eseguite "
+#~ "dal costruttore Web Bean</para> </listitem> </itemizedlist> </blockquote> "
+#~ "<para>Per esempio un metodo produttore consente di:</para> <itemizedlist> "
+#~ "<listitem> <para>esporre un entity JPA comeWeb Bean,</para> </listitem> "
+#~ "<listitem> <para>esporre qualsiasi classe JDK comeWeb Bean,</para> </"
+#~ "listitem> <listitem> <para>definire Web Beans multipli, con scope o "
+#~ "inizializzazione differenti, per la stessa implementazionedi classe, o</"
+#~ "para> </listitem> <listitem> <para>variare l'implementazione di un tipo "
+#~ "di API a runtime</para> </listitem> </itemizedlist> <para>In particolare, "
+#~ "i metodi produttori consentono di usare un polimorfismo a runtime con i "
+#~ "Web Beans. Come visto, i tipi di deploy sono soluzioni al problema del "
+#~ "polimorfismo durante la fase di deploy. Ma una volta che il sistema viene "
+#~ "deployato, l'implementazione del Web Bean viene fissata. Un metodo "
+#~ "produttore non ha questi limiti:</para> <programlisting role=\"JAVA\"><!"
+#~ "[CDATA[@SessionScoped\n"
 #~ "public class Preferences {\n"
 #~ "    \n"
 #~ "    private PaymentStrategyType paymentStrategy;\n"
@@ -451,25 +506,10 @@
 #~ "        } \n"
 #~ "    }\n"
 #~ "    \n"
-#~ "}]]>"
-
-#~ msgid "Consider an injection point:"
-#~ msgstr "Si consideri un punto di iniezione:"
-
-#~ msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
-#~ msgstr "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
-
-#~ msgid ""
-#~ "This injection point has the same type and binding annotations as the "
-#~ "producer method, so it resolves to the producer method using the usual "
-#~ "Web Beans injection rules. The producer method will be called by the Web "
-#~ "Bean manager to obtain an instance to service this injection point."
-#~ msgstr ""
-#~ "Il punto di iniezione ha lo stesso tipo e le stesse annotazioni di "
-#~ "binding del metodo produttore, e quindi risolve il metodo produttore "
-#~ "usando le solite regole di iniezione Web Beans. Il metodo produttore "
-#~ "verrà chiamato dal manager Web Bean per ottenere un'istanza per servire "
-#~ "questo punto di iniezione:"
-
-#~ msgid "<chapter>.</chapter>"
-#~ msgstr "<chapter>.</chapter>"
+#~ "}]]></programlisting> <para>Si consideri un punto di iniezione:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
+#~ "paymentStrat;]]></programlisting> <para>Questo punto di iniezione ha lo "
+#~ "stesso tipo e annotazioni di binding del metodo produttore, e quindi "
+#~ "risolve i metodi produttori usando le regole di iniezione dei Web Beans. "
+#~ "Il metodo produttore verrà chiamato dal manager Web Bean per ottenere "
+#~ "un'istanza per servire questo punto di iniezione.</para>"

Modified: doc/trunk/reference/it-IT/ri-spi.po
===================================================================
--- doc/trunk/reference/it-IT/ri-spi.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/it-IT/ri-spi.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: master.xml\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-04-15 20:53+0100\n"
 "Last-Translator: Nicola Benaglia <nico.benaz at gmail.com>\n"
 "Language-Team: none\n"
@@ -15,70 +15,86 @@
 
 #. Tag: title
 #: ri-spi.xml:4
-#, no-c-format
-msgid "Integrating the Web Beans RI into other environments"
+#, fuzzy, no-c-format
+msgid "Integrating Web Beans into other environments"
 msgstr "Integrazione di Web Beans RI in altri ambienti"
 
 #. Tag: para
 #: ri-spi.xml:6
-#, no-c-format
-msgid "Currently the Web Beans RI only runs in JBoss AS 5; integrating the RI into other EE environments (for example another application server like Glassfish), into a servlet container (like Tomcat), or with an Embedded EJB3.1 implementation is fairly easy. In this Appendix we will briefly discuss the steps needed."
-msgstr "Attualmente Web Bean RI funziona solo in JBoss AS 5; l'integrazione di RI in altri ambienti EE (per esempio in un application server come Glassfish), in un servlet container (come Tomcat), o con un'implementazione EJB3.1 Embedded è abbastanza facile. In questo appendice si discuterà brevemente dei passi necessari."
+#, fuzzy, no-c-format
+msgid ""
+"Currently Web Beans only runs in JBoss AS 5; integrating the RI into other "
+"EE environments (for example another application server like Glassfish), "
+"into a servlet container (like Tomcat), or with an Embedded EJB3.1 "
+"implementation is fairly easy. In this Appendix we will briefly discuss the "
+"steps needed."
+msgstr ""
+"Attualmente Web Bean RI funziona solo in JBoss AS 5; l'integrazione di RI in "
+"altri ambienti EE (per esempio in un application server come Glassfish), in "
+"un servlet container (come Tomcat), o con un'implementazione EJB3.1 Embedded "
+"è abbastanza facile. In questo appendice si discuterà brevemente dei passi "
+"necessari."
 
-#. Tag: para
+#. Tag: title
 #: ri-spi.xml:15
-#, no-c-format
-msgid "It should be possible to run Web Beans in an SE environment, but you'll to do more work, adding your own contexts and lifecycle. The Web Beans RI currently doesn't expose lifecycle extension points, so you would have to code directly against Web Beans RI classes."
-msgstr "Dovrebbe essere possibile far funzionare Web Beans in un ambiente SE, ma occorre molto lavoro per aggiungere i propri contesti ed il ciclo di vita. Web Beans RI attualmente non espone punti di estensione del ciclo di vita, così occorre codificare direttamente nelle classi Web Beans RI."
-
-#. Tag: title
-#: ri-spi.xml:24
-#, no-c-format
-msgid "The Web Beans RI SPI"
+#, fuzzy, no-c-format
+msgid "The Web Beans SPI"
 msgstr "Web Beans RI SPI"
 
 #. Tag: para
-#: ri-spi.xml:26
-#, no-c-format
-msgid "The Web Beans SPI is located in <literal>webbeans-spi</literal> module, and packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, if you need to override the default behavior, others are required."
-msgstr "Web Beans SPI è collocato nel modulo <literal>webbeans-spi</literal>, ed è impacchettato come <literal>webbeans-spi.jar</literal>. Alcuni SPI sono opzionali se occorre fare override del comportamento di default, altri sono richiesti."
+#: ri-spi.xml:17
+#, fuzzy, no-c-format
+msgid ""
+"The Web Beans SPI is located in the <literal>webbeans-spi</literal> module, "
+"and packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, "
+"if you need to override the default behavior, others are required."
+msgstr ""
+"Web Beans SPI è collocato nel modulo <literal>webbeans-spi</literal>, ed è "
+"impacchettato come <literal>webbeans-spi.jar</literal>. Alcuni SPI sono "
+"opzionali se occorre fare override del comportamento di default, altri sono "
+"richiesti."
 
 #. Tag: para
-#: ri-spi.xml:33
+#: ri-spi.xml:24
 #, no-c-format
-msgid "All interfaces in the SPI support the decorator pattern and provide a <literal>Forwarding</literal> class."
-msgstr "Tutte le interfacce in SPI supportano il pattern decorator e forniscono una classe <literal>Forwarding</literal>."
+msgid ""
+"All interfaces in the SPI support the decorator pattern and provide a "
+"<literal>Forwarding</literal> class located in the <literal>helpers</"
+"literal> sub package. Additional, commonly used, utility classes, and "
+"standard implementations are also located in the <literal>helpers</literal> "
+"sub package."
+msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:39
+#: ri-spi.xml:33
 #, no-c-format
 msgid "Web Bean Discovery"
 msgstr "Web Bean Discovery"
 
 #. Tag: programlisting
-#: ri-spi.xml:41
-#, no-c-format
+#: ri-spi.xml:35
+#, fuzzy, no-c-format
 msgid ""
-"<![CDATA[public interface WebBeanDiscovery {\n"
-"   /**\n"
-"    * Gets list of all classes in classpath archives with web-beans.xml files\n"
+"<![CDATA[/**\n"
+"    * Gets list of all classes in classpath archives with META-INF/beans.xml "
+"(or\n"
+"    * for WARs WEB-INF/beans.xml) files\n"
 "    * \n"
 "    * @return An iterable over the classes \n"
 "    */\n"
 "   public Iterable<Class<?>> discoverWebBeanClasses();\n"
 "   \n"
 "   /**\n"
-"    * Gets a list of all web-beans.xml files in the app classpath\n"
+"    * Gets a list of all deployment descriptors in the app classpath\n"
 "    * \n"
-"    * @return An iterable over the web-beans.xml files \n"
+"    * @return An iterable over the beans.xml files \n"
 "    */\n"
-"   public Iterable<URL> discoverWebBeansXml();\n"
-"   \n"
-"}]]>"
+"   public Iterable<URL> discoverWebBeansXml();]]>"
 msgstr ""
 "<![CDATA[public interface WebBeanDiscovery {\n"
 "   /**\n"
-"    * Gets list of all classes in classpath archives with web-beans.xml files\n"
+"    * Gets list of all classes in classpath archives with web-beans.xml "
+"files\n"
 "    * \n"
 "    * @return An iterable over the classes \n"
 "    */\n"
@@ -94,52 +110,51 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:43
-#, no-c-format
-msgid "The discovery of Web Bean classes and <literal>web-bean.xml</literal> files is self-explanatory (the algorithm is described in Section 11.1 of the JSR-299 specification, and isn't repeated here)."
-msgstr "L'analisi dei file delle classi Web Bean e di <literal>web-bean.xml</literal> è molto istruttiva (l'algoritmo è descritto nella sezione 11.1 della specifica JSR-299 e non viene qua ripetuto)."
+#: ri-spi.xml:37
+#, fuzzy, no-c-format
+msgid ""
+"The discovery of Web Bean classes and <literal>beans.xml</literal> files is "
+"self-explanatory (the algorithm is described in Section 11.1 of the JSR-299 "
+"specification, and isn't repeated here)."
+msgstr ""
+"L'analisi dei file delle classi Web Bean e di <literal>web-bean.xml</"
+"literal> è molto istruttiva (l'algoritmo è descritto nella sezione 11.1 "
+"della specifica JSR-299 e non viene qua ripetuto)."
 
 #. Tag: title
-#: ri-spi.xml:52
+#: ri-spi.xml:46
 #, no-c-format
 msgid "EJB services"
 msgstr "Servizi EJB"
 
 #. Tag: para
-#: ri-spi.xml:54
+#: ri-spi.xml:49
 #, no-c-format
-msgid "The Web Beans RI also delegates EJB3 bean discovery to the container so that it doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</literal>. For each EJB in the application an EJBDescriptor should be discovered:"
-msgstr "Web Beans RI delega al container la rilevazione dei bean EJB3 e quindi risulta non essere necessario eseguire lo scan delle annotazioni EJB3 o fare il parsing di <literal>ejb-jar.xml</literal>. Per ciascun EJB nell'applicazione dovrebbe essere rilevato un EJBDescriptor:"
+msgid ""
+"Web Beans will run without an EJB container; in this case you don't need to "
+"implement the EJB SPI."
+msgstr ""
 
-#. Tag: programlisting
-#: ri-spi.xml:61
-#, no-c-format
+#. Tag: para
+#: ri-spi.xml:55
+#, fuzzy, no-c-format
 msgid ""
-"<![CDATA[public interface EjbServices\n"
-"{\n"
-"   \n"
-"   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
+"Web Beans also delegates EJB3 bean discovery to the container so that it "
+"doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
+"literal>. For each EJB in the application an EJBDescriptor should be "
+"discovered:"
 msgstr ""
-"<![CDATA[public interface EjbServices\n"
-"{\n"
-"   \n"
-"   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
+"Web Beans RI delega al container la rilevazione dei bean EJB3 e quindi "
+"risulta non essere necessario eseguire lo scan delle annotazioni EJB3 o fare "
+"il parsing di <literal>ejb-jar.xml</literal>. Per ciascun EJB "
+"nell'applicazione dovrebbe essere rilevato un EJBDescriptor:"
 
 #. Tag: programlisting
-#: ri-spi.xml:63
-#, no-c-format
+#: ri-spi.xml:62
+#, fuzzy, no-c-format
 msgid ""
-"<![CDATA[public interface EjbDescriptor<T> {\n"
+"<![CDATA[public interface EjbDescriptor<T>\n"
+"{\n"
 "   \n"
 "   /**\n"
 "    * Gets the EJB type\n"
@@ -153,14 +168,16 @@
 "    * \n"
 "    * @return An iterator over the local business interfaces\n"
 "    */\n"
-"   public Iterable<BusinessInterfaceDescriptor<?>> getLocalBusinessInterfaces();\n"
+"   public Iterable<BusinessInterfaceDescriptor<?>> getLocalBusinessInterfaces"
+"();\n"
 "   \n"
 "   /**\n"
 "    * Gets the remote business interfaces of the EJB\n"
 "    * \n"
 "    * @return An iterator over the remote business interfaces\n"
 "    */\n"
-"   public Iterable<BusinessInterfaceDescriptor<?>> getRemoteBusinessInterfaces();\n"
+"   public Iterable<BusinessInterfaceDescriptor<?>> "
+"getRemoteBusinessInterfaces();\n"
 "   \n"
 "   /**\n"
 "    * Get the remove methods of the EJB\n"
@@ -202,10 +219,7 @@
 "    * \n"
 "    * @return The name\n"
 "    */\n"
-"   public String getEjbName();\n"
-"   \n"
-"   \n"
-"}]]>"
+"   public String getEjbName();]]>"
 msgstr ""
 "<![CDATA[public interface EjbDescriptor<T> {\n"
 "   \n"
@@ -221,14 +235,16 @@
 "    * \n"
 "    * @return An iterator over the local business interfaces\n"
 "    */\n"
-"   public Iterable<BusinessInterfaceDescriptor<?>> getLocalBusinessInterfaces();\n"
+"   public Iterable<BusinessInterfaceDescriptor<?>> getLocalBusinessInterfaces"
+"();\n"
 "   \n"
 "   /**\n"
 "    * Gets the remote business interfaces of the EJB\n"
 "    * \n"
 "    * @return An iterator over the remote business interfaces\n"
 "    */\n"
-"   public Iterable<BusinessInterfaceDescriptor<?>> getRemoteBusinessInterfaces();\n"
+"   public Iterable<BusinessInterfaceDescriptor<?>> "
+"getRemoteBusinessInterfaces();\n"
 "   \n"
 "   /**\n"
 "    * Get the remove methods of the EJB\n"
@@ -276,16 +292,55 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:65
+#: ri-spi.xml:64
 #, no-c-format
-msgid "The <literal>EjbDescriptor</literal> is fairly self-explanatory, and should return the relevant metadata as defined in the EJB specification. In addition to these two interfaces, there is <literal>BusinessInterfaceDescriptor</literal> which represents a local business interface (encapsulating the interface class and jndi name used to look up an instance of the EJB)."
-msgstr "Il <literal>EjbDescriptor</literal> è abbastanza auto-esplicatorio e dovrebbe restituire i metadati rilevanti definiti nella specifica EJB. In aggiunta a queste due interfacce, vi è <literal>BusinessInterfaceDescriptor</literal> a rappresentare un'interfaccia locale di business (che incapsula la classe d'interfaccia ed il nome jndi usato per la ricerca di una istanza EJB)."
+msgid ""
+"The <literal>EjbDescriptor</literal> is fairly self-explanatory, and should "
+"return the relevant metadata as defined in the EJB specification. In "
+"addition to these two interfaces, there is "
+"<literal>BusinessInterfaceDescriptor</literal> which represents a local "
+"business interface (encapsulating the interface class and jndi name used to "
+"look up an instance of the EJB)."
+msgstr ""
+"Il <literal>EjbDescriptor</literal> è abbastanza auto-esplicatorio e "
+"dovrebbe restituire i metadati rilevanti definiti nella specifica EJB. In "
+"aggiunta a queste due interfacce, vi è <literal>BusinessInterfaceDescriptor</"
+"literal> a rappresentare un'interfaccia locale di business (che incapsula la "
+"classe d'interfaccia ed il nome jndi usato per la ricerca di una istanza "
+"EJB)."
 
 #. Tag: para
-#: ri-spi.xml:74
+#: ri-spi.xml:73
+#, fuzzy, no-c-format
+msgid ""
+"The resolution of <literal>@EJB</literal> (for injection into simple beans), "
+"the resolution of local EJBs (for backing session beans) and remote EJBs "
+"(for injection as a Java EE resource) is delegated to the container. You "
+"must provide an implementation of <literal>org.jboss.webbeans.ejb.spi."
+"EjbServices</literal> which provides these operations. For resolving the "
+"<literal>@EJB</literal> injection point, Web Beans will provide the "
+"<literal>InjectionPoint</literal>; for resolving local EJBs, the "
+"<literal>EjbDescriptor</literal> will be provided, and for remote EJBs the "
+"<literal>jndiName</literal>, <literal>mappedName</literal>, or "
+"<literal>ejbLink</literal> will be provided."
+msgstr ""
+"La risoluzione di <literal>@EJB</literal> e <literal>@Resource</literal> è "
+"delegata al container. Occorre fornire un'implementazione di <literal>org."
+"jboss.webbeans.ejb.spi.EjbServices</literal> che rende disponibili queste "
+"operazioni. Web Beans passa nel <literal>javax.inject.manager."
+"InjectionPoint</literal> la risoluzione,  anche come <literal>NamingContext</"
+"literal>, che è in uso per ogni richiesta di risoluzione."
+
+#. Tag: para
+#: ri-spi.xml:87
 #, no-c-format
-msgid "The resolution of <literal>@EJB</literal> and <literal>@Resource</literal> is delegated to the container. You must provide an implementation of <literal>org.jboss.webbeans.ejb.spi.EjbServices</literal> which provides these operations. Web Beans passes in the <literal>javax.inject.manager.InjectionPoint</literal> the resolution is for, as well as the <literal>NamingContext</literal> in use for each resolution request."
-msgstr "La risoluzione di <literal>@EJB</literal> e <literal>@Resource</literal> è delegata al container. Occorre fornire un'implementazione di <literal>org.jboss.webbeans.ejb.spi.EjbServices</literal> che rende disponibili queste operazioni. Web Beans passa nel <literal>javax.inject.manager.InjectionPoint</literal> la risoluzione,  anche come <literal>NamingContext</literal>, che è in uso per ogni richiesta di risoluzione."
+msgid ""
+"When resolving local EJBs (used to back session beans) a wrapper "
+"(<literal>SessionObjectReference</literal>) around the EJB reference is "
+"returned. This wrapper allows Web Beans to request a reference that "
+"implements the given business interface, and, in the case of SFSBs, request "
+"the removal of the EJB from the container."
+msgstr ""
 
 #. Tag: title
 #: ri-spi.xml:98
@@ -293,33 +348,66 @@
 msgid "JPA services"
 msgstr "Servizi JPA"
 
-# rivedere la frase.
 #. Tag: para
 #: ri-spi.xml:100
 #, no-c-format
-msgid "Just as resolution of <literal>@EJB</literal> is delegated to the container, so is resolution of <literal>@PersistenceContext</literal>."
-msgstr "Solo come risoluzione di <literal>@EJB</literal> è delegata al container, e quindi è la risoluzione di <literal>@PersistenceContext</literal>."
+msgid ""
+"Just as EJB resolution is delegated to the container, resolution of "
+"<literal>@PersistenceContext</literal> for injection into simple beans (with "
+"the <literal>InjectionPoint</literal> provided), and resolution of "
+"persistence contexts and persistence units (with the <literal>unitName</"
+"literal> provided) for injection as a Java EE resource is delegated to the "
+"container."
+msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:106
+#: ri-spi.xml:109
 #, no-c-format
-msgid "OPEN ISSUE: Web Beans also requires the container to provide a list of entities in the deployment, so that they aren't discovered as simple beans."
-msgstr "PROBLEMA APERTO: Web Beans richiede anche che il container fornisca una lista di entity nel deploy, cosicché non siano rilevati come semplici bean."
+msgid ""
+"To allow JPA integration, the <literal>JpaServices</literal> interface "
+"should be implemented."
+msgstr ""
 
-#. Tag: title
+#. Tag: para
 #: ri-spi.xml:114
 #, no-c-format
+msgid ""
+"Web Beans also needs to know what entities are in a deployment (so that they "
+"aren't managed by Web Beans). An implementation that detects entities "
+"through <literal>@Entity</literal> and <literal>orm.xml</literal> is "
+"provided by default. If you want to provide support for a entities defined "
+"by a JPA provider (such as Hibernate's <literal>.hbm.xml</literal> you can "
+"wrap or replace the default implementation."
+msgstr ""
+
+#. Tag: programlisting
+#: ri-spi.xml:124
+#, no-c-format
+msgid ""
+"<![CDATA[EntityDiscovery delegate = bootstrap.getServices().get"
+"(EntityDiscovery.class);]]>"
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:129
+#, no-c-format
 msgid "Transaction Services"
 msgstr "Servizi di transazione"
 
 #. Tag: para
-#: ri-spi.xml:116
-#, no-c-format
-msgid "The Web Beans RI must delegate JTA activities to the container. The SPI provides a couple hooks to easily achieve this with the <literal>TransactionServices</literal> interface."
-msgstr "Web Beans RI deve delegare le attività JTA al container. SPI fornisce un paio di modi per ottenere ciò tramite l'interfaccia <literal>TransactionServices</literal>."
+#: ri-spi.xml:131
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans must delegate JTA activities to the container. The SPI provides a "
+"couple hooks to easily achieve this with the <literal>TransactionServices</"
+"literal> interface."
+msgstr ""
+"Web Beans RI deve delegare le attività JTA al container. SPI fornisce un "
+"paio di modi per ottenere ciò tramite l'interfaccia "
+"<literal>TransactionServices</literal>."
 
 #. Tag: programlisting
-#: ri-spi.xml:122
+#: ri-spi.xml:137
 #, no-c-format
 msgid ""
 "<![CDATA[public interface TransactionServices\n"
@@ -340,10 +428,12 @@
 "    * @see javax.transaction.Synchronization\n"
 "    * @param synchronizedObserver\n"
 "    */\n"
-"   public void registerSynchronization(Synchronization synchronizedObserver);\n"
+"   public void registerSynchronization(Synchronization "
+"synchronizedObserver);\n"
 "\n"
 "   /**\n"
-"    * Queries the status of the current execution to see if a transaction is\n"
+"    * Queries the status of the current execution to see if a transaction "
+"is\n"
 "    * currently active.\n"
 "    * \n"
 "    * @return true if a transaction is active\n"
@@ -369,10 +459,12 @@
 "    * @see javax.transaction.Synchronization\n"
 "    * @param synchronizedObserver\n"
 "    */\n"
-"   public void registerSynchronization(Synchronization synchronizedObserver);\n"
+"   public void registerSynchronization(Synchronization "
+"synchronizedObserver);\n"
 "\n"
 "   /**\n"
-"    * Queries the status of the current execution to see if a transaction is\n"
+"    * Queries the status of the current execution to see if a transaction "
+"is\n"
 "    * currently active.\n"
 "    * \n"
 "    * @return true if a transaction is active\n"
@@ -381,157 +473,315 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:124
+#: ri-spi.xml:139
 #, no-c-format
-msgid "The enumeration <literal>Status</literal> is a convenience for implementors to be able to keep track of whether a synchronization is supposed to notify an observer only when the transaction is successful, or after a failure, or regardless of the status of the transaction."
-msgstr "La enumeration <literal>Status</literal> serve agli implementatori per poter essere in grado di tracciare se una sincronizzazione deve notificare un osservatore solo quando la transazione ha avuto successo, o dopo un errore, o indipendentemente dallo stato della transazione."
+msgid ""
+"The enumeration <literal>Status</literal> is a convenience for implementors "
+"to be able to keep track of whether a synchronization is supposed to notify "
+"an observer only when the transaction is successful, or after a failure, or "
+"regardless of the status of the transaction."
+msgstr ""
+"La enumeration <literal>Status</literal> serve agli implementatori per poter "
+"essere in grado di tracciare se una sincronizzazione deve notificare un "
+"osservatore solo quando la transazione ha avuto successo, o dopo un errore, "
+"o indipendentemente dallo stato della transazione."
 
 #. Tag: para
-#: ri-spi.xml:131
+#: ri-spi.xml:147
 #, no-c-format
-msgid "Any <literal>javax.transaction.Synchronization</literal> implementation may be passed to the <literal>registerSynchronization()</literal> method and the SPI implementation should immediately register the synchronization with the JTA transaction manager used for the EJBs."
-msgstr "Qualsiasi implementazione di <literal>javax.transaction.Synchronization</literal> può essere passata al metodo <literal>registerSynchronization()</literal> e l'implementazione SPI deve immediatamente registrare la sincronizzazione con il gestore della transazione JTA usato per EJB."
+msgid ""
+"Any <literal>javax.transaction.Synchronization</literal> implementation may "
+"be passed to the <literal>registerSynchronization()</literal> method and the "
+"SPI implementation should immediately register the synchronization with the "
+"JTA transaction manager used for the EJBs."
+msgstr ""
+"Qualsiasi implementazione di <literal>javax.transaction.Synchronization</"
+"literal> può essere passata al metodo <literal>registerSynchronization()</"
+"literal> e l'implementazione SPI deve immediatamente registrare la "
+"sincronizzazione con il gestore della transazione JTA usato per EJB."
 
 #. Tag: para
-#: ri-spi.xml:138
+#: ri-spi.xml:155
 #, no-c-format
-msgid "To make it easier to determine whether or not a transaction is currently active for the requesting thread, the <literal>isTransactionActive()</literal> method can be used. The SPI implementation should query the same JTA transaction manager used for the EJBs."
-msgstr "Per facilitare la determinazione se o no una transazione è attualmente attiva per il thread di richiesta, può essere usato il metodo <literal>isTransactionActive()</literal>. L'implementazione SPI deve interrogare lo stesso gestore della transazione JTA usato per EJB."
+msgid ""
+"To make it easier to determine whether or not a transaction is currently "
+"active for the requesting thread, the <literal>isTransactionActive()</"
+"literal> method can be used. The SPI implementation should query the same "
+"JTA transaction manager used for the EJBs."
+msgstr ""
+"Per facilitare la determinazione se o no una transazione è attualmente "
+"attiva per il thread di richiesta, può essere usato il metodo "
+"<literal>isTransactionActive()</literal>. L'implementazione SPI deve "
+"interrogare lo stesso gestore della transazione JTA usato per EJB."
 
 #. Tag: title
-#: ri-spi.xml:147
+#: ri-spi.xml:165
+#, fuzzy, no-c-format
+msgid "JMS services"
+msgstr "Servizi EJB"
+
+#. Tag: para
+#: ri-spi.xml:167
 #, no-c-format
+msgid ""
+"A number of JMS operations are not container specific, and so should be "
+"provided via the SPI <literal>JmsServices</literal>. JMS does not specify "
+"how to obtain a <literal>ConnectionFactory</literal> so the SPI provides a "
+"method which should be used to look up a factory. Web Beans also delegates "
+"<literal>Destination</literal> lookup to the container via the SPI."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:178
+#, fuzzy, no-c-format
+msgid "Resource Services"
+msgstr "Caricamento risorse"
+
+#. Tag: para
+#: ri-spi.xml:180
+#, fuzzy, no-c-format
+msgid ""
+"The resolution of <literal>@Resource</literal> (for injection into simple "
+"beans) and the resolution of resources (for injection as a Java EE resource) "
+"is delegated to the container. You must provide an implementation of "
+"<literal>ResourceServices</literal> which provides these operations. For "
+"resolving the <literal>@Resource</literal> injection, Web Beans will provide "
+"the <literal>InjectionPoint</literal>; and for Java EE resources, the "
+"<literal>jndiName</literal> or <literal>mappedName</literal> will be "
+"provided."
+msgstr ""
+"La risoluzione di <literal>@EJB</literal> e <literal>@Resource</literal> è "
+"delegata al container. Occorre fornire un'implementazione di <literal>org."
+"jboss.webbeans.ejb.spi.EjbServices</literal> che rende disponibili queste "
+"operazioni. Web Beans passa nel <literal>javax.inject.manager."
+"InjectionPoint</literal> la risoluzione,  anche come <literal>NamingContext</"
+"literal>, che è in uso per ogni richiesta di risoluzione."
+
+#. Tag: title
+#: ri-spi.xml:194
+#, fuzzy, no-c-format
+msgid "Web Services"
+msgstr "Servizi EJB"
+
+#. Tag: para
+#: ri-spi.xml:196
+#, fuzzy, no-c-format
+msgid ""
+"The resolution of web service references (for injection as a Java EE "
+"resource) is delegated to the container. You must provide an implementation "
+"of <literal>WebServices</literal> whichprovides this operation. For "
+"resolving the Java EE resource, the <literal>jndiName</literal> or "
+"<literal>mappedName</literal> will be provided."
+msgstr ""
+"La risoluzione di <literal>@EJB</literal> e <literal>@Resource</literal> è "
+"delegata al container. Occorre fornire un'implementazione di <literal>org."
+"jboss.webbeans.ejb.spi.EjbServices</literal> che rende disponibili queste "
+"operazioni. Web Beans passa nel <literal>javax.inject.manager."
+"InjectionPoint</literal> la risoluzione,  anche come <literal>NamingContext</"
+"literal>, che è in uso per ogni richiesta di risoluzione."
+
+#. Tag: title
+#: ri-spi.xml:207
+#, no-c-format
+msgid "The bean store"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:209
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans uses a map like structure to store bean instances - <literal>org."
+"jboss.webbeans.context.api.BeanStore</literal>. You may find <literal>org."
+"jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore</literal> "
+"useful."
+msgstr ""
+"Web Beans si aspetta che l'Application Server od un altro container fornisca "
+"la memorizzazione per ogni contesto applicazione. <literal>org.jboss."
+"webbeans.context.api.BeanStore</literal> dovrebbe essere implementato per "
+"fornire uno storage con scope applicazione. Si può trovare molto utile "
+"<literal>org.jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore</"
+"literal>."
+
+#. Tag: title
+#: ri-spi.xml:219
+#, no-c-format
 msgid "The application context"
 msgstr "Il contesto applicazione"
 
 #. Tag: para
-#: ri-spi.xml:149
-#, no-c-format
-msgid "Web Beans expects the Application Server or other container to provide the storage for each application's context. The <literal>org.jboss.webbeans.context.api.BeanStore</literal> should be implemented to provide an application scoped storage. You may find <literal>org.jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore</literal> useful."
-msgstr "Web Beans si aspetta che l'Application Server od un altro container fornisca la memorizzazione per ogni contesto applicazione. <literal>org.jboss.webbeans.context.api.BeanStore</literal> dovrebbe essere implementato per fornire uno storage con scope applicazione. Si può trovare molto utile <literal>org.jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore</literal>."
+#: ri-spi.xml:221
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans expects the Application Server or other container to provide the "
+"storage for each application's context. The <literal>org.jboss.webbeans."
+"context.api.BeanStore</literal> should be implemented to provide an "
+"application scoped storage."
+msgstr ""
+"Web Beans si aspetta che l'Application Server od un altro container fornisca "
+"la memorizzazione per ogni contesto applicazione. <literal>org.jboss."
+"webbeans.context.api.BeanStore</literal> dovrebbe essere implementato per "
+"fornire uno storage con scope applicazione. Si può trovare molto utile "
+"<literal>org.jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore</"
+"literal>."
 
 #. Tag: title
-#: ri-spi.xml:162
+#: ri-spi.xml:231
 #, no-c-format
 msgid "Bootstrap and shutdown"
 msgstr "Bootstrap e spegnimento"
 
 #. Tag: para
-#: ri-spi.xml:163
+#: ri-spi.xml:232
 #, no-c-format
-msgid "The <literal>org.jboss.webbeans.bootstrap.api.Bootstrap</literal> interface defines the bootstrap for Web Beans. To boot Web Beans, you must obtain an instance of <literal>org.jboss.webbeans.bootstrap.WebBeansBootstrap</literal> (which implements <literal>Boostrap</literal>), tell it about the SPIs in use, and then request the container start."
-msgstr "L'interfaccia <literal>org.jboss.webbeans.bootstrap.api.Bootstrap</literal> definisce il bootstrap per Web Beans. Per avviare Web Beans occorre ottenere un'istanza di <literal>org.jboss.webbeans.bootstrap.WebBeansBootstrap</literal> (che implementa <literal>Boostrap</literal>), e comunicare le SPI in uso, e poi chiedere che il container venga avviato."
+msgid ""
+"The <literal>org.jboss.webbeans.bootstrap.api.Bootstrap</literal> interface "
+"defines the bootstrap for Web Beans. To boot Web Beans, you must obtain an "
+"instance of <literal>org.jboss.webbeans.bootstrap.WebBeansBootstrap</"
+"literal> (which implements <literal>Boostrap</literal>), tell it about the "
+"SPIs in use, and then request the container start."
+msgstr ""
+"L'interfaccia <literal>org.jboss.webbeans.bootstrap.api.Bootstrap</literal> "
+"definisce il bootstrap per Web Beans. Per avviare Web Beans occorre ottenere "
+"un'istanza di <literal>org.jboss.webbeans.bootstrap.WebBeansBootstrap</"
+"literal> (che implementa <literal>Boostrap</literal>), e comunicare le SPI "
+"in uso, e poi chiedere che il container venga avviato."
 
 #. Tag: para
-#: ri-spi.xml:172
+#: ri-spi.xml:241
 #, no-c-format
-msgid "The bootstrap is split into phases, bootstrap initialization and boot and shutdown. Initialization will create a manager, and add the standard (specification defined) contexts. Bootstrap will discover EJBs, classes and XML; add beans defined using annotations; add beans defined using XML; and validate all beans."
-msgstr "Il bootstrap è suddiviso in più fasi, inizializzazione del bootstrap, bootstrap e shutdown. L'inizializzazione creerà un manager, e aggiungerà i contesti standard (definiti dalla specifica). Bootstrap scoprirà EJB, classi e XML; aggiungerà i bean definiti con le annotazioni; aggiungerà i bean definiti con XML; e validerà tutti i bean."
+msgid ""
+"The bootstrap is split into phases, bootstrap initialization and boot and "
+"shutdown. Initialization will create a manager, and add the standard "
+"(specification defined) contexts. Bootstrap will discover EJBs, classes and "
+"XML; add beans defined using annotations; add beans defined using XML; and "
+"validate all beans."
+msgstr ""
+"Il bootstrap è suddiviso in più fasi, inizializzazione del bootstrap, "
+"bootstrap e shutdown. L'inizializzazione creerà un manager, e aggiungerà i "
+"contesti standard (definiti dalla specifica). Bootstrap scoprirà EJB, classi "
+"e XML; aggiungerà i bean definiti con le annotazioni; aggiungerà i bean "
+"definiti con XML; e validerà tutti i bean."
 
 #. Tag: para
-#: ri-spi.xml:180
+#: ri-spi.xml:249
+#, fuzzy, no-c-format
+msgid ""
+"The bootstrap supports multiple environments. An environment is defined by "
+"an implementation of the <literal>Environment</literal> interface. A number "
+"of standard envrionments are built in as the enumeration "
+"<literal>Environments</literal>. Different environments require different "
+"services to be present (for example servlet doesn't require transaction, EJB "
+"or JPA services). By default an EE environment is assumed, but you can "
+"adjust the environment by calling <literal>bootstrap.setEnvironment()</"
+"literal>."
+msgstr ""
+"Il bootstrap supporta più ambienti. Diversi ambienti richiedono diversi "
+"servizi presenti (per esempio servlet non richiede i servizi di transazione, "
+"EJB o JPA). Di default viene assunto un ambiente EE, ma si può impostare un "
+"ambiente chiamando <literal>bootstrap.setEnvironment()</literal>."
+
+#. Tag: para
+#: ri-spi.xml:260
 #, no-c-format
-msgid "The bootstrap supports multiple environments. Different environments require different services to be present (for example servlet doesn't require transaction, EJB or JPA services). By default an EE environment is assumed, but you can adjust the environment by calling <literal>bootstrap.setEnvironment()</literal>."
-msgstr "Il bootstrap supporta più ambienti. Diversi ambienti richiedono diversi servizi presenti (per esempio servlet non richiede i servizi di transazione, EJB o JPA). Di default viene assunto un ambiente EE, ma si può impostare un ambiente chiamando <literal>bootstrap.setEnvironment()</literal>."
+msgid ""
+"Web Beans uses a generic-typed service registry to allow services to be "
+"registered. All services implement the <literal>Service</literal> interface. "
+"The service registry allows services to be added and retrieved."
+msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:188
+#: ri-spi.xml:267
 #, no-c-format
-msgid "To initialize the bootstrap you call <literal>Bootstrap.initialize()</literal>. Before calling <literal>initialize()</literal>, you must register any services required by your environment. You can do this by calling <literal>bootstrap.getServices().add(JpaServices.class, new MyJpaServices())</literal>. You must also provide the application context bean store."
-msgstr "Per inizializzare il bootstrap si chiama <literal>Bootstrap.initialize()</literal>. Prima della chiamata di <literal>initialize()</literal> occorre registrare i servizi richiesti dal proprio ambiente. Si può fare questo chiamando <literal>bootstrap.getServices().add(JpaServices.class, new MyJpaServices())</literal>. Occorre anche fornire l'application context bean store."
+msgid ""
+"To initialize the bootstrap you call <literal>Bootstrap.initialize()</"
+"literal>. Before calling <literal>initialize()</literal>, you must register "
+"any services required by your environment. You can do this by calling "
+"<literal>bootstrap.getServices().add(JpaServices.class, new MyJpaServices())"
+"</literal>. You must also provide the application context bean store."
+msgstr ""
+"Per inizializzare il bootstrap si chiama <literal>Bootstrap.initialize()</"
+"literal>. Prima della chiamata di <literal>initialize()</literal> occorre "
+"registrare i servizi richiesti dal proprio ambiente. Si può fare questo "
+"chiamando <literal>bootstrap.getServices().add(JpaServices.class, new "
+"MyJpaServices())</literal>. Occorre anche fornire l'application context bean "
+"store."
 
 #. Tag: para
-#: ri-spi.xml:197
+#: ri-spi.xml:276
 #, no-c-format
-msgid "Having called <literal>initialize()</literal>, the <literal>Manager</literal> can be obtained by calling <literal>Bootstrap.getManager()</literal>."
-msgstr "Dopo aver chiamato <literal>initialize()</literal>, il <literal>Manager</literal> può essere ottenuto chiamando <literal>Bootstrap.getManager()</literal>."
+msgid ""
+"Having called <literal>initialize()</literal>, the <literal>Manager</"
+"literal> can be obtained by calling <literal>Bootstrap.getManager()</"
+"literal>."
+msgstr ""
+"Dopo aver chiamato <literal>initialize()</literal>, il <literal>Manager</"
+"literal> può essere ottenuto chiamando <literal>Bootstrap.getManager()</"
+"literal>."
 
 #. Tag: para
-#: ri-spi.xml:203
+#: ri-spi.xml:282
 #, no-c-format
 msgid "To boot the container you call <literal>Bootstrap.boot()</literal>."
 msgstr "Per avviare il container chiamare <literal>Bootstrap.boot()</literal>."
 
 #. Tag: para
-#: ri-spi.xml:207
-#, no-c-format
-msgid "To shutdown the container you call <literal>Bootstrap.shutdown()</literal>. This allows the container to perform any cleanup operations needed."
-msgstr "Per spegnere il container si chiama <literal>Bootstrap.shutdown()</literal>. Questo consente al container di eseguire ogni pulizia necessaria delle operazioni."
+#: ri-spi.xml:286
+#, fuzzy, no-c-format
+msgid ""
+"To shutdown the container you call <literal>Bootstrap.shutdown()</literal> "
+"or <literal>webBeansManager.shutdown()</literal>. This allows the container "
+"to perform any cleanup operations needed."
+msgstr ""
+"Per spegnere il container si chiama <literal>Bootstrap.shutdown()</literal>. "
+"Questo consente al container di eseguire ogni pulizia necessaria delle "
+"operazioni."
 
 #. Tag: title
-#: ri-spi.xml:216
+#: ri-spi.xml:296
 #, no-c-format
 msgid "JNDI"
 msgstr "JNDI"
 
 #. Tag: para
-#: ri-spi.xml:218
+#: ri-spi.xml:298
 #, no-c-format
-msgid "The Web Beans RI implements JNDI binding and lookup according to standards, however you may want to alter the binding and lookup (for example in an environment where JNDI isn't available). To do this, implement <literal>org.jboss.webbeans.resources.spi.NamingContext</literal>:"
-msgstr "Web Beans RI implementa la ricerca e l'associazione JNDI secondo gli standard, ma può capitare di dover modificare la ricerca e l'associazione (per esempio in un ambiente dove JNDI non è disponibile). Per fare questo occorre implementare <literal>org.jboss.webbeans.resources.spi.NamingContext</literal>:"
+msgid ""
+"Web Beans delegates all JNDI operations to the container through the SPI."
+msgstr ""
 
-#. Tag: programlisting
-#: ri-spi.xml:226
+#. Tag: para
+#: ri-spi.xml:304
 #, no-c-format
 msgid ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
+"A number of the SPI interface require JNDI lookup, and the class "
+"<literal>AbstractResourceServices</literal> provides JNDI/Java EE spec "
+"compliant lookup methods."
 msgstr ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
 
 #. Tag: title
-#: ri-spi.xml:231
+#: ri-spi.xml:315
 #, no-c-format
 msgid "Resource loading"
 msgstr "Caricamento risorse"
 
 #. Tag: para
-#: ri-spi.xml:233
-#, no-c-format
-msgid "The Web Beans RI needs to load classes and resources from the classpath at various times. By default, they are loaded from the same classloader that was used to load the RI, however this may not be correct for some environments. If this is case, you can implement <literal>org.jboss.webbeans.spi.ResourceLoader</literal>:"
-msgstr "Web Beans RI deve caricare le classi e le risorse dal classpath in vari momenti. Di default vengono caricati dallo stesso classloader usato per caricare RI, comunque questo potrebbe non essere corretto in alcuni ambienti. Se è questo il caso si può implementare  <literal>org.jboss.webbeans.spi.ResourceLoader</literal>:"
+#: ri-spi.xml:317
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans needs to load classes and resources from the classpath at various "
+"times. By default, they are loaded from the Thread Context ClassLoader if "
+"available, if not the same classloader that was used to load Web Beans, "
+"however this may not be correct for some environments. If this is case, you "
+"can implement <literal>org.jboss.webbeans.spi.ResourceLoader</literal>:"
+msgstr ""
+"Web Beans RI deve caricare le classi e le risorse dal classpath in vari "
+"momenti. Di default vengono caricati dallo stesso classloader usato per "
+"caricare RI, comunque questo potrebbe non essere corretto in alcuni "
+"ambienti. Se è questo il caso si può implementare  <literal>org.jboss."
+"webbeans.spi.ResourceLoader</literal>:"
 
 #. Tag: programlisting
-#: ri-spi.xml:241
+#: ri-spi.xml:326
 #, no-c-format
 msgid ""
 "<![CDATA[\n"
@@ -595,109 +845,342 @@
 "         ]]>"
 
 #. Tag: title
-#: ri-spi.xml:246
+#: ri-spi.xml:331
 #, no-c-format
 msgid "Servlet injection"
 msgstr "Iniezione dei servlet"
 
 #. Tag: para
-#: ri-spi.xml:248
+#: ri-spi.xml:333
 #, no-c-format
-msgid "Java EE / Servlet does not provide any hooks which can be used to provide injection into Servlets, so Web Beans provides an API to allow the container to request JSR-299 injection for a Servlet."
-msgstr "Java EE / Servlet non fornisce alcun hook da usare per fornire l'iniezione nei Servlet, quindi Web Beans fornisce un'API per consentire al container di richiedere l'iniezione JSR-299 per un Servlet."
+msgid ""
+"Java EE / Servlet does not provide any hooks which can be used to provide "
+"injection into Servlets, so Web Beans provides an API to allow the container "
+"to request JSR-299 injection for a Servlet."
+msgstr ""
+"Java EE / Servlet non fornisce alcun hook da usare per fornire l'iniezione "
+"nei Servlet, quindi Web Beans fornisce un'API per consentire al container di "
+"richiedere l'iniezione JSR-299 per un Servlet."
 
 #. Tag: para
-#: ri-spi.xml:254
+#: ri-spi.xml:339
 #, no-c-format
-msgid "To be compliant with JSR-299, the container should request servlet injection for each newly instantiated servlet after the constructor returns and before the servlet is placed into service."
-msgstr "Per soddisfare la JSR-299 il container deve richiedere l'iniezione servlet per ogni nuovo servlet istanziato dopo che il costruttore ritorni e prima che il servlet sia messo in servizio."
+msgid ""
+"To be compliant with JSR-299, the container should request servlet injection "
+"for each newly instantiated servlet after the constructor returns and before "
+"the servlet is placed into service."
+msgstr ""
+"Per soddisfare la JSR-299 il container deve richiedere l'iniezione servlet "
+"per ogni nuovo servlet istanziato dopo che il costruttore ritorni e prima "
+"che il servlet sia messo in servizio."
 
 #. Tag: para
-#: ri-spi.xml:260
+#: ri-spi.xml:345
 #, no-c-format
-msgid "To perform injection on a servlet call <literal>WebBeansManager.injectServlet()</literal>. The manager can be obtained from <literal>Bootstrap.getManager()</literal>."
-msgstr "Per eseguire l'iniezione su un servlet si chiami <literal>WebBeansManager.injectServlet()</literal>. Il manager può essere ottenuto da <literal>Bootstrap.getManager()</literal>."
+msgid ""
+"To perform injection on a servlet call <literal>WebBeansManager.injectServlet"
+"()</literal>. The manager can be obtained from <literal>Bootstrap.getManager"
+"()</literal>."
+msgstr ""
+"Per eseguire l'iniezione su un servlet si chiami <literal>WebBeansManager."
+"injectServlet()</literal>. Il manager può essere ottenuto da "
+"<literal>Bootstrap.getManager()</literal>."
 
 #. Tag: title
-#: ri-spi.xml:271
+#: ri-spi.xml:356
 #, no-c-format
 msgid "The contract with the container"
 msgstr "Il contratto con il container"
 
 #. Tag: para
-#: ri-spi.xml:273
+#: ri-spi.xml:358
 #, no-c-format
-msgid "There are a number of requirements that the Web Beans RI places on the container for correct functioning that fall outside implementation of APIs"
-msgstr "Per il corretto funzionamento al di fuori dell'implementazione delle API, ci sono un numero di requisiti che Web Beans RI pone nel container."
+msgid ""
+"There are a number of requirements that the Web Beans RI places on the "
+"container for correct functioning that fall outside implementation of APIs"
+msgstr ""
+"Per il corretto funzionamento al di fuori dell'implementazione delle API, ci "
+"sono un numero di requisiti che Web Beans RI pone nel container."
 
 #. Tag: term
-#: ri-spi.xml:281
+#: ri-spi.xml:366
 #, no-c-format
 msgid "Classloader isolation"
 msgstr "Isolamento del classloader"
 
 #. Tag: para
-#: ri-spi.xml:285
+#: ri-spi.xml:370
 #, no-c-format
-msgid "If you are integrating the Web Beans RI into an environment that supports deployment of multiple applications, you must enable, automatically, or through user configuation, classloader isolation for each Web Beans application."
-msgstr "Se si integra Web Beans in un ambiente che supporta il deploy di applicazioni, occorre abilitare, automaticamente o attraverso la configurazione utente, l'isolamento del classloader per ogni applicazione Web Beans."
+msgid ""
+"If you are integrating the Web Beans RI into an environment that supports "
+"deployment of multiple applications, you must enable, automatically, or "
+"through user configuation, classloader isolation for each Web Beans "
+"application."
+msgstr ""
+"Se si integra Web Beans in un ambiente che supporta il deploy di "
+"applicazioni, occorre abilitare, automaticamente o attraverso la "
+"configurazione utente, l'isolamento del classloader per ogni applicazione "
+"Web Beans."
 
 #. Tag: term
-#: ri-spi.xml:294
+#: ri-spi.xml:379
 #, no-c-format
-msgid "Servlet listener and filters"
-msgstr "Servlet listener e filtri"
+msgid "Servlet"
+msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:298
+#: ri-spi.xml:383
 #, no-c-format
-msgid "If you are integrating the Web Beans into a Servlet environment you must register <literal>org.jboss.webbeans.servlet.WebBeansListener</literal> as a Servlet listener, either automatically, or through user configuration, for each Web Beans application which uses Servlet."
-msgstr "Se si integra Web Beans in un ambiente Servlet occorre registrare <literal>org.jboss.webbeans.servlet.WebBeansListener</literal> come Servlet listener, o automaticamente, o attraverso una configurazione utente, per ciascuna applicazione Web Beans che usa Servlet."
+msgid ""
+"If you are integrating the Web Beans into a Servlet environment you must "
+"register <literal>org.jboss.webbeans.servlet.WebBeansListener</literal> as a "
+"Servlet listener, either automatically, or through user configuration, for "
+"each Web Beans application which uses Servlet."
+msgstr ""
+"Se si integra Web Beans in un ambiente Servlet occorre registrare "
+"<literal>org.jboss.webbeans.servlet.WebBeansListener</literal> come Servlet "
+"listener, o automaticamente, o attraverso una configurazione utente, per "
+"ciascuna applicazione Web Beans che usa Servlet."
 
+#. Tag: term
+#: ri-spi.xml:394
+#, no-c-format
+msgid "<term>JSF</term>"
+msgstr ""
+
 #. Tag: para
-#: ri-spi.xml:307
+#: ri-spi.xml:399
+#, fuzzy, no-c-format
+msgid ""
+"If you are integrating the Web Beans into a JSF environment you must "
+"register <literal>org.jboss.webbeans.jsf.WebBeansPhaseListener</literal> as "
+"a phase listener, and <literal>org.jboss.webbeans.el.WebBeansELREsolver</"
+"literal> as an EL resolver, either automatically, or through user "
+"configuration, for each Web Beans application which uses JSF."
+msgstr ""
+"Se si integra Web Beans in un ambiente Servlet occorre registrare "
+"<literal>org.jboss.webbeans.servlet.WebBeansListener</literal> come Servlet "
+"listener, o automaticamente, o attraverso una configurazione utente, per "
+"ciascuna applicazione Web Beans che usa Servlet."
+
+#. Tag: para
+#: ri-spi.xml:410
 #, no-c-format
-msgid "If you are integrating the Web Beans into a JSF environment you must register <literal>org.jboss.webbeans.servlet.ConversationPropagationFilter</literal> as a Servlet listener, either automatically, or through user configuration, for each Web Beans application which uses JSF. This filter can be registered for all Servlet deployment safely."
-msgstr "Se si integra Web Beans in un ambiente Servlet occorre registrare <literal>org.jboss.webbeans.servlet.ConversationPropagationFilter</literal> come Servlet listener, o automaticamente, o attraverso una configurazione utente, per ciascuna applicazione Web Beans che usa JSF. Questo filtro può venir registrato in modo sicuro per tutti i deploy dei servlet."
+msgid ""
+"If you are integrating the Web Beans into a JSF environment you must "
+"register <literal>org.jboss.webbeans.servlet.ConversationPropagationFilter</"
+"literal> as a Servlet listener, either automatically, or through user "
+"configuration, for each Web Beans application which uses JSF. This filter "
+"can be registered for all Servlet deployment safely."
+msgstr ""
+"Se si integra Web Beans in un ambiente Servlet occorre registrare "
+"<literal>org.jboss.webbeans.servlet.ConversationPropagationFilter</literal> "
+"come Servlet listener, o automaticamente, o attraverso una configurazione "
+"utente, per ciascuna applicazione Web Beans che usa JSF. Questo filtro può "
+"venir registrato in modo sicuro per tutti i deploy dei servlet."
 
+#. Tag: para
+#: ri-spi.xml:421
+#, no-c-format
+msgid "Web Beans only supports JSF 1.2 and above."
+msgstr ""
+
 #. Tag: term
-#: ri-spi.xml:319
+#: ri-spi.xml:428
 #, no-c-format
 msgid "Session Bean Interceptor"
 msgstr "Session Bean Interceptor"
 
 #. Tag: para
-#: ri-spi.xml:323
+#: ri-spi.xml:432
 #, no-c-format
-msgid "If you are integrating the Web Beans into an EJB environment you must register <literal>org.jboss.webbeans.ejb.SessionBeanInterceptor</literal> as a EJB interceptor for all EJBs in the application, either automatically, or through user configuration, for each Web Beans application which uses enterprise beans."
-msgstr "Se si integra Web Beans in un ambiente EJB occorre registrare <literal>org.jboss.webbeans.ejb.SessionBeanInterceptor</literal> come interceptor EJB per ogni EJB dell'applicazione, o automaticamente o attraverso una configurazione utente, per ciascuna applicazione Web Beans che utilizza bean enterprise."
+msgid ""
+"If you are integrating the Web Beans into an EJB environment you must "
+"register <literal>org.jboss.webbeans.ejb.SessionBeanInterceptor</literal> as "
+"a EJB interceptor for all EJBs in the application, either automatically, or "
+"through user configuration, for each Web Beans application which uses "
+"enterprise beans."
+msgstr ""
+"Se si integra Web Beans in un ambiente EJB occorre registrare <literal>org."
+"jboss.webbeans.ejb.SessionBeanInterceptor</literal> come interceptor EJB per "
+"ogni EJB dell'applicazione, o automaticamente o attraverso una "
+"configurazione utente, per ciascuna applicazione Web Beans che utilizza bean "
+"enterprise."
 
 #. Tag: para
-#: ri-spi.xml:333
+#: ri-spi.xml:442
 #, no-c-format
-msgid "You must register the <literal>SessionBeanInterceptor</literal> as the inner most interceptor in the stack for all EJBs."
-msgstr "Occorre registrare il <literal>SessionBeanInterceptor</literal> come interceptor più interno allo stack per tutti gli EJB."
+msgid ""
+"You must register the <literal>SessionBeanInterceptor</literal> as the inner "
+"most interceptor in the stack for all EJBs."
+msgstr ""
+"Occorre registrare il <literal>SessionBeanInterceptor</literal> come "
+"interceptor più interno allo stack per tutti gli EJB."
 
 #. Tag: term
-#: ri-spi.xml:341
+#: ri-spi.xml:450
 #, no-c-format
 msgid "The <literal>webbeans-core.jar</literal>"
 msgstr "<literal>webbeans-core.jar</literal>"
 
 #. Tag: para
-#: ri-spi.xml:345
+#: ri-spi.xml:454
 #, no-c-format
-msgid "If you are integrating the Web Beans into an environment that supports deployment of applications, you must insert the <literal>webbeans-core.jar</literal> into the applications isolated classloader. It cannot be loaded from a shared classloader."
-msgstr "Se si integra Web Beans in un ambiente che supporta il deploy di applicazioni, occorre inserire <literal>webbeans-core.jar</literal> nel classloader isolato delle applicazioni. Non può essere caricato da un classloader condiviso."
+msgid ""
+"If you are integrating the Web Beans into an environment that supports "
+"deployment of applications, you must insert the <literal>webbeans-core.jar</"
+"literal> into the applications isolated classloader. It cannot be loaded "
+"from a shared classloader."
+msgstr ""
+"Se si integra Web Beans in un ambiente che supporta il deploy di "
+"applicazioni, occorre inserire <literal>webbeans-core.jar</literal> nel "
+"classloader isolato delle applicazioni. Non può essere caricato da un "
+"classloader condiviso."
 
+#. Tag: term
+#: ri-spi.xml:464
+#, no-c-format
+msgid "Binding the manager in JNDI"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:468
+#, no-c-format
+msgid ""
+"You should bind a <literal>Reference</literal> to the Manager "
+"<literal>ObjectFactory</literal> into JNDI at <literal>java:app/Manager</"
+"literal>. The type should be <literal>javax.inject.manager.Manager</literal> "
+"and the factory class is <literal>org.jboss.webbeans.resources."
+"ManagerObjectFactory</literal>"
+msgstr ""
+
+#~ msgid ""
+#~ "It should be possible to run Web Beans in an SE environment, but you'll "
+#~ "to do more work, adding your own contexts and lifecycle. The Web Beans RI "
+#~ "currently doesn't expose lifecycle extension points, so you would have to "
+#~ "code directly against Web Beans RI classes."
+#~ msgstr ""
+#~ "Dovrebbe essere possibile far funzionare Web Beans in un ambiente SE, ma "
+#~ "occorre molto lavoro per aggiungere i propri contesti ed il ciclo di "
+#~ "vita. Web Beans RI attualmente non espone punti di estensione del ciclo "
+#~ "di vita, così occorre codificare direttamente nelle classi Web Beans RI."
+
+#~ msgid ""
+#~ "All interfaces in the SPI support the decorator pattern and provide a "
+#~ "<literal>Forwarding</literal> class."
+#~ msgstr ""
+#~ "Tutte le interfacce in SPI supportano il pattern decorator e forniscono "
+#~ "una classe <literal>Forwarding</literal>."
+
+#~ msgid ""
+#~ "<![CDATA[public interface EjbServices\n"
+#~ "{\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Gets a descriptor for each EJB in the application\n"
+#~ "    * \n"
+#~ "    * @return The bean class to descriptor map \n"
+#~ "    */\n"
+#~ "   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
+#~ msgstr ""
+#~ "<![CDATA[public interface EjbServices\n"
+#~ "{\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Gets a descriptor for each EJB in the application\n"
+#~ "    * \n"
+#~ "    * @return The bean class to descriptor map \n"
+#~ "    */\n"
+#~ "   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
+
+# rivedere la frase.
+#~ msgid ""
+#~ "Just as resolution of <literal>@EJB</literal> is delegated to the "
+#~ "container, so is resolution of <literal>@PersistenceContext</literal>."
+#~ msgstr ""
+#~ "Solo come risoluzione di <literal>@EJB</literal> è delegata al container, "
+#~ "e quindi è la risoluzione di <literal>@PersistenceContext</literal>."
+
+#~ msgid ""
+#~ "OPEN ISSUE: Web Beans also requires the container to provide a list of "
+#~ "entities in the deployment, so that they aren't discovered as simple "
+#~ "beans."
+#~ msgstr ""
+#~ "PROBLEMA APERTO: Web Beans richiede anche che il container fornisca una "
+#~ "lista di entity nel deploy, cosicché non siano rilevati come semplici "
+#~ "bean."
+
+#~ msgid ""
+#~ "The Web Beans RI implements JNDI binding and lookup according to "
+#~ "standards, however you may want to alter the binding and lookup (for "
+#~ "example in an environment where JNDI isn't available). To do this, "
+#~ "implement <literal>org.jboss.webbeans.resources.spi.NamingContext</"
+#~ "literal>:"
+#~ msgstr ""
+#~ "Web Beans RI implementa la ricerca e l'associazione JNDI secondo gli "
+#~ "standard, ma può capitare di dover modificare la ricerca e l'associazione "
+#~ "(per esempio in un ambiente dove JNDI non è disponibile). Per fare questo "
+#~ "occorre implementare <literal>org.jboss.webbeans.resources.spi."
+#~ "NamingContext</literal>:"
+
+#~ msgid ""
+#~ "<![CDATA[public interface NamingContext extends Serializable {\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Typed JNDI lookup\n"
+#~ "    * \n"
+#~ "    * @param <T> The type\n"
+#~ "    * @param name The JNDI name\n"
+#~ "    * @param expectedType The expected type\n"
+#~ "    * @return The object\n"
+#~ "    */\n"
+#~ "   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
+#~ "\n"
+#~ "   /**\n"
+#~ "    * Binds an item to JNDI\n"
+#~ "    * \n"
+#~ "    * @param name The key to bind under\n"
+#~ "    * @param value The item to bind\n"
+#~ "    */\n"
+#~ "   public void bind(String name, Object value);\n"
+#~ "   \n"
+#~ "}]]>"
+#~ msgstr ""
+#~ "<![CDATA[public interface NamingContext extends Serializable {\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Typed JNDI lookup\n"
+#~ "    * \n"
+#~ "    * @param <T> The type\n"
+#~ "    * @param name The JNDI name\n"
+#~ "    * @param expectedType The expected type\n"
+#~ "    * @return The object\n"
+#~ "    */\n"
+#~ "   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
+#~ "\n"
+#~ "   /**\n"
+#~ "    * Binds an item to JNDI\n"
+#~ "    * \n"
+#~ "    * @param name The key to bind under\n"
+#~ "    * @param value The item to bind\n"
+#~ "    */\n"
+#~ "   public void bind(String name, Object value);\n"
+#~ "   \n"
+#~ "}]]>"
+
+#~ msgid "Servlet listener and filters"
+#~ msgstr "Servlet listener e filtri"
+
 #~ msgid "EJB Discovery"
 #~ msgstr "EJB Discovery"
+
 #~ msgid ""
 #~ "<literal>@EJB</literal>, <literal>@PersistenceContext</literal> and "
 #~ "<literal>@Resource</literal> resolution"
 #~ msgstr ""
 #~ "<literal>@EJB</literal>, <literal>@PersistenceContext</literal> e "
 #~ "<literal>@Resource</literal> resolution"
+
 #~ msgid ""
 #~ "To boot the container you call <literal>Bootstrap.boot()</literal>. "
 #~ "Before calling <literal>boot()</literal> you must have called "
@@ -710,6 +1193,7 @@
 #~ "<literal>Bootstrap.setWebBeanDiscovery()</literal>, <literal>Bootstrap."
 #~ "setEjbDiscovery()</literal> e <literal>Bootstrap.setApplicationContext()</"
 #~ "literal>."
+
 #~ msgid ""
 #~ "You can specify the implementation of an SPI either as a system property, "
 #~ "or in a properties file <literal>META-INF/web-beans-ri.properties</"
@@ -722,6 +1206,7 @@
 #~ "properties</literal>. Tutti i nomi delle proprietà sono nomi di classi "
 #~ "fully qualified dell'interfaccia di implementazione; tutti i valori sono "
 #~ "nomi di classi fully qualified della classe di implementazione."
+
 #~ msgid ""
 #~ "The Web Beans RI can be told to load your implementation of "
 #~ "<literal>WebBeanDiscovery</literal> using the property <literal>org.jboss."
@@ -732,22 +1217,26 @@
 #~ "<literal>WebBeanDiscovery</literal> usando la proprietà <literal>org."
 #~ "jboss.webbeans.bootstrap.spi.WebBeanDiscovery</literal> con il nome della "
 #~ "classe pienamente qualificato (fully qualified) come valore. Per esempio:"
+
 #~ msgid ""
 #~ "org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery= \\ \n"
 #~ "   org.jboss.webbeans.integration.jbossas.WebBeanDiscoveryImpl"
 #~ msgstr ""
 #~ "org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery= \\ \n"
 #~ "   org.jboss.webbeans.integration.jbossas.WebBeanDiscoveryImpl"
+
 #~ msgid ""
 #~ "If the Web Beans RI is being used in a servlet container, it expects a "
 #~ "constructor of the form:"
 #~ msgstr ""
 #~ "Se Web Beans RI viene usato in un servlet container, si aspetta un "
 #~ "costruttore della forma:"
+
 #~ msgid ""
 #~ "<![CDATA[public WebBeanDiscoveryImpl(ServletContext servletContext) {}]]>"
 #~ msgstr ""
 #~ "<![CDATA[public WebBeanDiscoveryImpl(ServletContext servletContext) {}]]>"
+
 #~ msgid ""
 #~ "The servlet context can be used to allow your implementation of "
 #~ "<literal>WebBeanDiscovery</literal> to interact with the container."
@@ -755,6 +1244,7 @@
 #~ "Il contesto del servlet può essere usato per consentire "
 #~ "all'implementazione di <literal>WebBeanDiscovery</literal> di interagire "
 #~ "con il container."
+
 #~ msgid ""
 #~ "The Web Beans RI can be told to load your implementation of "
 #~ "<literal>EjbDiscovery</literal> using the property <literal>org.jboss."
@@ -765,16 +1255,19 @@
 #~ "<literal>EjbDiscovery</literal> usando la proprietà <literal>org.jboss."
 #~ "webbeans.bootstrap.spi.EjbDiscovery</literal> con il nome della classe "
 #~ "pienamente qualificato (fully qualified) come valore. Per esempio:"
+
 #~ msgid ""
 #~ "org.jboss.webbeans.bootstrap.spi.EjbDiscovery= \\\n"
 #~ "   org.jboss.webbeans.integration.jbossas.EjbDiscoveryImpl"
 #~ msgstr ""
 #~ "org.jboss.webbeans.bootstrap.spi.EjbDiscovery= \\\n"
 #~ "   org.jboss.webbeans.integration.jbossas.EjbDiscoveryImpl"
+
 #~ msgid ""
 #~ "<![CDATA[public EjbDiscoveryImpl(ServletContext servletContext) {}]]>"
 #~ msgstr ""
 #~ "<![CDATA[public EjbDiscoveryImpl(ServletContext servletContext) {}]]>"
+
 #~ msgid ""
 #~ "The servlet context can be used to allow your implementation of "
 #~ "<literal>EjbDiscovery</literal> to interact with the container."
@@ -782,15 +1275,19 @@
 #~ "Il contesto del servlet può essere usato per consentire "
 #~ "all'implementazione di <literal>EjbDiscovery</literal> di interagire con "
 #~ "il container."
+
 #~ msgid "and tell the RI to use it:"
 #~ msgstr "e dire a RI di usarlo:"
+
 #~ msgid ""
 #~ "org.jboss.webbeans.resources.spi.NamingContext=com.acme.MyNamingContext"
 #~ msgstr ""
 #~ "org.jboss.webbeans.resources.spi.NamingContext=com.acme.MyNamingContext"
+
 #~ msgid "<![CDATA[public MyNamingContext(ServletContext servletContext) {}]]>"
 #~ msgstr ""
 #~ "<![CDATA[public MyNamingContext(ServletContext servletContext) {}]]>"
+
 #~ msgid ""
 #~ "The servlet context can be used to allow your implementation of "
 #~ "<literal>NamingContext</literal> to interact with the container."
@@ -798,14 +1295,17 @@
 #~ "Il contesto del servlet può essere usato per consentire "
 #~ "all'implementazione di <literal>NamingContext</literal> di interagire con "
 #~ "il container."
+
 #~ msgid ""
 #~ "org.jboss.webbeans.resources.spi.ResourceLoader=com.acme.ResourceLoader"
 #~ msgstr ""
 #~ "org.jboss.webbeans.resources.spi.ResourceLoader=com.acme.ResourceLoader"
+
 #~ msgid ""
 #~ "<![CDATA[public MyResourceLoader(ServletContext servletContext) {}]]>"
 #~ msgstr ""
 #~ "<![CDATA[public MyResourceLoader(ServletContext servletContext) {}]]>"
+
 #~ msgid ""
 #~ "The servlet context can be used to allow your implementation of "
 #~ "<literal>ResourceLoader</literal> to interact with the container."
@@ -813,14 +1313,15 @@
 #~ "Il contesto del servlet può essere usato per consentire "
 #~ "all'implementazione di <literal>ResourceLoader</literal> di interagire "
 #~ "con il container."
+
 #~ msgid "Currently, the only SPI to implement is the bootstrap spi:"
 #~ msgstr ""
 #~ "Attualmente l'unico SPI (Service Provider Interface) da implementare è "
 #~ "l'spi di bootstrap:"
+
 #~ msgid ""
 #~ "The property can either be specified as a system property, or in a "
 #~ "properties file <literal>META-INF/web-beans-ri.properties</literal>."
 #~ msgstr ""
 #~ "La proprietà può essere specificata come proprietà di sistema o nel file "
 #~ "di proprietà <literal>META-INF/web-beans-ri.properties</literal>."
-

Deleted: doc/trunk/reference/it-IT/ri.po
===================================================================
--- doc/trunk/reference/it-IT/ri.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/it-IT/ri.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -1,1423 +0,0 @@
-# Language it-IT translations for master.xml package.
-# Automatically generated, 2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: master.xml\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
-"PO-Revision-Date: 2009-04-15 20:54+0100\n"
-"Last-Translator: Nicola Benaglia <nico.benaz at gmail.com>\n"
-"Language-Team: none\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Tag: title
-#: ri.xml:4
-#, no-c-format
-msgid "Web Beans, the Reference Implementation of JSR-299"
-msgstr "Implementazione di riferimento di Web Beans JSR-299"
-
-#. Tag: para
-#: ri.xml:6
-#, no-c-format
-msgid "The Web Beans is being developed at <ulink url=\"http://seamframework.org/WebBeans\">the Seam project</ulink>. You can download the latest developer release of Web Beans from the <ulink url=\"http://seamframework.org/Download\">the downloads page</ulink>."
-msgstr "Web Beans viene sviluppato all'indirizzo <ulink url=\"http://seamframework.org/WebBeans\">the Seam project</ulink>. Si può scaricare l'ultima release di Web Beans dalla <ulink url=\"http://seamframework.org/Download\">pagina di download</ulink>."
-
-#. Tag: para
-#: ri.xml:13
-#, no-c-format
-msgid "Web Beans comes with a two deployable example applications: <literal>webbeans-numberguess</literal>, a war example, containing only simple beans, and <literal>webbeans-translator</literal> an ear example, containing enterprise beans. There are also two variations on the numberguess example, the tomcat example (suitable for deployment to Tomcat) and the jsf2 example, which you can use if you are running JSF2. To run the examples you'll need the following:"
-msgstr "Web Beans viene distribuito con due applicazioni deployabili d'esempio, <literal>webbeans-numberguess</literal>, un esempio in formato war, che contiene solo bean semplici, e <literal>webbeans-translator</literal>, un esempio in formato ear, che contiene bean enterprise. Ci sono anche due varianti dell'esempio Indovina Numero, per Tomcat e con jsf2, che può essere usato con JSF2. Per eseguire gli esempi occorre fare le seguenti cose:"
-
-#. Tag: para
-#: ri.xml:25
-#, no-c-format
-msgid "the latest release of Web Beans,"
-msgstr "l'ultima release di Web Beans,"
-
-#. Tag: para
-#: ri.xml:28
-#, no-c-format
-msgid "JBoss AS 5.0.1.GA, or"
-msgstr "JBoss AS 5.0.1.GA, o"
-
-#. Tag: para
-#: ri.xml:31
-#, no-c-format
-msgid "Apache Tomcat 6.0.x, and"
-msgstr "Apache Tomcat 6.0.x, e"
-
-#. Tag: para
-#: ri.xml:34
-#, no-c-format
-msgid "Ant 1.7.0."
-msgstr "Ant 1.7.0."
-
-#. Tag: title
-#: ri.xml:39
-#, no-c-format
-msgid "Using JBoss AS 5"
-msgstr "Usare JBoss AS 5"
-
-#. Tag: para
-#: ri.xml:41
-#, no-c-format
-msgid "You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss.org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
-msgstr "Occorre scaricare JBoss AS 5.0.1.GA da <ulink url=\"http://www.jboss.org/jbossas/downloads/\">jboss.org</ulink>, e scompattarlo. Per esempio:"
-
-#. Tag: programlisting
-#: ri.xml:47
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.1.GA.zip]]>"
-msgstr ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.1.GA.zip]]>"
-
-#. Tag: para
-#: ri.xml:49
-#: ri.xml:170
-#, no-c-format
-msgid "Next, download Web Beans from <ulink url=\"http://seamframework.org/Download\">seamframework.org</ulink>, and unzip it. For example"
-msgstr "Scaricare Web Beans da <ulink url=\"http://seamframework.org/Download\">seamframework.org</ulink>, e scompattarlo. Per esempio"
-
-#. Tag: programlisting
-#: ri.xml:55
-#: ri.xml:176
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-$VERSION.zip]]>"
-msgstr ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-$VERSION.zip]]>"
-
-#. Tag: para
-#: ri.xml:58
-#, no-c-format
-msgid "Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-as/build.properties</literal> and set the <literal>jboss.home</literal> property. For example:"
-msgstr "Quindi, occorre indicare a Web Beans dove è stato installato JBoss. Modificate il file <literal>jboss-as/build.properties</literal> e valorizzate la proprietà <literal>jboss.home</literal>. Per esempio:"
-
-#. Tag: programlisting
-#: ri.xml:64
-#, no-c-format
-msgid "jboss.home=/Applications/jboss-5.0.1.GA"
-msgstr "jboss.home=/Applications/jboss-5.0.1.GA"
-
-#. Tag: para
-#: ri.xml:66
-#, no-c-format
-msgid "To install Web Beans, you'll need Ant 1.7.0 installed, and the <literal>ANT_HOME</literal> environment variable set. For example:"
-msgstr "Per installare Web Beans, occorre avere installato Ant 1.7.0, e avere valorizzato la variabile d'ambiente <literal>ANT_HOME</literal>. Per esempio:"
-
-#. Tag: programlisting
-#: ri.xml:71
-#, no-c-format
-msgid ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-msgstr ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-
-#. Tag: para
-#: ri.xml:73
-#, no-c-format
-msgid "Then, you can install the update. The update script will use Maven to download Web Beans automatically."
-msgstr "Quindi, è possibile installare gli aggiornamenti. Lo script di aggiornamento userà Maven per scaricare automaticamente Web Beans."
-
-#. Tag: programlisting
-#: ri.xml:78
-#, no-c-format
-msgid ""
-"$ cd webbeans-$VERSION/jboss-as\n"
-"$ ant update"
-msgstr ""
-"$ cd webbeans-$VERSION/jboss-as\n"
-"$ ant update"
-
-#. Tag: para
-#: ri.xml:80
-#, no-c-format
-msgid "Now, you're ready to deploy your first example!"
-msgstr "Ora, siete pronti a fare il deploy del primo esempio!"
-
-#. Tag: para
-#: ri.xml:85
-#, no-c-format
-msgid "The build scripts for the examples offer a number of targets for JBoss AS, these are:"
-msgstr "Gli script di build degli esempio offrono una quantità di target per JBoss AS, quali:"
-
-#. Tag: para
-#: ri.xml:91
-#, no-c-format
-msgid "<literal>ant restart</literal> - deploy the example in exploded format"
-msgstr "<literal>ant restart</literal> - fa il deploy dell'esempio in formato esploso"
-
-#. Tag: para
-#: ri.xml:97
-#, no-c-format
-msgid "<literal>ant explode</literal> - update an exploded example, without restarting the deployment"
-msgstr "<literal>ant explode</literal> - aggiorna un esempio in formato esploso, senza riavviare il deploy"
-
-#. Tag: para
-#: ri.xml:103
-#, no-c-format
-msgid "<literal>ant deploy</literal> - deploy the example in compressed jar format"
-msgstr "<literal>ant deploy</literal> - fa il deploy dell'esempio in formato jar compresso"
-
-#. Tag: para
-#: ri.xml:108
-#, no-c-format
-msgid "<literal>ant undeploy</literal> - remove the example from the server"
-msgstr "<literal>ant undeploy</literal> - rimuove l'esempio dal server"
-
-#. Tag: para
-#: ri.xml:113
-#, no-c-format
-msgid "<literal>ant clean</literal> - clean the example"
-msgstr "<literal>ant clean</literal> - ripulisce l'esempio"
-
-#. Tag: para
-#: ri.xml:120
-#, no-c-format
-msgid "To deploy the numberguess example:"
-msgstr "Per fare il deploy dell'esempio Indovina Numero:"
-
-#. Tag: programlisting
-#: ri.xml:124
-#, no-c-format
-msgid ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-msgstr ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:126
-#, no-c-format
-msgid "Start JBoss AS:"
-msgstr "Avviare JBoss AS:"
-
-#. Tag: programlisting
-#: ri.xml:130
-#, no-c-format
-msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
-msgstr "$ /Application/jboss-5.0.0.GA/bin/run.sh"
-
-#. Tag: para
-#: ri.xml:133
-#, no-c-format
-msgid "If you use Windows, use the <literal>run.bat</literal>script."
-msgstr "Se si usa Windows, si usi lo script <literal>run.bat</literal>."
-
-#. Tag: para
-#: ri.xml:138
-#: ri.xml:240
-#, no-c-format
-msgid "Wait for the application to deploy, and enjoy hours of fun at <ulink url=\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
-msgstr "Attendete che l'applicazione sia installata, e godetevi ore di divertimento all'indirizzo <ulink url=\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
-
-#. Tag: para
-#: ri.xml:143
-#, no-c-format
-msgid "Web Beans includes a second simple example that will translate your text into Latin. The numberguess example is a war example, and uses only simple beans; the translator example is an ear example, and includes enterprise beans, packaged in an EJB module. To try it out:"
-msgstr "Web Beans include un secondo semplice esempio che tradurrà i vostri testi in Latino. L'esempio Indovina Numero è in formato war, e usa soltanto bean semplici; l'esempio col traduttore è in formato ear, e include dei bean enterprise, assemblati in un modulo EJB. Per provarlo:"
-
-#. Tag: programlisting
-#: ri.xml:150
-#, no-c-format
-msgid ""
-"$ cd examples/translator\n"
-"ant deploy"
-msgstr ""
-"$ cd examples/translator\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:152
-#, no-c-format
-msgid "Wait for the application to deploy, and visit <ulink url=\"http://localhost:8080/webbeans-translator\"></ulink>!"
-msgstr "Attendete che l'applicazione sia installata, e visitate l'indirizzo <ulink url=\"http://localhost:8080/webbeans-translator\"></ulink>!"
-
-#. Tag: title
-#: ri.xml:160
-#, no-c-format
-msgid "Using Apache Tomcat 6.0"
-msgstr "Usare Apache Tomcat 6.0"
-
-#. Tag: para
-#: ri.xml:162
-#, no-c-format
-msgid "You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. For example:"
-msgstr "Scaricare Tomcat 6.0.18 o successivo da <ulink url=\"http://tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, e scompattarlo. Per esempio"
-
-#. Tag: programlisting
-#: ri.xml:168
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
-msgstr ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
-
-#. Tag: para
-#: ri.xml:178
-#, no-c-format
-msgid "Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-as/build.properties</literal> and set the <literal>tomcat.home</literal> property. For example:"
-msgstr "Quindi, occorre indicare a Web Beans dove è stato installato Tomcat. Modificate il file <literal>jboss-as/build.properties</literal> e valorizzate la proprietà <literal>tomcat.home</literal>. Per esempio:"
-
-#. Tag: programlisting
-#: ri.xml:184
-#, no-c-format
-msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
-msgstr "tomcat.home=/Applications/apache-tomcat-6.0.18"
-
-#. Tag: para
-#: ri.xml:187
-#, no-c-format
-msgid "The build scripts for the examples offer a number of targets for Tomcat, these are:"
-msgstr "Gli script di build degli esempi offrono una quantità di target per Tomcat, quali:"
-
-#. Tag: para
-#: ri.xml:193
-#, no-c-format
-msgid "<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
-msgstr "<literal>ant tomcat.restart</literal> - esegue il deploy dell'esempio in formato esploso"
-
-#. Tag: para
-#: ri.xml:199
-#, no-c-format
-msgid "<literal>ant tomcat.explode</literal> - update an exploded example, without restarting the deployment"
-msgstr "<literal>ant tomcat.explode</literal> - aggiorna un esempio in formato esploso, senza riavviare il deploy"
-
-#. Tag: para
-#: ri.xml:205
-#, no-c-format
-msgid "<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar format"
-msgstr "<literal>ant tomcat.deploy</literal> - esegue il deploy dell'esempio in formato jar compresso"
-
-#. Tag: para
-#: ri.xml:210
-#, no-c-format
-msgid "<literal>ant tomcat.undeploy</literal> - remove the example from the server"
-msgstr "<literal>ant tomcat.undeploy</literal> - rimuove l'esempio dal server"
-
-#. Tag: para
-#: ri.xml:215
-#, no-c-format
-msgid "<literal>ant tomcat.clean</literal> - clean the example"
-msgstr "<literal>ant tomcat.clean</literal> - ripulisce l'esempio"
-
-#. Tag: para
-#: ri.xml:222
-#, no-c-format
-msgid "To deploy the numberguess example for tomcat:"
-msgstr "Per eseguire il deploy dell'esempio Indovina Numero per tomcat:"
-
-#. Tag: programlisting
-#: ri.xml:226
-#, no-c-format
-msgid ""
-"$ cd examples/tomcat\n"
-"ant tomcat.deploy"
-msgstr ""
-"$ cd examples/tomcat\n"
-"ant tomcat.deploy"
-
-#. Tag: para
-#: ri.xml:228
-#, no-c-format
-msgid "Start Tomcat:"
-msgstr "Avviare Tomcat:"
-
-#. Tag: programlisting
-#: ri.xml:232
-#, no-c-format
-msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
-msgstr "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
-
-#. Tag: para
-#: ri.xml:235
-#, no-c-format
-msgid "If you use Windows, use the <literal>startup.bat</literal>script."
-msgstr "Se si usa Windows, si usi lo script <literal>startup.bat</literal>."
-
-#. Tag: title
-#: ri.xml:248
-#, no-c-format
-msgid "Using GlassFish"
-msgstr "Usare GlassFish"
-
-#. Tag: para
-#: ri.xml:250
-#, no-c-format
-msgid "TODO"
-msgstr "DA FARE"
-
-#. Tag: title
-#: ri.xml:254
-#, no-c-format
-msgid "The numberguess example"
-msgstr "Esempio Indovina Numero"
-
-#. Tag: para
-#: ri.xml:256
-#, no-c-format
-msgid "In the numberguess application you get given 10 attempts to guess a number between 1 and 100. After each attempt, you will be told whether you are too high, or too low."
-msgstr "Nell'applicazione Indovina Numero avete a disposizione 10 tentativi per indovinare un numero tra 1 e 100. Dopo ciascun tentativo, siete informati se siete stati troppo alti o troppo bassi."
-
-#. Tag: para
-#: ri.xml:262
-#, no-c-format
-msgid "The numberguess example is comprised of a number of Web Beans, configuration files, and Facelet JSF pages, packaged as a war. Let's start with the configuration files."
-msgstr "L'esempio Indovina Numero comprende un certo numero di Web Bean,  file di configurazione e pagine JSF, assemblati in un war. Iniziamo dai file di configurazione."
-
-#. Tag: para
-#: ri.xml:268
-#, no-c-format
-msgid "All the configuration files for this example are located in <literal>WEB-INF/</literal>, which is stored in <literal>WebContent</literal> in the source tree. First, we have <literal>faces-config.xml</literal>, in which we tell JSF to use Facelets:"
-msgstr "Tutti i file di configurazione di questo esempio si trovano in <literal>WEB-INF/</literal>, che è situato in <literal>WebContent</literal> nell'albero dei sorgenti. Innanzitutto, c'è <literal>faces-config.xml</literal>, in cui JSF viene informata di usare Facelets:"
-
-#. Tag: programlisting
-#: ri.xml:276
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-msgstr ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-
-#. Tag: para
-#: ri.xml:278
-#, no-c-format
-msgid "There is an empty <literal>web-beans.xml</literal> file, which marks this application as a Web Beans application."
-msgstr "Vi è un file vuoto <literal>web-beans.xml</literal>, che identifica l'applicazione come applicazione Web Beans."
-
-#. Tag: para
-#: ri.xml:283
-#, no-c-format
-msgid "Finally there is <literal>web.xml</literal>:"
-msgstr "Infine c'è <literal>web.xml</literal>:"
-
-#. Tag: section
-#: ri.xml:285
-#, no-c-format
-msgid ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> <area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default.suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces.servlet\"> <para> Enable and load the JSF servlet </para> </callout> <callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to <literal>.jsf</literal> pages to be handled by JSF </para> </callout> <callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be giving our source files (facelets) an extension of <literal>.xhtml</literal> </para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a session timeout of 10 minutes </para> </callout> </calloutlist> </programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use Web Beans with any Servlet based web framework. </para> </note> <para> Let's take a look at the Facelet view: </para> <programlistingco> <areaspec> <area id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area id=\"validator\" coords=\!
 "30\"/> <area id=\"submit\" coords=\"33\"/> </areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game.number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game.number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game.biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> <para> Facelets is a templating language for JSF, here we are wrapping our page in a template which defines the header. </para> </callout> <callout arearefs=\"messages\"> <para> There are a number of messages which can be sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the range of numbers they can guess gets smaller - this sentance changes to make sure they know what range to guess in. </para> </callout> <callout arearefs=\"guess\"> <para> This input field is bound to a Web Bean, using the value expression. </para> </callout> <callout arearefs=\"validator\"> <para> A range validator is used to make sure the user doesn't accidentally input a number outside of the range in which they can guess - if the validator wasn't here, the user might use up a guess on an out of range number. </para> </callout> <callout !
 arearefs=\"submit\"> <para> And, of course, there must be a way for the user to send their guess to the server. Here we bind to an action method on the Web Bean. </para> </callout> </calloutlist> </programlistingco>"
-msgstr ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> <area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default.suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces.servlet\"> <para> Enable and load the JSF servlet </para> </callout> <callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to <literal>.jsf</literal> pages to be handled by JSF </para> </callout> <callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be giving our source files (facelets) an extension of <literal>.xhtml</literal> </para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a session timeout of 10 minutes </para> </callout> </calloutlist> </programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use Web Beans with any Servlet based web framework. </para> </note> <para> Let's take a look at the Facelet view: </para> <programlistingco> <areaspec> <area id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area id=\"validator\" coords=\!
 "30\"/> <area id=\"submit\" coords=\"33\"/> </areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game.number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game.number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game.biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> <para> Facelets is a templating language for JSF, here we are wrapping our page in a template which defines the header. </para> </callout> <callout arearefs=\"messages\"> <para> There are a number of messages which can be sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the range of numbers they can guess gets smaller - this sentance changes to make sure they know what range to guess in. </para> </callout> <callout arearefs=\"guess\"> <para> This input field is bound to a Web Bean, using the value expression. </para> </callout> <callout arearefs=\"validator\"> <para> A range validator is used to make sure the user doesn't accidentally input a number outside of the range in which they can guess - if the validator wasn't here, the user might use up a guess on an out of range number. </para> </callout> <callout !
 arearefs=\"submit\"> <para> And, of course, there must be a way for the user to send their guess to the server. Here we bind to an action method on the Web Bean. </para> </callout> </calloutlist> </programlistingco>"
-
-#. Tag: para
-#: ri.xml:387
-#, no-c-format
-msgid "The example exists of 4 classes, the first two of which are binding types. First, there is the <literal>@Random</literal> binding type, used for injecting a random number:"
-msgstr "L'esempio consiste di 4 classi, delle quali le prime due sono tipi di binding. Innanzitutto, c'è il tipo di binding <literal>@Random</literal>, usato per iniettare un numero casuale:"
-
-#. Tag: programlisting
-#: ri.xml:393
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-msgstr ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-
-#. Tag: para
-#: ri.xml:395
-#, no-c-format
-msgid "There is also the <literal>@MaxNumber</literal> binding type, used for injecting the maximum number that can be injected:"
-msgstr "C'è anche il tipo di binding <literal>@MaxNumber</literal>, usato per iniettare il numero massimo iniettatabile:"
-
-#. Tag: programlisting
-#: ri.xml:400
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-msgstr ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-
-#. Tag: para
-#: ri.xml:402
-#, no-c-format
-msgid "The <literal>Generator</literal> class is responsible for creating the random number, via a producer method. It also exposes the maximum possible number via a producer method:"
-msgstr "Alla classe <literal>Generator</literal> è affidata la generazione del numero casuale, per mezzo di un metodo produttore. Inoltre essa espone il massimo numero possibile attraverso un metodo produttore:"
-
-#. Tag: programlisting
-#: ri.xml:408
-#, no-c-format
-msgid ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System.currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-msgstr ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System.currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-
-#. Tag: para
-#: ri.xml:410
-#, no-c-format
-msgid "You'll notice that the <literal>Generator</literal> is application scoped; therefore we don't get a different random each time."
-msgstr "E' possibile notare che <literal>Generator</literal> ha scope applicazione; quindi non si ottiene un diverso numero casuale ogni volta."
-
-#. Tag: para
-#: ri.xml:415
-#, no-c-format
-msgid "The final Web Bean in the application is the session scoped <literal>Game</literal>."
-msgstr "Il Web Bean finale nell'applicazione è <literal>Game</literal> avente scope di sessione."
-
-#. Tag: para
-#: ri.xml:420
-#, no-c-format
-msgid "You'll note that we've used the <literal>@Named</literal> annotation, so that we can use the bean through EL in the JSF page. Finally, we've used constructor injection to initialize the game with a random number. And of course, we need to tell the player when they've won, so we give feedback with a <literal>FacesMessage</literal>."
-msgstr "Si noti anche che è stata usata l'annotazione <literal>@Named</literal>, in modo che sia possibile usare il bean in espressioni EL presenti nelle pagine JSF. Infine, si è utilizzata l'iniezione del costruttore per inizializzare il gioco con un numero casuale. E naturalmente, è necessario dire al giocatore se ha vinto, informazione di feedback che viene fornita con un <literal>FacesMessage</literal>."
-
-#. Tag: programlisting
-#: ri.xml:428
-#, no-c-format
-msgid ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-msgstr ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-
-#. Tag: title
-#: ri.xml:431
-#, no-c-format
-msgid "The numberguess example for Tomcat"
-msgstr "Esempio Indovina Numero per Tomcat"
-
-#. Tag: para
-#: ri.xml:433
-#, no-c-format
-msgid "The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans should be deployed as a Web Application library in <literal>WEB-INF/lib</literal>. For your convenience we provide a single jar suitable for running Web Beans on Tomcat <literal>webbeans-tomcat.jar</literal>."
-msgstr "L'Indovina Numero di Tomcat differisce in un paio di punti. Innanzitutto Web Beans dovrebbe essere deployato come libreria Web Application in <literal>WEB-INF/lib</literal>. Per comodità viene fornito un singolo jar <literal>webbeans-tomcat.jar</literal> adatto per Web Beans in Tomcat."
-
-#. Tag: para
-#: ri.xml:442
-#, no-c-format
-msgid "Of course, you must also include JSF and EL, as well common annotations (<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
-msgstr "Certamente occorre anche includere JSF e EL, e le annotazioni comuni (<literal>jsr250-api.jar</literal>) che un server JEE include di default."
-
-#. Tag: para
-#: ri.xml:449
-#, no-c-format
-msgid "Secondly, we need to explicitly specify the Tomcat servlet listener (used to boot Web Beans, and control it's interaction with requests) in <literal>web.xml</literal>:"
-msgstr "In secondo luogo, occorre specificare esplicitamente il servlet listener di Tomcat (usato per avviare Web Beans, e controllare la sua interazione con le richieste) in <literal>web.xml</literal>:"
-
-#. Tag: programlisting
-#: ri.xml:455
-#, no-c-format
-msgid ""
-"<![CDATA[<listener>\n"
-"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-class>\n"
-"</listener>]]>"
-msgstr ""
-"<![CDATA[<listener>\n"
-"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-class>\n"
-"</listener>]]>"
-
-#. Tag: title
-#: ri.xml:461
-#, no-c-format
-msgid "The translator example"
-msgstr "Esempio Traduttore"
-
-#. Tag: para
-#: ri.xml:463
-#, no-c-format
-msgid "The translator example will take any sentences you enter, and translate them to Latin."
-msgstr "L'esempio Traduttore prende le frasi che vengono inserite e le traduce in latino."
-
-#. Tag: para
-#: ri.xml:468
-#, no-c-format
-msgid "The translator example is built as an ear, and contains EJBs. As a result, it's structure is more complex than the numberguess example."
-msgstr "L'esempio Traduttore è assemblato in un ear, e contiene EJB. Di conseguenza, la sua struttura è più complessa di quella dell'esempio Indovina Numero."
-
-#. Tag: para
-#: ri.xml:474
-#, no-c-format
-msgid "EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make this structure much simpler!"
-msgstr "EJB 3.1 and Java EE 6 permettono di assemblare gli EJB in un war, cosa che rende questa struttura molto più semplice!"
-
-#. Tag: para
-#: ri.xml:480
-#, no-c-format
-msgid "First, let's take a look at the ear aggregator, which is located in <literal>webbeans-translator-ear</literal> module. Maven automatically generates the <literal>application.xml</literal> for us:"
-msgstr "Innanzitutto, diamo un'occhiata all'aggregatore ear, che è situato nel modulo <literal>webbeans-translator-ear</literal>. Maven genera automaticamente il file <literal>application.xml</literal>:"
-
-#. Tag: programlisting
-#: ri.xml:486
-#, no-c-format
-msgid ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-msgstr ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-
-#. Tag: para
-#: ri.xml:488
-#, no-c-format
-msgid "Here we set the context path, which gives us a nice url (<ulink url=\"http://localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-translator</ulink>)."
-msgstr "Qua viene impostato il context path, in modo da avere un url gradevole (<ulink url=\"http://localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-translator</ulink>)."
-
-#. Tag: para
-#: ri.xml:494
-#, no-c-format
-msgid "If you aren't using Maven to generate these files, you would need <literal>META-INF/application.xml</literal>:"
-msgstr "Se non si sta usando Maven per generare questi file, sarebbe necessario avere il file <literal>META-INF/application.xml</literal>:"
-
-#. Tag: programlisting
-#: ri.xml:499
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-msgstr ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-
-#. Tag: para
-#: ri.xml:502
-#, no-c-format
-msgid "Next, lets look at the war. Just as in the numberguess example, we have a <literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web.xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
-msgstr "Quindi, esaminiamo il war. Proprio come nell'esempio Indovina Numero, abbiamo un <literal>faces-config.xml</literal> (per abilitare Facelets) e un <literal>web.xml</literal> (per abilitare JSF) in <literal>WebContent/WEB-INF</literal>."
-
-#. Tag: para
-#: ri.xml:509
-#, no-c-format
-msgid "More intersting is the facelet used to translate text. Just as in the numberguess example we have a template, which surrounds the form (ommitted here for brevity):"
-msgstr "Più interessante è il facelet usato per tradurre il testo. Proprio come nell'esempio Indovina Numero c'è un template, che circoscrive la form (qui omessa per brevità):"
-
-#. Tag: programlisting
-#: ri.xml:515
-#, no-c-format
-msgid ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-msgstr ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-
-#. Tag: para
-#: ri.xml:517
-#, no-c-format
-msgid "The user can enter some text in the lefthand textarea, and hit the translate button to see the result to the right."
-msgstr "L'utente può inserire del testo nell'area di testo sulla sinistra e premere il pulsante di traduzione per vedere il risultato sulla destra."
-
-#. Tag: para
-#: ri.xml:522
-#, no-c-format
-msgid "Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</literal>. In <literal>src/main/resources/META-INF</literal> there is just an empty <literal>web-beans.xml</literal>, used to mark the archive as containing Web Beans."
-msgstr "Infine, si esamini il modulo ejb, <literal>webbeans-translator-ejb</literal>. In <literal>src/main/resources/META-INF</literal> si trova un file vuoto <literal>web-beans.xml</literal>, usato per marcare l'archivio come contenente Web Beans."
-
-#. Tag: para
-#: ri.xml:530
-#, no-c-format
-msgid "We've saved the most interesting bit to last, the code! The project has two simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</literal> and two enterprise beans, <literal>TranslatorControllerBean</literal> and <literal>SentenceTranslator</literal>. You should be getting quite familiar with what a Web Bean looks like by now, so we'll just highlight the most interesting bits here."
-msgstr "Abbiamo lasciato per ultimo il boccone più prelibato, il codice! Il progetto ha due bean semplici, <literal>SentenceParser</literal> e <literal>TextTranslator</literal> e due bean enterprise, <literal>TranslatorControllerBean</literal> e <literal>SentenceTranslator</literal>. Dovreste ormai essere piuttosto familiari all'aspetto di un Web Bean, così ci limiteremo a evidenziare le parti più interessanti."
-
-#. Tag: para
-#: ri.xml:540
-#, no-c-format
-msgid "Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> are dependent beans, and <literal>TextTranslator</literal> uses constructor initialization:"
-msgstr "Sia <literal>SentenceParser</literal> che <literal>TextTranslator</literal> sono bean dependenti, e <literal>TextTranslator</literal> usa l'inizializzazione via costruttore:"
-
-#. Tag: programlisting
-#: ri.xml:546
-#, no-c-format
-msgid ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-msgstr ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-
-#. Tag: para
-#: ri.xml:548
-#, no-c-format
-msgid "<literal>TextTranslator</literal> is a stateless bean (with a local business interface), where the magic happens - of course, we couldn't develop a full translator, but we gave it a good go!"
-msgstr "<literal>TextTranslator</literal> è un bean stateless (con un'interfaccia business locale), dove avviene la magia - naturalmente, non potevamo sviluppare un traduttore completo, ma gli abbiamo dato un buon avvio!"
-
-# This is a request scoped, named, stateful session bean, which injects the translator.
-# se è request scoped come può essere statefull session??????
-# vuol dire che è un bean che sta nella sessione ma certe variabili le piglia dalla richiesta e ogni richiesta vede le proprie?????
-#. Tag: para
-#: ri.xml:554
-#, no-c-format
-msgid "Finally, there is UI orientated controller, that collects the text from the user, and dispatches it to the translator. This is a request scoped, named, stateful session bean, which injects the translator."
-msgstr "Infine, vi è un controller orientato all'UI, che raccoglie il testo dall'utente, e lo invia al traduttore. Questo è un bean stateful di sessione, dotato di nome, con scope richiesta, in cui viene iniettato il traduttore."
-
-#. Tag: programlisting
-#: ri.xml:560
-#, no-c-format
-msgid ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-msgstr ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-
-#. Tag: para
-#: ri.xml:562
-#, no-c-format
-msgid "The bean also has getters and setters for all the fields on the page."
-msgstr "Il bean possiede pure dei metodi getter e setter per tutti i campi della pagina."
-
-#. Tag: para
-#: ri.xml:566
-#, no-c-format
-msgid "As this is a stateful session bean, we have to have a remove method:"
-msgstr "Poichè si tratta di un bean stateful di sessione, è necessario un metodo di rimozione (remove method):"
-
-#. Tag: programlisting
-#: ri.xml:570
-#, no-c-format
-msgid ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-msgstr ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-
-#. Tag: para
-#: ri.xml:572
-#, no-c-format
-msgid "The Web Beans manager will call the remove method for you when the bean is destroyed; in this case at the end of the request."
-msgstr "Il manager Web Beans chiamerà il metodo di rimozione quando il bean verrà distrutto; in questo caso al termine della richiesta."
-
-#. Tag: para
-#: ri.xml:578
-#, no-c-format
-msgid "That concludes our short tour of the Web Beans examples. For more on Web Beans , or to help out, please visit <ulink url=\"http://www.seamframework.org/WebBeans/Development\">http://www.seamframework.org/WebBeans/Development</ulink>."
-msgstr "Ciò conclude il nostro breve tour degli esempi della RI di Web Beans. Per saperne di più, o per trovare ulteriore aiuto, per favore visitate <ulink url=\"http://www.seamframework.org/WebBeans/Development\">http://www.seamframework.org/WebBeans/Development</ulink>."
-
-#. Tag: para
-#: ri.xml:584
-#, no-c-format
-msgid "We need help in all areas - bug fixing, writing new features, writing examples and translating this reference guide."
-msgstr "Abbiamo bisogno di aiuto in tutte le aree - soluzione dei bug, scrittura di nuove caratteristiche ed esempi e traduzione di questa guida."
-
-#~ msgid ""
-#~ "A new deployer, <literal>webbeans.deployer</literal> is added to JBoss "
-#~ "AS. This adds supports for Web Bean archives to JBoss AS, and allows the "
-#~ "Web Beans RI to query the EJB3 container and discover which EJBs are "
-#~ "installed in your application."
-#~ msgstr ""
-#~ "Un nuovo deployer, <literal>webbeans.deployer</literal> viene aggiunto a "
-#~ "JBoss AS. Questo aggiunge a JBoss AS il supporto degli archivi Web Bean, "
-#~ "e consente a Web Beans RI di interrogare il container EJB3 e scoprire "
-#~ "quali EJB sono installati nell'applicazione."
-#~ msgid "Web Beans is bundled with JBoss AS 5.1 and above."
-#~ msgstr "Web Beans viene fornito con JBoss AS 5.1 e superiore."
-#~ msgid ""
-#~ "As Web Beans is a new piece of software, you need to update JBoss AS to "
-#~ "run the Web Beans RI. Future versions of JBoss AS will include these "
-#~ "updates, and this step won't be necessary."
-#~ msgstr ""
-#~ "Poiché Web Beans è un software nuovo, occorre aggiornare JBoss AS per "
-#~ "poter eseguire la RI di Web Beans. Versioni future di JBoss AS "
-#~ "includeranno questi update, e questa operazione non sarà necessaria."
-#~ msgid ""
-#~ "The final Web Bean in the application is the session scoped "
-#~ "<literal>Game</literal>. By making <literal>Game</literal> session "
-#~ "scoped, you can only play the game once per browser session. You could "
-#~ "easily add a reset button - a good exercise for the reader :-)"
-#~ msgstr ""
-#~ "L'ultimo Web Bean dell'applicazione è <literal>Game</literal> che ha "
-#~ "scope sessione. Assegnando a <literal>Game</literal> lo scope sessione, è "
-#~ "possibile giocare una sola volta per sessione del browser. Potreste "
-#~ "facilmente aggiungere un pulsante di reset - un buon esercizio lasciato "
-#~ "al lettore :-)"
-#~ msgid ""
-#~ "<![CDATA[@Named\n"
-#~ "@SessionScoped\n"
-#~ "public class Game {\n"
-#~ "   private int number;\n"
-#~ "   \n"
-#~ "   private int guess;\n"
-#~ "   private int smallest;\n"
-#~ "   private int biggest;\n"
-#~ "   private int remainingGuesses;\n"
-#~ "   \n"
-#~ "   public Game() {}\n"
-#~ "   \n"
-#~ "   @Initializer\n"
-#~ "   Game(@Random int number, @MaxNumber int maxNumber) {\n"
-#~ "      this.number = number;\n"
-#~ "      this.smallest = 1;\n"
-#~ "      this.biggest = maxNumber;\n"
-#~ "      this.remainingGuesses = 10;\n"
-#~ "   }\n"
-#~ "\n"
-#~ "   // Getters and setters for fields\n"
-#~ "   \n"
-#~ "   public String check() {\n"
-#~ "      if (guess>number) {\n"
-#~ "         biggest = guess - 1;\n"
-#~ "      }\n"
-#~ "      if (guess<number) {\n"
-#~ "         smallest = guess + 1;\n"
-#~ "      }\n"
-#~ "      if (guess == number) {\n"
-#~ "         FacesContext.getCurrentInstance().addMessage(null, new "
-#~ "FacesMessage(\"Correct!\"));\n"
-#~ "      }\n"
-#~ "      remainingGuesses--;\n"
-#~ "      return null;\n"
-#~ "   }\n"
-#~ "   \n"
-#~ "}]]>"
-#~ msgstr ""
-#~ "<![CDATA[@Named\n"
-#~ "@SessionScoped\n"
-#~ "public class Game {\n"
-#~ "   private int number;\n"
-#~ "   \n"
-#~ "   private int guess;\n"
-#~ "   private int smallest;\n"
-#~ "   private int biggest;\n"
-#~ "   private int remainingGuesses;\n"
-#~ "   \n"
-#~ "   public Game() {}\n"
-#~ "   \n"
-#~ "   @Initializer\n"
-#~ "   Game(@Random int number, @MaxNumber int maxNumber) {\n"
-#~ "      this.number = number;\n"
-#~ "      this.smallest = 1;\n"
-#~ "      this.biggest = maxNumber;\n"
-#~ "      this.remainingGuesses = 10;\n"
-#~ "   }\n"
-#~ "\n"
-#~ "   // Getters and setters for fields\n"
-#~ "   \n"
-#~ "   public String check() {\n"
-#~ "      if (guess>number) {\n"
-#~ "         biggest = guess - 1;\n"
-#~ "      }\n"
-#~ "      if (guess<number) {\n"
-#~ "         smallest = guess + 1;\n"
-#~ "      }\n"
-#~ "      if (guess == number) {\n"
-#~ "         FacesContext.getCurrentInstance().addMessage(null, new "
-#~ "FacesMessage(\"Correct!\"));\n"
-#~ "      }\n"
-#~ "      remainingGuesses--;\n"
-#~ "      return null;\n"
-#~ "   }\n"
-#~ "   \n"
-#~ "}]]>"
-#~ msgid ""
-#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-#~ "<!DOCTYPE jboss-app\n"
-#~ "    PUBLIC \"-//JBoss//DTD J2EE Application 4.2//EN\"\n"
-#~ "    \"http://www.jboss.org/j2ee/dtd/jboss-app_4_2.dtd\">\n"
-#~ "<jboss-app>\n"
-#~ "  <loader-repository>webbeans.jboss.org:loader=webbeans-translator</"
-#~ "loader-repository>\n"
-#~ "</jboss-app>]]>"
-#~ msgstr ""
-#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-#~ "<!DOCTYPE jboss-app\n"
-#~ "    PUBLIC \"-//JBoss//DTD J2EE Application 4.2//EN\"\n"
-#~ "    \"http://www.jboss.org/j2ee/dtd/jboss-app_4_2.dtd\">\n"
-#~ "<jboss-app>\n"
-#~ "  <loader-repository>webbeans.jboss.org:loader=webbeans-translator</"
-#~ "loader-repository>\n"
-#~ "</jboss-app>]]>"
-#~ msgid "and <literal>META-INF/application.xml</literal>:"
-#~ msgstr "e <literal>META-INF/application.xml</literal>:"
-#~ msgid ""
-#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-#~ "<ejb-jar xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-#~ "         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n"
-#~ "         xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-#~ "java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd\"\n"
-#~ "         version=\"3.0\">\n"
-#~ "         \n"
-#~ "   <interceptors>\n"
-#~ "     <interceptor>\n"
-#~ "       <interceptor-class>org.jboss.webbeans.ejb.SessionBeanInterceptor</"
-#~ "interceptor-class>\n"
-#~ "     </interceptor>\n"
-#~ "   </interceptors>\n"
-#~ "   \n"
-#~ "   <assembly-descriptor>\n"
-#~ "      <interceptor-binding>\n"
-#~ "         <ejb-name>*</ejb-name>\n"
-#~ "         <interceptor-class>org.jboss.webbeans.ejb."
-#~ "SessionBeanInterceptor</interceptor-class>\n"
-#~ "      </interceptor-binding>\n"
-#~ "   </assembly-descriptor>\n"
-#~ "   \n"
-#~ "</ejb-jar>]]>"
-#~ msgstr ""
-#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-#~ "<ejb-jar xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-#~ "         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n"
-#~ "         xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-#~ "java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd\"\n"
-#~ "         version=\"3.0\">\n"
-#~ "         \n"
-#~ "   <interceptors>\n"
-#~ "     <interceptor>\n"
-#~ "       <interceptor-class>org.jboss.webbeans.ejb.SessionBeanInterceptor</"
-#~ "interceptor-class>\n"
-#~ "     </interceptor>\n"
-#~ "   </interceptors>\n"
-#~ "   \n"
-#~ "   <assembly-descriptor>\n"
-#~ "      <interceptor-binding>\n"
-#~ "         <ejb-name>*</ejb-name>\n"
-#~ "         <interceptor-class>org.jboss.webbeans.ejb."
-#~ "SessionBeanInterceptor</interceptor-class>\n"
-#~ "      </interceptor-binding>\n"
-#~ "   </assembly-descriptor>\n"
-#~ "   \n"
-#~ "</ejb-jar>]]>"
-

Modified: doc/trunk/reference/it-IT/scopescontexts.po
===================================================================
--- doc/trunk/reference/it-IT/scopescontexts.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/it-IT/scopescontexts.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: master.xml\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2008-12-19 20:26+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2008-12-26 13:03+0100\n"
 "Last-Translator: Nicola Benaglia <nico.benaz at gmail.com>\n"
 "Language-Team: none\n"
@@ -22,8 +22,17 @@
 #. Tag: para
 #: scopescontexts.xml:6
 #, no-c-format
-msgid "So far, we've seen a few examples of <emphasis>scope type annotations</emphasis>. The scope of a Web Bean determines the lifecycle of instances of the Web Bean. The scope also determines which clients refer to which instances of the Web Bean. According to the Web Beans specification, a scope determines:"
-msgstr "Finora si sono visti pochi esempi di <emphasis>annotazioni di tipi di scope</emphasis>. Gli scope di un Web Bean determinano il ciclo di vita del Web Bean. Lo scope determina anche quali client fanno riferimento a quali istanze di Web Bean. Secondo la specifica Web Bean, uno scope determina:"
+msgid ""
+"So far, we've seen a few examples of <emphasis>scope type annotations</"
+"emphasis>. The scope of a Web Bean determines the lifecycle of instances of "
+"the Web Bean. The scope also determines which clients refer to which "
+"instances of the Web Bean. According to the Web Beans specification, a scope "
+"determines:"
+msgstr ""
+"Finora si sono visti pochi esempi di <emphasis>annotazioni di tipi di scope</"
+"emphasis>. Gli scope di un Web Bean determinano il ciclo di vita del Web "
+"Bean. Lo scope determina anche quali client fanno riferimento a quali "
+"istanze di Web Bean. Secondo la specifica Web Bean, uno scope determina:"
 
 #. Tag: para
 #: scopescontexts.xml:14
@@ -35,19 +44,35 @@
 #: scopescontexts.xml:17
 #, no-c-format
 msgid "When an existing instance of any Web Bean with that scope is destroyed"
-msgstr "Quando un'istanza esistente di un Web Bean con tale scope viene distrutta"
+msgstr ""
+"Quando un'istanza esistente di un Web Bean con tale scope viene distrutta"
 
 #. Tag: para
 #: scopescontexts.xml:20
 #, no-c-format
-msgid "Which injected references refer to any instance of a Web Bean with that scope"
-msgstr "Quali riferimenti iniettati puntano a istanze di un Web Bean con tale scope"
+msgid ""
+"Which injected references refer to any instance of a Web Bean with that scope"
+msgstr ""
+"Quali riferimenti iniettati puntano a istanze di un Web Bean con tale scope"
 
 #. Tag: para
 #: scopescontexts.xml:25
 #, no-c-format
-msgid "For example, if we have a session scoped Web Bean, <literal>CurrentUser</literal>, all Web Beans that are called in the context of the same <literal>HttpSession</literal> will see the same instance of <literal>CurrentUser</literal>. This instance will be automatically created the first time a <literal>CurrentUser</literal> is needed in that session, and automatically destroyed when the session ends."
-msgstr "Per esempio, se esiste un Web Bean con scope di sessione, <literal>CurrentUser</literal>, tutti i Web Bean che vengono chiamati nel contesto della medesima <literal>HttpSession</literal> vedranno la stessa istanza di <literal>CurrentUser</literal>. Quest'istanza verrà automaticamente creata la prima volta che in tale sessione occorre <literal>CurrentUser</literal>, e verrà distrutta automaticamente quando la sessione termina. "
+msgid ""
+"For example, if we have a session scoped Web Bean, <literal>CurrentUser</"
+"literal>, all Web Beans that are called in the context of the same "
+"<literal>HttpSession</literal> will see the same instance of "
+"<literal>CurrentUser</literal>. This instance will be automatically created "
+"the first time a <literal>CurrentUser</literal> is needed in that session, "
+"and automatically destroyed when the session ends."
+msgstr ""
+"Per esempio, se esiste un Web Bean con scope di sessione, "
+"<literal>CurrentUser</literal>, tutti i Web Bean che vengono chiamati nel "
+"contesto della medesima <literal>HttpSession</literal> vedranno la stessa "
+"istanza di <literal>CurrentUser</literal>. Quest'istanza verrà "
+"automaticamente creata la prima volta che in tale sessione occorre "
+"<literal>CurrentUser</literal>, e verrà distrutta automaticamente quando la "
+"sessione termina. "
 
 #. Tag: title
 #: scopescontexts.xml:32
@@ -58,8 +83,13 @@
 #. Tag: para
 #: scopescontexts.xml:34
 #, no-c-format
-msgid "Web Beans features an <emphasis>extensible context model</emphasis>. It is possible to define new scopes by creating a new scope type annotation:"
-msgstr "Web Bean fornisce un <emphasis>modello di contesto estensibile</emphasis>. E' possibile definire nuovi scope creando una nuova annotazione di un tipo di scope."
+msgid ""
+"Web Beans features an <emphasis>extensible context model</emphasis>. It is "
+"possible to define new scopes by creating a new scope type annotation:"
+msgstr ""
+"Web Bean fornisce un <emphasis>modello di contesto estensibile</emphasis>. "
+"E' possibile definire nuovi scope creando una nuova annotazione di un tipo "
+"di scope."
 
 #. Tag: programlisting
 #: scopescontexts.xml:37
@@ -78,14 +108,26 @@
 #. Tag: para
 #: scopescontexts.xml:39
 #, no-c-format
-msgid "Of course, that's the easy part of the job. For this scope type to be useful, we will also need to define a <literal>Context</literal> object that implements the scope! Implementing a <literal>Context</literal> is usually a very technical task, intended for framework development only."
-msgstr "Sicuramente questa è la parte facile del lavoro. Affinché questo tipo di scope sia utile, avremo bisogno di definire un oggetto <literal>Contesto</literal> che implementi lo scope! Implementare un <literal>Contesto</literal> è compito molto tecnico, inteso solo per lo sviluppo di framework."
+msgid ""
+"Of course, that's the easy part of the job. For this scope type to be "
+"useful, we will also need to define a <literal>Context</literal> object that "
+"implements the scope! Implementing a <literal>Context</literal> is usually a "
+"very technical task, intended for framework development only."
+msgstr ""
+"Sicuramente questa è la parte facile del lavoro. Affinché questo tipo di "
+"scope sia utile, avremo bisogno di definire un oggetto <literal>Contesto</"
+"literal> che implementi lo scope! Implementare un <literal>Contesto</"
+"literal> è compito molto tecnico, inteso solo per lo sviluppo di framework."
 
 #. Tag: para
 #: scopescontexts.xml:44
 #, no-c-format
-msgid "We can apply a scope type annotation to a Web Bean implementation class to specify the scope of the Web Bean:"
-msgstr "Si può applicare un'annotazione con un tipo scope ad una classe di implementazione Web Bean per specificare lo scope del Web Bean:"
+msgid ""
+"We can apply a scope type annotation to a Web Bean implementation class to "
+"specify the scope of the Web Bean:"
+msgstr ""
+"Si può applicare un'annotazione con un tipo scope ad una classe di "
+"implementazione Web Bean per specificare lo scope del Web Bean:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:47
@@ -148,8 +190,12 @@
 #. Tag: para
 #: scopescontexts.xml:86
 #, no-c-format
-msgid "any servlet request has access to active request, session and application scopes, and, additionally"
-msgstr "qualsiasi richiesta servlet ha accesso a scope attivi di richiesta, sessione e applicazione e, in aggiunta"
+msgid ""
+"any servlet request has access to active request, session and application "
+"scopes, and, additionally"
+msgstr ""
+"qualsiasi richiesta servlet ha accesso a scope attivi di richiesta, sessione "
+"e applicazione e, in aggiunta"
 
 #. Tag: para
 #: scopescontexts.xml:90
@@ -190,14 +236,26 @@
 #. Tag: para
 #: scopescontexts.xml:111
 #, no-c-format
-msgid "If the application tries to invoke a Web Bean with a scope that does not have an active context, a <literal>ContextNotActiveException</literal> is thrown by the Web Bean manager at runtime."
-msgstr "Se l'applicazione prova ad invocare un Web Bean con scope che non ha un contesto attivo, una <literal>ContextNotActiveException</literal> viene lanciata a runtime dal manager Web Bean."
+msgid ""
+"If the application tries to invoke a Web Bean with a scope that does not "
+"have an active context, a <literal>ContextNotActiveException</literal> is "
+"thrown by the Web Bean manager at runtime."
+msgstr ""
+"Se l'applicazione prova ad invocare un Web Bean con scope che non ha un "
+"contesto attivo, una <literal>ContextNotActiveException</literal> viene "
+"lanciata a runtime dal manager Web Bean."
 
 #. Tag: para
 #: scopescontexts.xml:115
 #, no-c-format
-msgid "Three of the four built-in scopes should be extremely familiar to every Java EE developer, so let's not waste time discussing them here. One of the scopes, however, is new."
-msgstr "Tre dei quattro scope predefiniti dovrebbero essere estremamente familiari ad ogni sviluppatore Java EE, quindi non si procede oltre nella discussione. Uno degli scope è comunque nuovo."
+msgid ""
+"Three of the four built-in scopes should be extremely familiar to every Java "
+"EE developer, so let's not waste time discussing them here. One of the "
+"scopes, however, is new."
+msgstr ""
+"Tre dei quattro scope predefiniti dovrebbero essere estremamente familiari "
+"ad ogni sviluppatore Java EE, quindi non si procede oltre nella discussione. "
+"Uno degli scope è comunque nuovo."
 
 #. Tag: title
 #: scopescontexts.xml:122
@@ -208,8 +266,16 @@
 #. Tag: para
 #: scopescontexts.xml:124
 #, no-c-format
-msgid "The Web Beans conversation scope is a bit like the traditional session scope in that it holds state associated with a user of the system, and spans multiple requests to the server. However, unlike the session scope, the conversation scope:"
-msgstr "Lo scope di conversazione di Web Beans è un pò come il tradizionale scope di sessione in cui viene mantenuto lo stato associato all'utente del sistema, e vengono create richiest multiple al server. Comunque, a differenza dello scope di sessione, lo scope di conversazione:"
+msgid ""
+"The Web Beans conversation scope is a bit like the traditional session scope "
+"in that it holds state associated with a user of the system, and spans "
+"multiple requests to the server. However, unlike the session scope, the "
+"conversation scope:"
+msgstr ""
+"Lo scope di conversazione di Web Beans è un pò come il tradizionale scope di "
+"sessione in cui viene mantenuto lo stato associato all'utente del sistema, e "
+"vengono create richiest multiple al server. Comunque, a differenza dello "
+"scope di sessione, lo scope di conversazione:"
 
 #. Tag: para
 #: scopescontexts.xml:130
@@ -220,20 +286,41 @@
 #. Tag: para
 #: scopescontexts.xml:133
 #, no-c-format
-msgid "holds state associated with a particular web browser tab in a JSF application."
-msgstr "mantiene lo stato associato ad un particolare tab del browser in un'applicazione JSF"
+msgid ""
+"holds state associated with a particular web browser tab in a JSF "
+"application."
+msgstr ""
+"mantiene lo stato associato ad un particolare tab del browser in "
+"un'applicazione JSF"
 
 #. Tag: para
 #: scopescontexts.xml:138
 #, no-c-format
-msgid "A conversation represents a task, a unit of work from the point of view of the user. The conversation context holds state associated with what the user is currently working on. If the user is doing multiple things at the same time, there are multiple conversations."
-msgstr "Una conversazione rappresenta un task, un'unità di lavoro dal punto di vista dell'utente. Il contesto di conversazione mantiene uno stato associato all'utente che sta lavorando. Se l'utente sta facendo più cose contemporaneamente ci saranno più conversazioni."
+msgid ""
+"A conversation represents a task, a unit of work from the point of view of "
+"the user. The conversation context holds state associated with what the user "
+"is currently working on. If the user is doing multiple things at the same "
+"time, there are multiple conversations."
+msgstr ""
+"Una conversazione rappresenta un task, un'unità di lavoro dal punto di vista "
+"dell'utente. Il contesto di conversazione mantiene uno stato associato "
+"all'utente che sta lavorando. Se l'utente sta facendo più cose "
+"contemporaneamente ci saranno più conversazioni."
 
 #. Tag: para
 #: scopescontexts.xml:143
 #, no-c-format
-msgid "The conversation context is active during any JSF request. However, most conversations are destroyed at the end of the request. If a conversation should hold state across multiple requests, it must be explicitly promoted to a <emphasis>long-running conversation</emphasis>."
-msgstr "Il contesto di conversazione è attivo durante ogni richiesta JSF. Comunque, la maggior parte delle conversazioni vengono distrutte alla fine della richiesta. Se una conversazione deve mantenere lo stato nel corso richieste multiple, deve esplicitamente essere promossa a <emphasis>conversazione long-running</emphasis>."
+msgid ""
+"The conversation context is active during any JSF request. However, most "
+"conversations are destroyed at the end of the request. If a conversation "
+"should hold state across multiple requests, it must be explicitly promoted "
+"to a <emphasis>long-running conversation</emphasis>."
+msgstr ""
+"Il contesto di conversazione è attivo durante ogni richiesta JSF. Comunque, "
+"la maggior parte delle conversazioni vengono distrutte alla fine della "
+"richiesta. Se una conversazione deve mantenere lo stato nel corso richieste "
+"multiple, deve esplicitamente essere promossa a <emphasis>conversazione long-"
+"running</emphasis>."
 
 #. Tag: title
 #: scopescontexts.xml:149
@@ -244,8 +331,14 @@
 #. Tag: para
 #: scopescontexts.xml:151
 #, no-c-format
-msgid "Web Beans provides a built-in Web Bean for controlling the lifecyle of conversations in a JSF application. This Web Bean may be obtained by injection:"
-msgstr "Web Beans fornisce un Web Bean predefinito per controllare il ciclo di vita delle conversazioni in un'applicazione JSF. QUesto Web Bean può essere ottenuto per iniezione:"
+msgid ""
+"Web Beans provides a built-in Web Bean for controlling the lifecyle of "
+"conversations in a JSF application. This Web Bean may be obtained by "
+"injection:"
+msgstr ""
+"Web Beans fornisce un Web Bean predefinito per controllare il ciclo di vita "
+"delle conversazioni in un'applicazione JSF. QUesto Web Bean può essere "
+"ottenuto per iniezione:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:154
@@ -256,14 +349,27 @@
 #. Tag: para
 #: scopescontexts.xml:156
 #, no-c-format
-msgid "To promote the conversation associated with the current request to a long-running conversation, call the <literal>begin()</literal> method from application code. To schedule the current long-running conversation context for destruction at the end of the current request, call <literal>end()</literal>."
-msgstr "Per promuovere a long-running la conversazione associata alla richiesta corrente, occorre chiamare il metodo <literal>begin()</literal> dal codice dell'applicazione. Per schedulare la distruzione del contesto attuale della conversazione long-running, si chiami <literal>end()</literal>."
+msgid ""
+"To promote the conversation associated with the current request to a long-"
+"running conversation, call the <literal>begin()</literal> method from "
+"application code. To schedule the current long-running conversation context "
+"for destruction at the end of the current request, call <literal>end()</"
+"literal>."
+msgstr ""
+"Per promuovere a long-running la conversazione associata alla richiesta "
+"corrente, occorre chiamare il metodo <literal>begin()</literal> dal codice "
+"dell'applicazione. Per schedulare la distruzione del contesto attuale della "
+"conversazione long-running, si chiami <literal>end()</literal>."
 
 #. Tag: para
 #: scopescontexts.xml:161
 #, no-c-format
-msgid "In the following example, a conversation-scoped Web Bean controls the conversation with which it is associated:"
-msgstr "Nel seguente esempio un Web Bean con scope di conversazione controlla la conversazione alla quale è associato:"
+msgid ""
+"In the following example, a conversation-scoped Web Bean controls the "
+"conversation with which it is associated:"
+msgstr ""
+"Nel seguente esempio un Web Bean con scope di conversazione controlla la "
+"conversazione alla quale è associato:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:164
@@ -334,8 +440,14 @@
 #. Tag: para
 #: scopescontexts.xml:166
 #, no-c-format
-msgid "This Web Bean is able to control its own lifecycle through use of the <literal>Conversation</literal> API. But some other Web Beans have a lifecycle which depends completely upon another object."
-msgstr "Questo Web Bean è capace di controlla il proprio ciclo di vita attraverso l'uso della API <literal>Conversation</literal>. Ma altri Web BEan hanno un ciclo di vita che dipende completamente da un altro oggetto."
+msgid ""
+"This Web Bean is able to control its own lifecycle through use of the "
+"<literal>Conversation</literal> API. But some other Web Beans have a "
+"lifecycle which depends completely upon another object."
+msgstr ""
+"Questo Web Bean è capace di controlla il proprio ciclo di vita attraverso "
+"l'uso della API <literal>Conversation</literal>. Ma altri Web BEan hanno un "
+"ciclo di vita che dipende completamente da un altro oggetto."
 
 #. Tag: title
 #: scopescontexts.xml:173
@@ -346,14 +458,33 @@
 #. Tag: para
 #: scopescontexts.xml:175
 #, no-c-format
-msgid "The conversation context automatically propagates with any JSF faces request (JSF form submission). It does not automatically propagate with non-faces requests, for example, navigation via a link."
-msgstr "Il contesto di conversazione viene automaticamente propagato con ogni richiesta JSF faces (invio di form JSF). Non si propaga in modo automatico con richiesta non-faces, per esempio, navigazione tramite un link."
+msgid ""
+"The conversation context automatically propagates with any JSF faces request "
+"(JSF form submission). It does not automatically propagate with non-faces "
+"requests, for example, navigation via a link."
+msgstr ""
+"Il contesto di conversazione viene automaticamente propagato con ogni "
+"richiesta JSF faces (invio di form JSF). Non si propaga in modo automatico "
+"con richiesta non-faces, per esempio, navigazione tramite un link."
 
 #. Tag: para
 #: scopescontexts.xml:179
 #, no-c-format
-msgid "We can force the conversation to propagate with a non-faces request by including the unique identifier of the conversation as a request parameter. The Web Beans specification reserves the request parameter named <literal>cid</literal> for this use. The unique identifier of the conversation may be obtained from the <literal>Conversation</literal> object, which has the Web Beans name <literal>conversation</literal>."
-msgstr "E' possibile forzare la conversazione da propagare tramite richiesta non-faces attraverso l'inclusione di un identificatore univoco della conversazione come parametro di richiesta. La specifica Web Bean riserva un parametro di richiesta chiamato <literal>cid</literal> per tale uso. L'identificatore univoco della conversazione può essere ottenuto dall'oggetto <literal>Conversation</literal>, che ha il nome Web Beans <literal>conversation</literal>."
+msgid ""
+"We can force the conversation to propagate with a non-faces request by "
+"including the unique identifier of the conversation as a request parameter. "
+"The Web Beans specification reserves the request parameter named "
+"<literal>cid</literal> for this use. The unique identifier of the "
+"conversation may be obtained from the <literal>Conversation</literal> "
+"object, which has the Web Beans name <literal>conversation</literal>."
+msgstr ""
+"E' possibile forzare la conversazione da propagare tramite richiesta non-"
+"faces attraverso l'inclusione di un identificatore univoco della "
+"conversazione come parametro di richiesta. La specifica Web Bean riserva un "
+"parametro di richiesta chiamato <literal>cid</literal> per tale uso. "
+"L'identificatore univoco della conversazione può essere ottenuto "
+"dall'oggetto <literal>Conversation</literal>, che ha il nome Web Beans "
+"<literal>conversation</literal>."
 
 #. Tag: para
 #: scopescontexts.xml:186
@@ -364,14 +495,28 @@
 #. Tag: programlisting
 #: scopescontexts.xml:188
 #, no-c-format
-msgid "<![CDATA[<a href=\"/addProduct.jsp?cid=#{conversation.id}\">Add Product</a>]]>"
-msgstr "<![CDATA[<a href=\"/addProduct.jsp?cid=#{conversation.id}\">Add Product</a>]]>"
+msgid ""
+"<![CDATA[<a href=\"/addProduct.jsp?cid=#{conversation.id}\">Add Product</a>]]"
+">"
+msgstr ""
+"<![CDATA[<a href=\"/addProduct.jsp?cid=#{conversation.id}\">Add Product</a>]]"
+">"
 
 #. Tag: para
 #: scopescontexts.xml:190
 #, no-c-format
-msgid "The Web Bean manager is also required to propagate conversations across any redirect, even if the conversation is not marked long-running. This makes it very easy to implement the common POST-then-redirect pattern, without resort to fragile constructs such as a \"flash\" object. In this case, the Web Bean manager automatically adds a request parameter to the redirect URL."
-msgstr "Il manager Web Bean deve propagare le conversazioni attraverso i redirect, anche se la conversazione non è marcata long-running. Questo rende facile implementare il comune pattern POST-then-redirect, senza impiegare fragili costrutti quali oggetti \"flash\". In questo caso il manager Web Bean aggiunge automaticamente un parametro di richiesta all'URL di redirect."
+msgid ""
+"The Web Bean manager is also required to propagate conversations across any "
+"redirect, even if the conversation is not marked long-running. This makes it "
+"very easy to implement the common POST-then-redirect pattern, without resort "
+"to fragile constructs such as a \"flash\" object. In this case, the Web Bean "
+"manager automatically adds a request parameter to the redirect URL."
+msgstr ""
+"Il manager Web Bean deve propagare le conversazioni attraverso i redirect, "
+"anche se la conversazione non è marcata long-running. Questo rende facile "
+"implementare il comune pattern POST-then-redirect, senza impiegare fragili "
+"costrutti quali oggetti \"flash\". In questo caso il manager Web Bean "
+"aggiunge automaticamente un parametro di richiesta all'URL di redirect."
 
 #. Tag: title
 #: scopescontexts.xml:200
@@ -382,14 +527,31 @@
 #. Tag: para
 #: scopescontexts.xml:202
 #, no-c-format
-msgid "The Web Bean manager is permitted to destroy a conversation and all state held in its context at any time in order to preserve resources. A Web Bean manager implementation will normally do this on the basis of some kind of timeout &#151; though this is not required by the Web Beans specification. The timeout is the period of inactivity before the conversation is destroyed."
-msgstr "Al manager Web Bean è permesso di distruggere una conversazione e tutto lo stato mantenuto nel contesto in qualsiasi momento al fine di preservare le risorse. Un'implementazione di un manager Web Bean eseguirà questo sulla base di un qualche timeout &#151; sebbene non sia richiesto dalla specifica Web Beans. Il timeout è il periodo di inattività prima che la conversazione venga distrutta."
+msgid ""
+"The Web Bean manager is permitted to destroy a conversation and all state "
+"held in its context at any time in order to preserve resources. A Web Bean "
+"manager implementation will normally do this on the basis of some kind of "
+"timeout &#151; though this is not required by the Web Beans specification. "
+"The timeout is the period of inactivity before the conversation is destroyed."
+msgstr ""
+"Al manager Web Bean è permesso di distruggere una conversazione e tutto lo "
+"stato mantenuto nel contesto in qualsiasi momento al fine di preservare le "
+"risorse. Un'implementazione di un manager Web Bean eseguirà questo sulla "
+"base di un qualche timeout &#151; sebbene non sia richiesto dalla specifica "
+"Web Beans. Il timeout è il periodo di inattività prima che la conversazione "
+"venga distrutta."
 
 #. Tag: para
 #: scopescontexts.xml:208
 #, no-c-format
-msgid "The <literal>Conversation</literal> object provides a method to set the timeout. This is a hint to the Web Bean manager, which is free to ignore the setting."
-msgstr "L'oggetto <literal>Conversation</literal> fornisce un metodo per impostare iltimeout. Questo è solo un suggerimento al manager Web Bean, che è libero di ignorare quest'impostazione."
+msgid ""
+"The <literal>Conversation</literal> object provides a method to set the "
+"timeout. This is a hint to the Web Bean manager, which is free to ignore the "
+"setting."
+msgstr ""
+"L'oggetto <literal>Conversation</literal> fornisce un metodo per impostare "
+"iltimeout. Questo è solo un suggerimento al manager Web Bean, che è libero "
+"di ignorare quest'impostazione."
 
 #. Tag: programlisting
 #: scopescontexts.xml:212
@@ -398,79 +560,127 @@
 msgstr "conversation.setTimeout(timeoutInMillis);"
 
 #. Tag: title
-#: scopescontexts.xml:219
+#: scopescontexts.xml:218
 #, no-c-format
 msgid "The dependent pseudo-scope"
 msgstr "Pseudo-scope dipendente"
 
 #. Tag: para
-#: scopescontexts.xml:221
+#: scopescontexts.xml:220
 #, no-c-format
-msgid "In addition to the four built-in scopes, Web Beans features the so-called <emphasis>dependent pseudo-scope</emphasis>. This is the default scope for a Web Bean which does not explicitly declare a scope type."
-msgstr "In aggiunta ai quattro scope predefiniti, Web Bean fornisce il cosiddetto <emphasis>pseudo-scope dipendente</emphasis>. Questo è lo scope di default per un Web Bean che non dichiara esplicitamente un tipo di scope."
+msgid ""
+"In addition to the four built-in scopes, Web Beans features the so-called "
+"<emphasis>dependent pseudo-scope</emphasis>. This is the default scope for a "
+"Web Bean which does not explicitly declare a scope type."
+msgstr ""
+"In aggiunta ai quattro scope predefiniti, Web Bean fornisce il cosiddetto "
+"<emphasis>pseudo-scope dipendente</emphasis>. Questo è lo scope di default "
+"per un Web Bean che non dichiara esplicitamente un tipo di scope."
 
 #. Tag: para
-#: scopescontexts.xml:225
+#: scopescontexts.xml:224
 #, no-c-format
-msgid "For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
-msgstr "Per esempio questo Web Bean ha uno scope di tipo <literal>@Dependent</literal>:"
+msgid ""
+"For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
+msgstr ""
+"Per esempio questo Web Bean ha uno scope di tipo <literal>@Dependent</"
+"literal>:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:227
+#: scopescontexts.xml:226
 #, no-c-format
 msgid "<![CDATA[public class Calculator { ... }]]>"
 msgstr "<![CDATA[public class Calculator { ... }]]>"
 
 #. Tag: para
-#: scopescontexts.xml:229
+#: scopescontexts.xml:228
 #, no-c-format
-msgid "When an injection point of a Web Bean resolves to a dependent Web Bean, a new instance of the dependent Web Bean is created every time the first Web Bean is instantiated. Instances of dependent Web Beans are never shared between different Web Beans or different injection points. They are <emphasis>dependent objects</emphasis> of some other Web Bean instance."
-msgstr "Quando un punto di iniezione di un Web Bean risolve verso un Web Bean dipendente, viene creata una nuova istanza di Web Bean dipendente ogni volta che il primo Web Bean viene istanziato. Le istanze dei Web Beans dipendenti non vengono mai condivise tra Web Bean differenti o punti di iniezione differenti. Sono <emphasis>oggetti dipendenti</emphasis> di altre istanze Web Bean."
+msgid ""
+"When an injection point of a Web Bean resolves to a dependent Web Bean, a "
+"new instance of the dependent Web Bean is created every time the first Web "
+"Bean is instantiated. Instances of dependent Web Beans are never shared "
+"between different Web Beans or different injection points. They are "
+"<emphasis>dependent objects</emphasis> of some other Web Bean instance."
+msgstr ""
+"Quando un punto di iniezione di un Web Bean risolve verso un Web Bean "
+"dipendente, viene creata una nuova istanza di Web Bean dipendente ogni volta "
+"che il primo Web Bean viene istanziato. Le istanze dei Web Beans dipendenti "
+"non vengono mai condivise tra Web Bean differenti o punti di iniezione "
+"differenti. Sono <emphasis>oggetti dipendenti</emphasis> di altre istanze "
+"Web Bean."
 
 #. Tag: para
-#: scopescontexts.xml:235
+#: scopescontexts.xml:234
 #, no-c-format
-msgid "Dependent Web Bean instances are destroyed when the instance they depend upon is destroyed."
-msgstr "Istanze Web Bean dipendenti vengono distrutte quando viene distrutta l'istanza da cui dipendono."
+msgid ""
+"Dependent Web Bean instances are destroyed when the instance they depend "
+"upon is destroyed."
+msgstr ""
+"Istanze Web Bean dipendenti vengono distrutte quando viene distrutta "
+"l'istanza da cui dipendono."
 
 #. Tag: para
-#: scopescontexts.xml:243
+#: scopescontexts.xml:242
 #, no-c-format
-msgid "Web Beans makes it easy to obtain a dependent instance of a Java class or EJB bean, even if the class or EJB bean is already declared as a Web Bean with some other scope type."
-msgstr "Web Beans facilità l'ottenimento di un'istanza dipendente di una classe Java o bean EJB, anche se la classe o bean EJB sono già dichiarati come Web Bean con qualche altro tipo di scope."
+msgid ""
+"Web Beans makes it easy to obtain a dependent instance of a Java class or "
+"EJB bean, even if the class or EJB bean is already declared as a Web Bean "
+"with some other scope type."
+msgstr ""
+"Web Beans facilità l'ottenimento di un'istanza dipendente di una classe Java "
+"o bean EJB, anche se la classe o bean EJB sono già dichiarati come Web Bean "
+"con qualche altro tipo di scope."
 
 #. Tag: title
-#: scopescontexts.xml:248
+#: scopescontexts.xml:247
 #, no-c-format
 msgid "The <literal>@New</literal> annotation"
 msgstr "Annotazione <literal>@New</literal>"
 
 #. Tag: para
-#: scopescontexts.xml:250
+#: scopescontexts.xml:249
 #, no-c-format
-msgid "The built-in <literal>@New</literal> binding annotation allows <emphasis>implicit</emphasis> definition of a dependent Web Bean at an injection point. Suppose we declare the following injected field:"
-msgstr "L'annotazione predefinita di binding <literal>@New</literal> consente la definizione<emphasis>implicita</emphasis> di un Web Bean dipendente in un punti di iniezione. Si supponga di dichiarare il seguentecampo iniettato:"
+msgid ""
+"The built-in <literal>@New</literal> binding annotation allows "
+"<emphasis>implicit</emphasis> definition of a dependent Web Bean at an "
+"injection point. Suppose we declare the following injected field:"
+msgstr ""
+"L'annotazione predefinita di binding <literal>@New</literal> consente la "
+"definizione<emphasis>implicita</emphasis> di un Web Bean dipendente in un "
+"punti di iniezione. Si supponga di dichiarare il seguentecampo iniettato:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:254
+#: scopescontexts.xml:253
 #, no-c-format
 msgid "<![CDATA[@New Calculator calculator;]]>"
 msgstr "<![CDATA[@New Calculator calculator;]]>"
 
 #. Tag: para
-#: scopescontexts.xml:256
+#: scopescontexts.xml:255
 #, no-c-format
-msgid "Then a Web Bean with scope <literal>@Dependent</literal>, binding type <literal>@New</literal>, API type <literal>Calculator</literal>, implementation class <literal>Calculator</literal> and deployment type <literal>@Standard</literal> is implicitly defined."
-msgstr "Allora viene implicitamente definito il Web Bean con scope <literal>@Dependent</literal>, tipo di binding  <literal>@New</literal>, tipo di API <literal>Calculator</literal>, classe di implementazione <literal>Calculator</literal> e tipo di deploy <literal>@Standard</literal>."
+msgid ""
+"Then a Web Bean with scope <literal>@Dependent</literal>, binding type "
+"<literal>@New</literal>, API type <literal>Calculator</literal>, "
+"implementation class <literal>Calculator</literal> and deployment type "
+"<literal>@Standard</literal> is implicitly defined."
+msgstr ""
+"Allora viene implicitamente definito il Web Bean con scope "
+"<literal>@Dependent</literal>, tipo di binding  <literal>@New</literal>, "
+"tipo di API <literal>Calculator</literal>, classe di implementazione "
+"<literal>Calculator</literal> e tipo di deploy <literal>@Standard</literal>."
 
 #. Tag: para
-#: scopescontexts.xml:261
+#: scopescontexts.xml:260
 #, no-c-format
-msgid "This is true even if <literal>Calculator</literal> is <emphasis>already</emphasis> declared with a different scope type, for example:"
-msgstr "Questo è vero se <literal>Calculator</literal> è <emphasis>già</emphasis> dichiarato con un tipo di scope differente, per esempio:"
+msgid ""
+"This is true even if <literal>Calculator</literal> is <emphasis>already</"
+"emphasis> declared with a different scope type, for example:"
+msgstr ""
+"Questo è vero se <literal>Calculator</literal> è <emphasis>già</emphasis> "
+"dichiarato con un tipo di scope differente, per esempio:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:264
+#: scopescontexts.xml:263
 #, no-c-format
 msgid ""
 "<![CDATA[@ConversationScoped\n"
@@ -480,13 +690,17 @@
 "public class Calculator { ... }]]>"
 
 #. Tag: para
-#: scopescontexts.xml:266
+#: scopescontexts.xml:265
 #, no-c-format
-msgid "So the following injected attributes each get a different instance of <literal>Calculator</literal>:"
-msgstr "Quindi i seguenti attributi iniettati ricevono ciascuno un'istanza di <literal>Calculator</literal>:"
+msgid ""
+"So the following injected attributes each get a different instance of "
+"<literal>Calculator</literal>:"
+msgstr ""
+"Quindi i seguenti attributi iniettati ricevono ciascuno un'istanza di "
+"<literal>Calculator</literal>:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:269
+#: scopescontexts.xml:268
 #, no-c-format
 msgid ""
 "<![CDATA[public class PaymentCalc {\n"
@@ -504,14 +718,26 @@
 "}]]>"
 
 #. Tag: para
-#: scopescontexts.xml:271
+#: scopescontexts.xml:270
 #, no-c-format
-msgid "The <literal>calculator</literal> field has a conversation-scoped instance of <literal>Calculator</literal> injected. The <literal>newCalculator</literal> field has a new instance of <literal>Calculator</literal> injected, with a lifecycle that is bound to the owning <literal>PaymentCalc</literal>."
-msgstr "Il campo <literal>calculator</literal> ha iniettata un'istanza con scope conversazionale di <literal>Calculator</literal>. Il campo <literal>newCalculator</literal> ha iniettata un nuova istanza di <literal>Calculator</literal>, con ciclo di vita che è legato a <literal>PaymentCalc</literal>."
+msgid ""
+"The <literal>calculator</literal> field has a conversation-scoped instance "
+"of <literal>Calculator</literal> injected. The <literal>newCalculator</"
+"literal> field has a new instance of <literal>Calculator</literal> injected, "
+"with a lifecycle that is bound to the owning <literal>PaymentCalc</literal>."
+msgstr ""
+"Il campo <literal>calculator</literal> ha iniettata un'istanza con scope "
+"conversazionale di <literal>Calculator</literal>. Il campo "
+"<literal>newCalculator</literal> ha iniettata un nuova istanza di "
+"<literal>Calculator</literal>, con ciclo di vita che è legato a "
+"<literal>PaymentCalc</literal>."
 
 #. Tag: para
-#: scopescontexts.xml:276
+#: scopescontexts.xml:275
 #, no-c-format
-msgid "This feature is particularly useful with producer methods, as we'll see in the next chapter."
-msgstr "Questa caratteristica è particolarmente utile con i metodi produttori, come si vedrà nel prossimo capitolo."
-
+msgid ""
+"This feature is particularly useful with producer methods, as we'll see in "
+"the next chapter."
+msgstr ""
+"Questa caratteristica è particolarmente utile con i metodi produttori, come "
+"si vedrà nel prossimo capitolo."

Added: doc/trunk/reference/it-IT/viewlayers.po
===================================================================
--- doc/trunk/reference/it-IT/viewlayers.po	                        (rev 0)
+++ doc/trunk/reference/it-IT/viewlayers.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,160 @@
+# Language it-IT translations for Web_Beans:_Java_Contexts_and_Dependency_Injection package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2009-04-19 20:36+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: viewlayers.xml:4
+#, no-c-format
+msgid "Alternative view layers"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:7
+#, no-c-format
+msgid "Using Web Beans with Wicket"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:10
+#, no-c-format
+msgid "The <literal>WebApplication</literal> class"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:12
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass; Web Beans provides, for your utility, a subclass of this which "
+"sets up the Wicket/JSR-299 integration. You should subclass <literal>org."
+"jboss.webbeans.wicket.WebBeansApplication</literal>."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:21
+#, no-c-format
+msgid ""
+"If you would prefer not to subclass <literal>WebBeansApplication</literal>, "
+"you can manually add a (small!) number of overrides and listeners to your "
+"own <literal>WebApplication</literal> subclass. The javadocs of "
+"<literal>WebBeansApplication</literal>detail this."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:30
+#, no-c-format
+msgid "For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: viewlayers.xml:33
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:37
+#, no-c-format
+msgid "Conversations with Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:38
+#, no-c-format
+msgid ""
+"The conversation scope can be used in Web Beans with the Apache Wicket web "
+"framework, through the <literal>webbeans-wicket</literal> module. This "
+"module takes care of:"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:45
+#, no-c-format
+msgid ""
+"Setting up the conversation context at the beginning of a Wicket request, "
+"and tearing it down afterwards"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:51
+#, no-c-format
+msgid ""
+"Storing the id of any long-running conversation in Wicket's metadata when "
+"the page response is complete"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:57
+#, no-c-format
+msgid ""
+"Activating the correct long-running conversation based upon which page is "
+"being accessed"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:63
+#, no-c-format
+msgid ""
+"Propagating the conversation context for any long-running conversation to "
+"new pages"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:70
+#, no-c-format
+msgid "Starting and stopping conversations in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:71
+#, no-c-format
+msgid ""
+"As JSF applications, a conversation <emphasis>always</emphasis> exists for "
+"any request, but its lifetime is only that of the current request unless it "
+"is marked as <emphasis>long-running</emphasis>. For Wicket applications this "
+"is accomplished as in JSF applications, by injecting the <literal>@Current "
+"Conversation</literal> and then invoking <literal>conversation.begin()</"
+"literal>. Likewise, conversations are ended with <literal>conversation.end()"
+"</literal>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:85
+#, no-c-format
+msgid "Long running conversation propagation in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:86
+#, no-c-format
+msgid ""
+"When a conversation is marked as long-running, the id of that conversation "
+"will be stored in Wicket's metadata for the current page. If a new page is "
+"created and set as the response target through <literal>setResponsePage</"
+"literal>, this new page will also participate in this conversation. This "
+"occurs for both directly instantiated pages (<literal>setResponsePage(new "
+"OtherPage())</literal>), as well as for bookmarkable pages created with "
+"<literal>setResponsePage(OtherPage.class)</literal> where <literal>OtherPage."
+"class</literal> is mounted as bookmarkable from your "
+"<literal>WebApplication</literal> subclass (or through annotations). In the "
+"latter case, because the new page instance is not created until after a "
+"redirect, the conversation id will be propagated through a request "
+"parameter, and then stored in page metadata after the redirect."
+msgstr ""

Modified: doc/trunk/reference/ja-JP/environments.po
===================================================================
--- doc/trunk/reference/ja-JP/environments.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/ja-JP/environments.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 "Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
 "VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-28 17:09+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -96,13 +96,15 @@
 #. Tag: title
 #: environments.xml:53
 #, no-c-format
-msgid "Tomcat (or any plain Servlet container)"
+msgid "Servlet Containers (such as Tomcat or Jetty)"
 msgstr ""
 
 #. Tag: para
 #: environments.xml:55
 #, no-c-format
-msgid "Web Beans can be used in Tomcat 6.0."
+msgid ""
+"Web Beans can be used in any Servlet container such as Tomcat 6.0 or Jetty "
+"6.1."
 msgstr ""
 
 #. Tag: para
@@ -111,17 +113,18 @@
 msgid ""
 "Web Beans doesn't support deploying session beans, injection using "
 "<literal>@EJB</literal>, or <literal>@PersistenceContext</literal> or using "
-"transactional events on Tomcat."
+"transactional events in Servlet containers."
 msgstr ""
 
 #. Tag: para
 #: environments.xml:66
 #, no-c-format
 msgid ""
-"Web Beans should be used as a web application library in Tomcat. You should "
-"place <literal>webbeans-tomcat.jar</literal> in <literal>WEB-INF/lib</"
-"literal>. <literal>webbeans-tomcat.jar</literal> is an \"uber-jar\" provided "
-"for your convenience. Instead, you could use its component jars:"
+"Web Beans should be used as a web application library in a servlet "
+"container. You should place <literal>webbeans-servlet.jar</literal> in "
+"<literal>WEB-INF/lib</literal>. <literal>webbeans-serv;et.jar</literal> is "
+"an \"uber-jar\" provided for your convenience. Instead, you could use its "
+"component jars:"
 msgstr ""
 
 #. Tag: literal
@@ -157,7 +160,7 @@
 #. Tag: literal
 #: environments.xml:102
 #, no-c-format
-msgid "webbeans-tomcat-int.jar"
+msgid "webbeans-servlet-int.jar"
 msgstr ""
 
 #. Tag: literal
@@ -176,9 +179,9 @@
 #: environments.xml:117
 #, no-c-format
 msgid ""
-"You also need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control its interaction with requests) in <literal>web."
-"xml</literal>:"
+"You also need to explicitly specify the servlet listener (used to boot Web "
+"Beans, and control its interaction with requests) in <literal>web.xml</"
+"literal>:"
 msgstr ""
 
 #. Tag: programlisting
@@ -191,8 +194,14 @@
 "</listener>]]>"
 msgstr ""
 
+#. Tag: title
+#: environments.xml:126
+#, no-c-format
+msgid "Tomcat"
+msgstr ""
+
 #. Tag: para
-#: environments.xml:125
+#: environments.xml:128
 #, no-c-format
 msgid ""
 "Tomcat has a read-only JNDI, so Web Beans can't automatically bind the "
@@ -201,7 +210,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:131
+#: environments.xml:134
 #, no-c-format
 msgid ""
 "<![CDATA[<Resource name=\"app/Manager\" \n"
@@ -212,7 +221,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:133
+#: environments.xml:136
 #, no-c-format
 msgid ""
 "and make it available to your deployment by adding this to <literal>web.xml</"
@@ -220,7 +229,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:138
+#: environments.xml:141
 #, no-c-format
 msgid ""
 "<![CDATA[<resource-env-ref>\n"
@@ -234,7 +243,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:140
+#: environments.xml:143
 #, no-c-format
 msgid ""
 "Tomcat only allows you to bind entries to <literal>java:comp/env</literal>, "
@@ -243,7 +252,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:146
+#: environments.xml:149
 #, no-c-format
 msgid ""
 "Web Beans also supports Servlet injection in Tomcat. To enable this, place "
@@ -253,7 +262,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:153
+#: environments.xml:156
 #, no-c-format
 msgid ""
 "<![CDATA[<Listener className=\"org.jboss.webbeans.environment.tomcat."
@@ -261,13 +270,13 @@
 msgstr ""
 
 #. Tag: title
-#: environments.xml:158
+#: environments.xml:163
 #, no-c-format
 msgid "Java SE"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:160
+#: environments.xml:165
 #, no-c-format
 msgid ""
 "Apart from improved integration of the Enterprise Java stack, Web Beans also "
@@ -279,7 +288,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:168
+#: environments.xml:173
 #, no-c-format
 msgid ""
 "When executing in the SE environment the following features of Web Beans are "
@@ -287,61 +296,49 @@
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:174
+#: environments.xml:179
 #, no-c-format
 msgid "Simple Web Beans (POJOs)"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:179
+#: environments.xml:184
 #, no-c-format
 msgid "Typesafe Dependency Injection"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:184
+#: environments.xml:189
 #, no-c-format
 msgid "Application and Dependent Contexts"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:189
+#: environments.xml:194
 #, no-c-format
 msgid "Binding Types"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:194
+#: environments.xml:199
 #, no-c-format
 msgid "Stereotypes"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:199
-#, no-c-format
-msgid "Decorators"
-msgstr ""
-
-#. Tag: literal
 #: environments.xml:204
 #, no-c-format
-msgid "(TODO: Interceptors ?)"
-msgstr ""
-
-#. Tag: literal
-#: environments.xml:209
-#, no-c-format
 msgid "Typesafe Event Model"
 msgstr ""
 
 #. Tag: title
-#: environments.xml:215
+#: environments.xml:210
 #, no-c-format
 msgid "Web Beans SE Module"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:217
+#: environments.xml:212
 #, no-c-format
 msgid ""
 "To make life easy for developers Web Beans provides a special module with a "
@@ -354,7 +351,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:226
+#: environments.xml:221
 #, no-c-format
 msgid ""
 "<![CDATA[@Parameters List<String> params;\n"
@@ -363,13 +360,13 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:227
+#: environments.xml:222
 #, no-c-format
 msgid "Here's an example of a simple Web Beans SE application:"
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:231
+#: environments.xml:226
 #, no-c-format
 msgid ""
 "<![CDATA[@ApplicationScoped\n"
@@ -385,20 +382,20 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:233
+#: environments.xml:228
 #, no-c-format
 msgid ""
 "Web Beans SE applications are started by running the following main method."
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:235
+#: environments.xml:230
 #, no-c-format
 msgid "<![CDATA[java org.jboss.webbeans.environments.se.StartMain <args>]]>"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:237
+#: environments.xml:232
 #, no-c-format
 msgid ""
 "If you need to do any custom initialization of the Web Beans manager, for "
@@ -408,7 +405,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:242
+#: environments.xml:237
 #, no-c-format
 msgid ""
 "<![CDATA[public class PerformSetup\n"
@@ -422,7 +419,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:246
+#: environments.xml:240
 #, no-c-format
 msgid ""
 "The command line parameters do not become available for injection until the "

Modified: doc/trunk/reference/ja-JP/extensions.po
===================================================================
--- doc/trunk/reference/ja-JP/extensions.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/ja-JP/extensions.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -3,9 +3,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
+"VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-03-28 17:09+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-28 17:09+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -33,13 +34,68 @@
 msgstr ""
 
 #. Tag: para
-#: extensions.xml:17 extensions.xml:26
+#: extensions.xml:17
 #, no-c-format
-msgid "TODO"
+msgid ""
+"Adding logging to your application is now even easier with simple injection "
+"of a logger object into any JSR-299 bean. Simply annotate a org.jboss."
+"webbeans.log.Log type member with <emphasis>@Logger</emphasis> and an "
+"appropriate logger object will be injected into any instance of the bean."
 msgstr ""
 
-#. Tag: title
-#: extensions.xml:24
+#. Tag: programlisting
+#: extensions.xml:25
 #, no-c-format
-msgid "XSD Generator for JSR-299 XML deployment descriptors"
+msgid ""
+"<![CDATA[public class Checkout {\n"
+"    import org.jboss.webbeans.annotation.Logger;\n"
+"    import org.jboss.webbeans.log.Log;\n"
+"    \n"
+"    @Logger\n"
+"    private Log log;\n"
+"\n"
+"    void invoiceItems() {\n"
+"        ShoppingCart cart;\n"
+"        . . .\n"
+"        log.debug(\"Items invoiced for {0}\", cart);\n"
+"    }\n"
+"    \n"
+"}]]>"
 msgstr ""
+
+#. Tag: para
+#: extensions.xml:27
+#, no-c-format
+msgid ""
+"The example shows how objects can be interpolated into a message. This "
+"interpolation is done using <emphasis>java.text.MessageFormat</emphasis>, so "
+"see the JavaDoc for that class for more details. In this case, the "
+"ShoppingCart should have implemented the <emphasis>toString()</emphasis> "
+"method to produce a human readable value that is meaningful in messages. "
+"Normally, this call would have involved evaluating cart.toString() with "
+"String concatenation to produce a single String argument. Thus it was "
+"necessary to surround the call with an if-statement using the condition "
+"<emphasis>log.isDebugEnabled()</emphasis> to avoid the expensive String "
+"concatenation if the message was not actually going to be used. However, "
+"when using @Logger injected logging, the conditional test can be left out "
+"since the object arguments are not evaluated unless the message is going to "
+"be logged."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:44
+#, no-c-format
+msgid ""
+"You can add the Web Beans Logger to your project by including webbeans-"
+"logger.jar and webbeans-logging.jar to your project. Alternatively, express "
+"a dependency on the <literal>org.jboss.webbeans:webbeans-logger</literal> "
+"Maven artifact."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:51
+#, no-c-format
+msgid ""
+"If you are using Web Beans as your JSR-299 implementation, there is no need "
+"to include <literal>webbeans-logging.jar</literal> as it's already included."
+msgstr ""

Copied: doc/trunk/reference/ja-JP/gettingstarted.po (from rev 2516, doc/trunk/reference/ja-JP/ri.po)
===================================================================
--- doc/trunk/reference/ja-JP/gettingstarted.po	                        (rev 0)
+++ doc/trunk/reference/ja-JP/gettingstarted.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,1733 @@
+# Language ja-JP translations for master.xml package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: master.xml \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2008-12-19 20:26+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: gettingstarted.xml:4
+#, no-c-format
+msgid "Getting started with Web Beans, the Reference Implementation of JSR-299"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:6
+#, no-c-format
+msgid ""
+"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
+"WebBeans\">the Seam project</ulink>. You can download the latest developer "
+"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
+"\">the downloads page</ulink>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:13
+#, no-c-format
+msgid ""
+"Web Beans comes with a two deployable example applications: "
+"<literal>webbeans-numberguess</literal>, a war example, containing only "
+"simple beans, and <literal>webbeans-translator</literal> an ear example, "
+"containing enterprise beans. There are also two variations on the "
+"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
+"and the jsf2 example, which you can use if you are running JSF2. To run the "
+"examples you'll need the following:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:25
+#, no-c-format
+msgid "the latest release of Web Beans,"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:28
+#, no-c-format
+msgid "JBoss AS 5.0.1.GA, or"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:31
+#, no-c-format
+msgid "Apache Tomcat 6.0.x, and"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:34
+#, no-c-format
+msgid "Ant 1.7.0."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:39
+#, no-c-format
+msgid "Using JBoss AS 5"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:41
+#, no-c-format
+msgid ""
+"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
+"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:47
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.1.GA.zip]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:49 gettingstarted.xml:170
+#, no-c-format
+msgid ""
+"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
+"\">seamframework.org</ulink>, and unzip it. For example"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:55 gettingstarted.xml:176
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-$VERSION.zip]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:58
+#, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>jboss.home</literal> "
+"property. For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:64
+#, no-c-format
+msgid "jboss.home=/Applications/jboss-5.0.1.GA"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:66
+#, no-c-format
+msgid ""
+"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
+"<literal>ANT_HOME</literal> environment variable set. For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:71
+#, no-c-format
+msgid ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:73
+#, no-c-format
+msgid ""
+"Then, you can install the update. The update script will use Maven to "
+"download Web Beans automatically."
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:78
+#, no-c-format
+msgid ""
+"$ cd webbeans-$VERSION/jboss-as\n"
+"$ ant update"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:80
+#, no-c-format
+msgid "Now, you're ready to deploy your first example!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:85
+#, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for JBoss AS, "
+"these are:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:91
+#, no-c-format
+msgid "<literal>ant restart</literal> - deploy the example in exploded format"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:97
+#, no-c-format
+msgid ""
+"<literal>ant explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:103
+#, no-c-format
+msgid ""
+"<literal>ant deploy</literal> - deploy the example in compressed jar format"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:108
+#, no-c-format
+msgid "<literal>ant undeploy</literal> - remove the example from the server"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:113
+#, no-c-format
+msgid "<literal>ant clean</literal> - clean the example"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:120
+#, no-c-format
+msgid "To deploy the numberguess example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:124
+#, no-c-format
+msgid ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:126
+#, no-c-format
+msgid "Start JBoss AS:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:130
+#, no-c-format
+msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:133
+#, no-c-format
+msgid "If you use Windows, use the <literal>run.bat</literal>script."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:138 gettingstarted.xml:240
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
+"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:143
+#, no-c-format
+msgid ""
+"Web Beans includes a second simple example that will translate your text "
+"into Latin. The numberguess example is a war example, and uses only simple "
+"beans; the translator example is an ear example, and includes enterprise "
+"beans, packaged in an EJB module. To try it out:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:150
+#, no-c-format
+msgid ""
+"$ cd examples/translator\n"
+"ant deploy"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:152
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and visit <ulink url=\"http://"
+"localhost:8080/webbeans-translator\"></ulink>!"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:160
+#, no-c-format
+msgid "Using Apache Tomcat 6.0"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:162
+#, no-c-format
+msgid ""
+"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
+"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
+"For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:168
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:178
+#, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
+"property. For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:184
+#, no-c-format
+msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:187
+#, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for Tomcat, "
+"these are:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:193
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:199
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:205
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
+"format"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:210
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:215
+#, no-c-format
+msgid "<literal>ant tomcat.clean</literal> - clean the example"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:222
+#, no-c-format
+msgid "To deploy the numberguess example for tomcat:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:226
+#, no-c-format
+msgid ""
+"$ cd examples/tomcat\n"
+"ant tomcat.deploy"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:228
+#, no-c-format
+msgid "Start Tomcat:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:232
+#, no-c-format
+msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:235
+#, no-c-format
+msgid "If you use Windows, use the <literal>startup.bat</literal>script."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:248
+#, no-c-format
+msgid "Using GlassFish"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:250
+#, no-c-format
+msgid "TODO"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:254
+#, no-c-format
+msgid "The numberguess example"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:256
+#, no-c-format
+msgid ""
+"In the numberguess application you get given 10 attempts to guess a number "
+"between 1 and 100. After each attempt, you will be told whether you are too "
+"high, or too low."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:262
+#, no-c-format
+msgid ""
+"The numberguess example is comprised of a number of Web Beans, configuration "
+"files, and Facelet JSF pages, packaged as a war. Let's start with the "
+"configuration files."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:268
+#, no-c-format
+msgid ""
+"All the configuration files for this example are located in <literal>WEB-INF/"
+"</literal>, which is stored in <literal>WebContent</literal> in the source "
+"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
+"JSF to use Facelets:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:276
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:278
+#, no-c-format
+msgid ""
+"There is an empty <literal>web-beans.xml</literal> file, which marks this "
+"application as a Web Beans application."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:283
+#, no-c-format
+msgid "Finally there is <literal>web.xml</literal>:"
+msgstr ""
+
+#. Tag: section
+#: gettingstarted.xml:285
+#, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
+"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
+"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
+"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
+"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
+"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
+"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
+"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
+"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
+"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
+"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
+"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
+"session timeout of 10 minutes </para> </callout> </calloutlist> </"
+"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
+"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
+"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
+"id=\"template\" coords=\"8\"/> <area id=\"messages2\" coords=\"12\"/> <area "
+"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
+"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
+"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
+"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
+"dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
+"number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
+"number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game."
+"biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
+"{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
+"<para> Facelets is a templating language for JSF, here we are wrapping our "
+"page in a template which defines the header. </para> </callout> <callout "
+"arearefs=\"messages2\"> <para> There are a number of messages which can be "
+"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
+"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
+"range of numbers they can guess gets smaller - this sentance changes to make "
+"sure they know what range to guess in. </para> </callout> <callout arearefs="
+"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
+"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
+"range validator is used to make sure the user doesn't accidentally input a "
+"number outside of the range in which they can guess - if the validator "
+"wasn't here, the user might use up a guess on an out of range number. </"
+"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
+"must be a way for the user to send their guess to the server. Here we bind "
+"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
+"programlistingco>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:387
+#, no-c-format
+msgid ""
+"The example exists of 4 classes, the first two of which are binding types. "
+"First, there is the <literal>@Random</literal> binding type, used for "
+"injecting a random number:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:393
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:395
+#, no-c-format
+msgid ""
+"There is also the <literal>@MaxNumber</literal> binding type, used for "
+"injecting the maximum number that can be injected:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:400
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:402
+#, no-c-format
+msgid ""
+"The <literal>Generator</literal> class is responsible for creating the "
+"random number, via a producer method. It also exposes the maximum possible "
+"number via a producer method:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:408
+#, no-c-format
+msgid ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System."
+"currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:410
+#, no-c-format
+msgid ""
+"You'll notice that the <literal>Generator</literal> is application scoped; "
+"therefore we don't get a different random each time."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:415
+#, no-c-format
+msgid ""
+"The final Web Bean in the application is the session scoped <literal>Game</"
+"literal>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:420
+#, no-c-format
+msgid ""
+"You'll note that we've used the <literal>@Named</literal> annotation, so "
+"that we can use the bean through EL in the JSF page. Finally, we've used "
+"constructor injection to initialize the game with a random number. And of "
+"course, we need to tell the player when they've won, so we give feedback "
+"with a <literal>FacesMessage</literal>."
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:428
+#, no-c-format
+msgid ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
+"(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new "
+"AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:431
+#, no-c-format
+msgid "The numberguess example in Tomcat"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:433
+#, no-c-format
+msgid ""
+"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
+"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
+"literal>. For your convenience we provide a single jar suitable for running "
+"Web Beans in any servlet container <literal>webbeans-servlet.jar</literal>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:442
+#, no-c-format
+msgid ""
+"Of course, you must also include JSF and EL, as well common annotations "
+"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:449
+#, no-c-format
+msgid ""
+"Secondly, we need to explicitly specify the servlet listener (used to boot "
+"Web Beans, and control it's interaction with requests) in <literal>web.xml</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:455
+#, no-c-format
+msgid ""
+"<![CDATA[<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:460
+#, no-c-format
+msgid "The numberguess example for Apache Wicket"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:461
+#, no-c-format
+msgid ""
+"Whilst JSR-299 specifies integration with Java ServerFaces, Web Beans allows "
+"you to inject into Wicket components, and also allows you to use a "
+"conversation context with Wicket. In this section, we'll walk you through "
+"the Wicket version of the numberguess example."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:470
+#, no-c-format
+msgid ""
+"You may want to review the Wicket documentation at <ulink url=\"http://"
+"wicket.apache.org/\">http://wicket.apache.org/</ulink>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:476
+#, no-c-format
+msgid ""
+"Like the previous example, the Wicket WebBeans examples make use of the "
+"<literal>webbeans-servlet</literal> module. The use of the <ulink url="
+"\"http://jetty.mortbay.org/\">Jetty servlet container</ulink> is common in "
+"the Wicket community, and is chosen here as the runtime container in order "
+"to facilitate comparison between the standard Wicket examples and these "
+"examples, and also to show how the webbeans-servlet integration is not "
+"dependent upon Tomcat as the servlet container."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:487
+#, no-c-format
+msgid ""
+"These examples make use of the Eclipse IDE; instructions are also given to "
+"deploy the application from the command line."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:493
+#, no-c-format
+msgid "Creating the Eclipse project"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:495
+#, no-c-format
+msgid "To generate an Eclipse project from the example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:499
+#, no-c-format
+msgid ""
+"<![CDATA[cd examples/wicket/numberguess\n"
+"mvn eclipse:eclipse]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:501
+#, no-c-format
+msgid ""
+"Then, from eclipse, choose <emphasis>File -> Import -> General -> Existing "
+"Projects into Workspace</emphasis>, select the root directory of the "
+"numberguess example, and click finish. This will create a project in your "
+"workspace called <literal>webbeans-wicket-numberguess</literal>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:516
+#, no-c-format
+msgid "Running the example from Eclipse"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:518
+#, no-c-format
+msgid ""
+"This project follows the <literal>wicket-quickstart</literal> approach of "
+"creating an instance of Jetty in the <literal>Start</literal> class. So "
+"running the example is as simple as right-clicking on that Start class in "
+"<literal>src/test/java</literal> in the <emphasis>Package Explorer</"
+"emphasis> and choosing <emphasis>Run as Java Application</emphasis>. You "
+"should see console output related to Jetty starting up; then visit able "
+"<literal>http://localhost:8080</literal> to view the app. To debug choose "
+"<emphasis>Debug as Java Application</emphasis>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:533
+#, no-c-format
+msgid "Running the example from the command line in JBoss AS or Tomcat"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:535
+#, no-c-format
+msgid ""
+"This example can also be deployed from the command line in a (similar to the "
+"other examples). Assuming you have set up the <literal>build.properties</"
+"literal> file in the <literal>examples</literal> directory to specify the "
+"location of JBoss AS or Tomcat, as previously described, you can run "
+"<literal>ant deploy</literal> from the <literal>examples/wicket/numberguess</"
+"literal> directory, and access the application at <literal>http://"
+"localhost:8080/webbeans-numberguess-wicket</literal>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:549
+#, no-c-format
+msgid "Understanding the code"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:551
+#, no-c-format
+msgid ""
+"JSF uses Unified EL expressions to bind view layer components in JSP or "
+"Facelet views to beans, Wicket defines it's components in Java. The markup "
+"is plain html with a one-to-one mapping between html elements and the view "
+"components. All view logic, including binding of components to models and "
+"controlling the response of view actions, is handled in Java. The "
+"integration of Web Beans with Wicket takes advantage of the same binding "
+"annotations used in your business layer to provide injection into your "
+"WebPage subclass (or into other custom wicket component subclasses)."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:563
+#, no-c-format
+msgid ""
+"The code in the wicket numberguess example is very similar to the JSF-based "
+"numberguess example. The business layer is identical!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:568
+#, no-c-format
+msgid "Differences are:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:573
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass, In our case, our application class is <literal>SampleApplication</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:579
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:580
+#, no-c-format
+msgid ""
+"This class specifies which page wicket should treat as our home page, in our "
+"case, <literal>HomePage.class</literal>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:586
+#, no-c-format
+msgid ""
+"In <literal>HomePage</literal> we see typical wicket code to set up page "
+"elements. The bit that is interesting is the injection of the <literal>Game</"
+"literal> bean:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:592
+#, no-c-format
+msgid "<![CDATA[ @Current Game game;]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:594
+#, no-c-format
+msgid ""
+"The <literal>Game</literal> bean is can then be used, for example, by the "
+"code for submitting a guess:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:599
+#, no-c-format
+msgid ""
+"<![CDATA[final Component guessButton = new AjaxButton(\"GuessButton\") { \n"
+"   protected void onSubmit(AjaxRequestTarget target, Form form) {\n"
+"      if (game.check()) {]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:602
+#, no-c-format
+msgid ""
+"All injections may be serialized; actual storage of the bean is managed by "
+"JSR-299. Note that Wicket components, like the HomePage and it "
+"subcomponents, are <emphasis>not</emphasis> JSR-299 beans."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:608
+#, no-c-format
+msgid ""
+"Wicket components allow injection, but they <emphasis>cannot</emphasis> use "
+"interceptors, decorators and lifecycle callbacks such as "
+"<literal>@PostConstruct</literal> or <literal>@Initializer</literal> methods."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:618
+#, no-c-format
+msgid ""
+"The example uses AJAX for processing of button events, and dynamically hides "
+"buttons that are no longer relevant, for example when the user has won the "
+"game."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:626
+#, no-c-format
+msgid ""
+"In order to activate wicket for this webapp, the Wicket filter is added to "
+"web.xml, and our application class is specified:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:631
+#, no-c-format
+msgid ""
+"<![CDATA[<filter>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-"
+"class>\n"
+"   <init-param>\n"
+"      <param-name>applicationClassName</param-name>\n"
+"      <param-value>org.jboss.webbeans.examples.wicket.SampleApplication</"
+"param-value>\n"
+"   </init-param>\n"
+"</filter>\n"
+"\n"
+"<filter-mapping>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <url-pattern>/*</url-pattern>\n"
+"</filter-mapping>\n"
+" \n"
+"<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:632
+#, no-c-format
+msgid ""
+"Note that the servlet listener is also added, as in the Tomcat example, in "
+"order to boostrap Web Beans when Jetty starts, and to hook Web Beans into "
+"the Jetty servlet request and session lifecycles."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:645
+#, no-c-format
+msgid "The numberguess example for Java SE with Swing"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:647
+#, no-c-format
+msgid ""
+"This example can be found in the <literal>examples/se/numberguess</literal> "
+"folder of the Web Beans distribution."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:654
+#, no-c-format
+msgid "To run this example:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:660
+#, no-c-format
+msgid ""
+"Open a command line/terminal window in the <literal>examples/se/numberguess</"
+"literal> directory"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:666
+#, no-c-format
+msgid "Ensure that Maven 2 is installed and in your PATH"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:671
+#, no-c-format
+msgid ""
+"Ensure that the <literal>JAVA_HOME</literal> environment variable is "
+"pointing to your JDK installation"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:677
+#, no-c-format
+msgid "execute the following command"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:680
+#, no-c-format
+msgid "mvn -Drun"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:686
+#, no-c-format
+msgid ""
+"There is an empty <literal>beans.xml</literal> file in the root package "
+"(<literal>src/main/resources/beans.xml</literal>), which marks this "
+"application as a Web Beans application."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:692
+#, no-c-format
+msgid ""
+"The game's main logic is located in <literal>Game.java</literal>. Here is "
+"the code for that class, highlighting the changes made from the web "
+"application version:"
+msgstr ""
+
+#. Tag: section
+#: gettingstarted.xml:696
+#, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"scope\" coords=\"1\"/> <area id="
+"\"name\" coords=\"1\"/> <area id=\"messages1\" coords=\"26\"/> <area id="
+"\"validation\" coords=\"39\"/> <area id=\"reset\" coords=\"68\"/> </"
+"areaspec> <programlisting role=\"JAVA\"><![CDATA[@ApplicationScoped\n"
+"public class Game implements Serializable\n"
+"{\n"
+"\n"
+"    private int number;\n"
+"    private int guess;\n"
+"    private int smallest;\n"
+"\n"
+"    @MaxNumber\n"
+"    private int maxNumber;\n"
+"\n"
+"    private int biggest;\n"
+"    private int remainingGuesses;\n"
+"    private boolean validNumberRange = true;\n"
+"\n"
+"    @Current Generator rndGenerator;\n"
+"\n"
+"    ...\n"
+"\n"
+"    public boolean isValidNumberRange()\n"
+"    {\n"
+"        return validNumberRange;\n"
+"    }\n"
+"\n"
+"    public boolean isGameWon()\n"
+"    {\n"
+"        return guess == number;\n"
+"    }\n"
+"\n"
+"    public boolean isGameLost()\n"
+"    {\n"
+"        return guess != number && remainingGuesses <= 0;\n"
+"    }\n"
+"\n"
+"    public boolean check()\n"
+"    {\n"
+"        boolean result = false;\n"
+"\n"
+"        if ( checkNewNumberRangeIsValid() )\n"
+"        {\n"
+"            if ( guess > number )\n"
+"            {\n"
+"                biggest = guess - 1;\n"
+"            }\n"
+"\n"
+"            if ( guess < number )\n"
+"            {\n"
+"                smallest = guess + 1;\n"
+"            }\n"
+"\n"
+"            if ( guess == number )\n"
+"            {\n"
+"                result = true;\n"
+"            }\n"
+"\n"
+"            remainingGuesses--;\n"
+"        }\n"
+"\n"
+"        return result;\n"
+"    }\n"
+"\n"
+"    private boolean checkNewNumberRangeIsValid()\n"
+"    {\n"
+"        return validNumberRange = ( ( guess >= smallest ) && ( guess <= "
+"biggest ) );\n"
+"    }\n"
+"\n"
+"    @PostConstruct\n"
+"    public void reset()\n"
+"    {\n"
+"        this.smallest = 0;\n"
+"        ...\n"
+"        this.number = rndGenerator.next();\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"scope\"> <para> The "
+"bean is application scoped instead of session scoped, since an instance of "
+"the application represents a single 'session'. </para> </callout> <callout "
+"arearefs=\"name\"> <para> The bean is not named, since it doesn't need to be "
+"accessed via EL </para> </callout> <callout arearefs=\"messages1\"> <para> "
+"There is no JSF <literal>FacesContext</literal> to add messages to. Instead "
+"the <literal>Game</literal> class provides additional information about the "
+"state of the current game including: </para> <itemizedlist> <listitem> "
+"<para> If the game has been won or lost </para> </listitem> <listitem> "
+"<para> If the most recent guess was invalid </para> </listitem> </"
+"itemizedlist> <para> This allows the Swing UI to query the state of the "
+"game, which it does indirectly via a class called <literal>MessageGenerator,"
+"</literal> in order to determine the appropriate messages to display to the "
+"user during the game. </para> </callout> <callout arearefs=\"validation\"> "
+"<para> Validation of user input is performed during the <literal>check()</"
+"literal> method, since there is no dedicated validation phase </para> </"
+"callout> <callout arearefs=\"reset\"> <para> The <literal>reset()</literal> "
+"method makes a call to the injected <literal>rndGenerator</literal> in order "
+"to get the random number at the start of each game. It cannot use "
+"<literal>manager.getInstanceByType(Integer.class, new AnnotationLiteral&lt;"
+"Random&gt;(){})</literal> as the JSF example does because there will not be "
+"any active contexts like there is during a JSF request. </para> </callout> </"
+"calloutlist> </programlistingco> <para> The <literal>MessageGenerator</"
+"literal> class depends on the current instance of <literal>Game</literal>, "
+"and queries its state in order to determine the appropriate messages to "
+"provide as the prompt for the user's next guess and the response to the "
+"previous guess. The code for <literal>MessageGenerator</literal> is as "
+"follows: </para> <programlistingco> <areaspec> <area id=\"game\" coords=\"3"
+"\"/> <area id=\"challenge\" coords=\"5\"/> <area id=\"result\" coords=\"16\"/"
+"> </areaspec> <programlisting role=\"JAVA\"><![CDATA[public class "
+"MessageGenerator\n"
+"{\n"
+"    @Current Game game;\n"
+"\n"
+"    public String getChallengeMessage()\n"
+"    {\n"
+"        StringBuilder challengeMsg = new StringBuilder( \"I'm thinking of a "
+"number between \" );\n"
+"        challengeMsg.append( game.getSmallest() );\n"
+"        challengeMsg.append( \" and \" );\n"
+"        challengeMsg.append( game.getBiggest() );\n"
+"        challengeMsg.append( \". Can you guess what it is?\" );\n"
+"\n"
+"        return challengeMsg.toString();\n"
+"    }\n"
+"\n"
+"    public String getResultMessage()\n"
+"    {\n"
+"        if ( game.isGameWon() )\n"
+"        {\n"
+"            return \"You guess it! The number was \" + game.getNumber();\n"
+"        } else if ( game.isGameLost() )\n"
+"        {\n"
+"            return \"You are fail! The number was \" + game.getNumber();\n"
+"        } else if ( ! game.isValidNumberRange() )\n"
+"        {\n"
+"            return \"Invalid number range!\";\n"
+"        } else if ( game.getRemainingGuesses() == Game.MAX_NUM_GUESSES )\n"
+"        {\n"
+"            return \"What is your first guess?\";\n"
+"        } else\n"
+"        {\n"
+"            String direction = null;\n"
+"\n"
+"            if ( game.getGuess() < game.getNumber() )\n"
+"            {\n"
+"                direction = \"Higher\";\n"
+"            } else\n"
+"            {\n"
+"                direction = \"Lower\";\n"
+"            }\n"
+"\n"
+"            return direction + \"! You have \" + game.getRemainingGuesses() "
+"+ \" guesses left.\";\n"
+"        }\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"game\"> <para> The "
+"instance of <literal>Game</literal> for the application is injected here. </"
+"para> </callout> <callout arearefs=\"challenge\"> <para> The <literal>Game</"
+"literal>'s state is interrogated to determine the appropriate challenge "
+"message. </para> </callout> <callout arearefs=\"result\"> <para> And again "
+"to determine whether to congratulate, console or encourage the user to "
+"continue. </para> </callout> </calloutlist> </programlistingco> <para> "
+"Finally we come to the <literal>NumberGuessFrame</literal> class which "
+"provides the Swing front end to our guessing game. </para> "
+"<programlistingco> <areaspec> <area id=\"gameIn\" coords=\"3\"/> <area id="
+"\"messagesIn\" coords=\"4\"/> <area id=\"start\" coords=\"6\"/> <area id="
+"\"init\" coords=\"18\"/> <area id=\"guess1\" coords=\"34\"/> <area id="
+"\"replay\" coords=\"44\"/> <area id=\"refresh\" coords=\"50\"/> </areaspec> "
+"<programlisting role=\"JAVA\"><![CDATA[public class NumberGuessFrame  "
+"extends javax.swing.JFrame\n"
+"{\n"
+"    private @Current Game game;\n"
+"    private @Current MessageGenerator msgGenerator;\n"
+"\n"
+"    public void start( @Observes @Deployed Manager manager )\n"
+"    {\n"
+"        java.awt.EventQueue.invokeLater( new Runnable()\n"
+"            {\n"
+"                public void run()\n"
+"                {\n"
+"                    initComponents();\n"
+"                    setVisible( true );\n"
+"                }\n"
+"            } );\n"
+"    }\n"
+"\n"
+"    private void initComponents() {\n"
+"\n"
+"        buttonPanel = new javax.swing.JPanel();\n"
+"        mainMsgPanel = new javax.swing.JPanel();\n"
+"        mainLabel = new javax.swing.JLabel();\n"
+"        messageLabel = new javax.swing.JLabel();\n"
+"        guessText = new javax.swing.JTextField();\n"
+"        ...\n"
+"        mainLabel.setText(msgGenerator.getChallengeMessage());\n"
+"        mainMsgPanel.add(mainLabel);\n"
+"\n"
+"        messageLabel.setText(msgGenerator.getResultMessage());\n"
+"        mainMsgPanel.add(messageLabel);\n"
+"        ...\n"
+"    }\n"
+"\n"
+"    private void guessButtonActionPerformed( java.awt.event.ActionEvent "
+"evt )\n"
+"    {\n"
+"        int guess =  Integer.parseInt(guessText.getText());\n"
+"\n"
+"        game.setGuess( guess );\n"
+"        game.check();\n"
+"        refreshUI();\n"
+"\n"
+"    }\n"
+"\n"
+"    private void replayBtnActionPerformed( java.awt.event.ActionEvent evt )\n"
+"    {\n"
+"       game.reset();\n"
+"       refreshUI();\n"
+"    }\n"
+"\n"
+"    private void refreshUI()\n"
+"    {\n"
+"        mainLabel.setText( msgGenerator.getChallengeMessage() );\n"
+"        messageLabel.setText( msgGenerator.getResultMessage() );\n"
+"        guessText.setText( \"\" );\n"
+"        guessesLeftBar.setValue( game.getRemainingGuesses() );\n"
+"        guessText.requestFocus();\n"
+"    }\n"
+"\n"
+"    // swing components\n"
+"    private javax.swing.JPanel borderPanel;\n"
+"    ...\n"
+"    private javax.swing.JButton replayBtn;\n"
+"\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"gameIn\"> <para> The "
+"injected instance of the game (logic and state). </para> </callout> <callout "
+"arearefs=\"messagesIn\"> <para> The injected message generator for UI "
+"messages. </para> </callout> <callout arearefs=\"start\"> <para> This "
+"application is started in the usual Web Beans SE way, by observing the "
+"<literal>@Deployed Manager</literal> event. </para> </callout> <callout "
+"arearefs=\"init\"> <para> This method initialises all of the Swing "
+"components. Note the use of the <literal>msgGenerator</literal>. </para> </"
+"callout> <callout arearefs=\"guess1\"> <para> "
+"<literal>guessButtonActionPerformed</literal> is called when the 'Guess' "
+"button is clicked, and it does the following: </para> <itemizedlist> "
+"<listitem> <para> Gets the guess entered by the user and sets it as the "
+"current guess in the <literal>Game</literal> </para> </listitem> <listitem> "
+"<para> Calls <literal>game.check()</literal> to validate and perform one "
+"'turn' of the game </para> </listitem> <listitem> <para> Calls "
+"<literal>refreshUI</literal>. If there were validation errors with the "
+"input, this will have been captured during <literal>game.check()</literal> "
+"and as such will be reflected in the messeges returned by "
+"<literal>MessageGenerator</literal> and subsequently presented to the user. "
+"If there are no validation errors then the user will be told to guess again "
+"(higher or lower) or that the game has ended either in a win (correct guess) "
+"or a loss (ran out of guesses). </para> </listitem> </itemizedlist> </"
+"callout> <callout arearefs=\"replay\"> <para> "
+"<literal>replayBtnActionPerformed</literal> simply calls <literal>game.reset"
+"()</literal> to start a new game and refreshes the messages in the UI. </"
+"para> </callout> <callout arearefs=\"refresh\"> <para> <literal>refreshUI</"
+"literal> uses the <literal>MessageGenerator</literal> to update the messages "
+"to the user based on the current state of the Game. </para> </callout> </"
+"calloutlist> </programlistingco>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:904
+#, no-c-format
+msgid "The translator example"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:906
+#, no-c-format
+msgid ""
+"The translator example will take any sentences you enter, and translate them "
+"to Latin."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:911
+#, no-c-format
+msgid ""
+"The translator example is built as an ear, and contains EJBs. As a result, "
+"it's structure is more complex than the numberguess example."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:917
+#, no-c-format
+msgid ""
+"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
+"this structure much simpler!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:923
+#, no-c-format
+msgid ""
+"First, let's take a look at the ear aggregator, which is located in "
+"<literal>webbeans-translator-ear</literal> module. Maven automatically "
+"generates the <literal>application.xml</literal> for us:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:929
+#, no-c-format
+msgid ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:931
+#, no-c-format
+msgid ""
+"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
+"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
+"translator</ulink>)."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:937
+#, no-c-format
+msgid ""
+"If you aren't using Maven to generate these files, you would need "
+"<literal>META-INF/application.xml</literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:942
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web "
+"Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:945
+#, no-c-format
+msgid ""
+"Next, lets look at the war. Just as in the numberguess example, we have a "
+"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
+"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:952
+#, no-c-format
+msgid ""
+"More intersting is the facelet used to translate text. Just as in the "
+"numberguess example we have a template, which surrounds the form (ommitted "
+"here for brevity):"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:958
+#, no-c-format
+msgid ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:960
+#, no-c-format
+msgid ""
+"The user can enter some text in the lefthand textarea, and hit the translate "
+"button to see the result to the right."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:965
+#, no-c-format
+msgid ""
+"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
+"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
+"empty <literal>web-beans.xml</literal>, used to mark the archive as "
+"containing Web Beans."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:973
+#, no-c-format
+msgid ""
+"We've saved the most interesting bit to last, the code! The project has two "
+"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
+"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
+"literal> and <literal>SentenceTranslator</literal>. You should be getting "
+"quite familiar with what a Web Bean looks like by now, so we'll just "
+"highlight the most interesting bits here."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:983
+#, no-c-format
+msgid ""
+"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
+"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
+"initialization:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:989
+#, no-c-format
+msgid ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator "
+"sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:991
+#, no-c-format
+msgid ""
+"<literal>TextTranslator</literal> is a stateless bean (with a local business "
+"interface), where the magic happens - of course, we couldn't develop a full "
+"translator, but we gave it a good go!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:997
+#, no-c-format
+msgid ""
+"Finally, there is UI orientated controller, that collects the text from the "
+"user, and dispatches it to the translator. This is a request scoped, named, "
+"stateful session bean, which injects the translator."
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:1003
+#, no-c-format
+msgid ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:1005
+#, no-c-format
+msgid "The bean also has getters and setters for all the fields on the page."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:1009
+#, no-c-format
+msgid "As this is a stateful session bean, we have to have a remove method:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:1013
+#, no-c-format
+msgid ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:1015
+#, no-c-format
+msgid ""
+"The Web Beans manager will call the remove method for you when the bean is "
+"destroyed; in this case at the end of the request."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:1021
+#, no-c-format
+msgid ""
+"That concludes our short tour of the Web Beans examples. For more on Web "
+"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
+"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
+"Development</ulink>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:1027
+#, no-c-format
+msgid ""
+"We need help in all areas - bug fixing, writing new features, writing "
+"examples and translating this reference guide."
+msgstr ""

Modified: doc/trunk/reference/ja-JP/producermethods.po
===================================================================
--- doc/trunk/reference/ja-JP/producermethods.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/ja-JP/producermethods.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: master.xml \n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2008-12-19 20:26+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -36,29 +36,83 @@
 msgid "According to the spec:"
 msgstr ""
 
-#. Tag: chapter
-#: producermethods.xml:12
+#. Tag: para
+#: producermethods.xml:16
 #, no-c-format
 msgid ""
-"<blockquote> <para>A Web Beans producer method acts as a source of objects "
-"to be injected, where:</para> <itemizedlist> <listitem> <para>the objects to "
-"be injected are not required to be instances of Web Beans,</para> </"
-"listitem> <listitem> <para>the concrete type of the objects to be injected "
-"may vary at runtime or</para> </listitem> <listitem> <para>the objects "
-"require some custom initialization that is not performed by the Web Bean "
-"constructor</para> </listitem> </itemizedlist> </blockquote> <para>For "
-"example, producer methods let us:</para> <itemizedlist> <listitem> "
-"<para>expose a JPA entity as a Web Bean,</para> </listitem> <listitem> "
-"<para>expose any JDK class as a Web Bean,</para> </listitem> <listitem> "
-"<para>define multiple Web Beans, with different scopes or initialization, "
-"for the same implementation class, or</para> </listitem> <listitem> "
-"<para>vary the implementation of an API type at runtime.</para> </listitem> "
-"</itemizedlist> <para>In particular, producer methods let us use runtime "
-"polymorphism with Web Beans. As we've seen, deployment types are a powerful "
-"solution to the problem of deployment-time polymorphism. But once the system "
-"is deployed, the Web Bean implementation is fixed. A producer method has no "
-"such limitation:</para> <programlisting role=\"JAVA\"><![CDATA"
-"[@SessionScoped\n"
+"A Web Beans producer method acts as a source of objects to be injected, "
+"where:"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:20
+#, no-c-format
+msgid ""
+"the objects to be injected are not required to be instances of Web Beans,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:23
+#, no-c-format
+msgid "the concrete type of the objects to be injected may vary at runtime or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:26
+#, no-c-format
+msgid ""
+"the objects require some custom initialization that is not performed by the "
+"Web Bean constructor"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:33
+#, no-c-format
+msgid "For example, producer methods let us:"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:37
+#, no-c-format
+msgid "expose a JPA entity as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:40
+#, no-c-format
+msgid "expose any JDK class as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:43
+#, no-c-format
+msgid ""
+"define multiple Web Beans, with different scopes or initialization, for the "
+"same implementation class, or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:47
+#, no-c-format
+msgid "vary the implementation of an API type at runtime."
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:51
+#, no-c-format
+msgid ""
+"In particular, producer methods let us use runtime polymorphism with Web "
+"Beans. As we've seen, deployment types are a powerful solution to the "
+"problem of deployment-time polymorphism. But once the system is deployed, "
+"the Web Bean implementation is fixed. A producer method has no such "
+"limitation:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:56
+#, no-c-format
+msgid ""
+"<![CDATA[@SessionScoped\n"
 "public class Preferences {\n"
 "    \n"
 "    private PaymentStrategyType paymentStrategy;\n"
@@ -75,15 +129,37 @@
 "        } \n"
 "    }\n"
 "    \n"
-"}]]></programlisting> <para>Consider an injection point:</para> "
-"<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
-"paymentStrat;]]></programlisting> <para>This injection point has the same "
-"type and binding annotations as the producer method, so it resolves to the "
-"producer method using the usual Web Beans injection rules. The producer "
-"method will be called by the Web Bean manager to obtain an instance to "
-"service this injection point.</para>."
+"}]]>"
 msgstr ""
 
+#. Tag: para
+#: producermethods.xml:58
+#, no-c-format
+msgid "Consider an injection point:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:60
+#, no-c-format
+msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:62
+#, no-c-format
+msgid ""
+"This injection point has the same type and binding annotations as the "
+"producer method, so it resolves to the producer method using the usual Web "
+"Beans injection rules. The producer method will be called by the Web Bean "
+"manager to obtain an instance to service this injection point."
+msgstr ""
+
+#. Tag: chapter
+#: producermethods.xml:65
+#, no-c-format
+msgid "<chapter>.</chapter>"
+msgstr ""
+
 #. Tag: title
 #: producermethods.xml:68
 #, no-c-format

Modified: doc/trunk/reference/ja-JP/ri-spi.po
===================================================================
--- doc/trunk/reference/ja-JP/ri-spi.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/ja-JP/ri-spi.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: master.xml \n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2008-12-20 22:07+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -16,127 +16,112 @@
 #. Tag: title
 #: ri-spi.xml:4
 #, no-c-format
-msgid "Integrating the Web Beans RI into other environments"
+msgid "Integrating Web Beans into other environments"
 msgstr ""
 
 #. Tag: para
 #: ri-spi.xml:6
 #, no-c-format
 msgid ""
-"Currently the Web Beans RI only runs in JBoss AS 5; integrating the RI into "
-"other EE environments (for example another application server like "
-"Glassfish), into a servlet container (like Tomcat), or with an Embedded "
-"EJB3.1 implementation is fairly easy. In this Appendix we will briefly "
-"discuss the steps needed."
+"Currently Web Beans only runs in JBoss AS 5; integrating the RI into other "
+"EE environments (for example another application server like Glassfish), "
+"into a servlet container (like Tomcat), or with an Embedded EJB3.1 "
+"implementation is fairly easy. In this Appendix we will briefly discuss the "
+"steps needed."
 msgstr ""
 
-#. Tag: para
+#. Tag: title
 #: ri-spi.xml:15
 #, no-c-format
-msgid ""
-"It should be possible to run Web Beans in an SE environment, but you'll to "
-"do more work, adding your own contexts and lifecycle. The Web Beans RI "
-"currently doesn't expose lifecycle extension points, so you would have to "
-"code directly against Web Beans RI classes."
+msgid "The Web Beans SPI"
 msgstr ""
 
-#. Tag: title
-#: ri-spi.xml:24
-#, no-c-format
-msgid "The Web Beans RI SPI"
-msgstr ""
-
 #. Tag: para
-#: ri-spi.xml:26
+#: ri-spi.xml:17
 #, no-c-format
 msgid ""
-"The Web Beans SPI is located in <literal>webbeans-spi</literal> module, and "
-"packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, if "
-"you need to override the default behavior, others are required."
+"The Web Beans SPI is located in the <literal>webbeans-spi</literal> module, "
+"and packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, "
+"if you need to override the default behavior, others are required."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:33
+#: ri-spi.xml:24
 #, no-c-format
 msgid ""
 "All interfaces in the SPI support the decorator pattern and provide a "
-"<literal>Forwarding</literal> class."
+"<literal>Forwarding</literal> class located in the <literal>helpers</"
+"literal> sub package. Additional, commonly used, utility classes, and "
+"standard implementations are also located in the <literal>helpers</literal> "
+"sub package."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:39
+#: ri-spi.xml:33
 #, no-c-format
 msgid "Web Bean Discovery"
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:41
+#: ri-spi.xml:35
 #, no-c-format
 msgid ""
-"<![CDATA[public interface WebBeanDiscovery {\n"
-"   /**\n"
-"    * Gets list of all classes in classpath archives with web-beans.xml "
-"files\n"
+"<![CDATA[/**\n"
+"    * Gets list of all classes in classpath archives with META-INF/beans.xml "
+"(or\n"
+"    * for WARs WEB-INF/beans.xml) files\n"
 "    * \n"
 "    * @return An iterable over the classes \n"
 "    */\n"
 "   public Iterable<Class<?>> discoverWebBeanClasses();\n"
 "   \n"
 "   /**\n"
-"    * Gets a list of all web-beans.xml files in the app classpath\n"
+"    * Gets a list of all deployment descriptors in the app classpath\n"
 "    * \n"
-"    * @return An iterable over the web-beans.xml files \n"
+"    * @return An iterable over the beans.xml files \n"
 "    */\n"
-"   public Iterable<URL> discoverWebBeansXml();\n"
-"   \n"
-"}]]>"
+"   public Iterable<URL> discoverWebBeansXml();]]>"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:43
+#: ri-spi.xml:37
 #, no-c-format
 msgid ""
-"The discovery of Web Bean classes and <literal>web-bean.xml</literal> files "
-"is self-explanatory (the algorithm is described in Section 11.1 of the JSR-"
-"299 specification, and isn't repeated here)."
+"The discovery of Web Bean classes and <literal>beans.xml</literal> files is "
+"self-explanatory (the algorithm is described in Section 11.1 of the JSR-299 "
+"specification, and isn't repeated here)."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:52
+#: ri-spi.xml:46
 #, no-c-format
 msgid "EJB services"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:54
+#: ri-spi.xml:49
 #, no-c-format
 msgid ""
-"The Web Beans RI also delegates EJB3 bean discovery to the container so that "
-"it doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
-"literal>. For each EJB in the application an EJBDescriptor should be "
-"discovered:"
+"Web Beans will run without an EJB container; in this case you don't need to "
+"implement the EJB SPI."
 msgstr ""
 
-#. Tag: programlisting
-#: ri-spi.xml:61
+#. Tag: para
+#: ri-spi.xml:55
 #, no-c-format
 msgid ""
-"<![CDATA[public interface EjbServices\n"
-"{\n"
-"   \n"
-"   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
+"Web Beans also delegates EJB3 bean discovery to the container so that it "
+"doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
+"literal>. For each EJB in the application an EJBDescriptor should be "
+"discovered:"
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:63
+#: ri-spi.xml:62
 #, no-c-format
 msgid ""
-"<![CDATA[public interface EjbDescriptor<T> {\n"
+"<![CDATA[public interface EjbDescriptor<T>\n"
+"{\n"
 "   \n"
 "   /**\n"
 "    * Gets the EJB type\n"
@@ -201,14 +186,11 @@
 "    * \n"
 "    * @return The name\n"
 "    */\n"
-"   public String getEjbName();\n"
-"   \n"
-"   \n"
-"}]]>"
+"   public String getEjbName();]]>"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:65
+#: ri-spi.xml:64
 #, no-c-format
 msgid ""
 "The <literal>EjbDescriptor</literal> is fairly self-explanatory, and should "
@@ -220,17 +202,32 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:74
+#: ri-spi.xml:73
 #, no-c-format
 msgid ""
-"The resolution of <literal>@EJB</literal> and <literal>@Resource</literal> "
-"is delegated to the container. You must provide an implementation of "
-"<literal>org.jboss.webbeans.ejb.spi.EjbServices</literal> which provides "
-"these operations. Web Beans passes in the <literal>javax.inject.manager."
-"InjectionPoint</literal> the resolution is for, as well as the "
-"<literal>NamingContext</literal> in use for each resolution request."
+"The resolution of <literal>@EJB</literal> (for injection into simple beans), "
+"the resolution of local EJBs (for backing session beans) and remote EJBs "
+"(for injection as a Java EE resource) is delegated to the container. You "
+"must provide an implementation of <literal>org.jboss.webbeans.ejb.spi."
+"EjbServices</literal> which provides these operations. For resolving the "
+"<literal>@EJB</literal> injection point, Web Beans will provide the "
+"<literal>InjectionPoint</literal>; for resolving local EJBs, the "
+"<literal>EjbDescriptor</literal> will be provided, and for remote EJBs the "
+"<literal>jndiName</literal>, <literal>mappedName</literal>, or "
+"<literal>ejbLink</literal> will be provided."
 msgstr ""
 
+#. Tag: para
+#: ri-spi.xml:87
+#, no-c-format
+msgid ""
+"When resolving local EJBs (used to back session beans) a wrapper "
+"(<literal>SessionObjectReference</literal>) around the EJB reference is "
+"returned. This wrapper allows Web Beans to request a reference that "
+"implements the given business interface, and, in the case of SFSBs, request "
+"the removal of the EJB from the container."
+msgstr ""
+
 #. Tag: title
 #: ri-spi.xml:98
 #, no-c-format
@@ -241,35 +238,59 @@
 #: ri-spi.xml:100
 #, no-c-format
 msgid ""
-"Just as resolution of <literal>@EJB</literal> is delegated to the container, "
-"so is resolution of <literal>@PersistenceContext</literal>."
+"Just as EJB resolution is delegated to the container, resolution of "
+"<literal>@PersistenceContext</literal> for injection into simple beans (with "
+"the <literal>InjectionPoint</literal> provided), and resolution of "
+"persistence contexts and persistence units (with the <literal>unitName</"
+"literal> provided) for injection as a Java EE resource is delegated to the "
+"container."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:106
+#: ri-spi.xml:109
 #, no-c-format
 msgid ""
-"OPEN ISSUE: Web Beans also requires the container to provide a list of "
-"entities in the deployment, so that they aren't discovered as simple beans."
+"To allow JPA integration, the <literal>JpaServices</literal> interface "
+"should be implemented."
 msgstr ""
 
-#. Tag: title
+#. Tag: para
 #: ri-spi.xml:114
 #, no-c-format
+msgid ""
+"Web Beans also needs to know what entities are in a deployment (so that they "
+"aren't managed by Web Beans). An implementation that detects entities "
+"through <literal>@Entity</literal> and <literal>orm.xml</literal> is "
+"provided by default. If you want to provide support for a entities defined "
+"by a JPA provider (such as Hibernate's <literal>.hbm.xml</literal> you can "
+"wrap or replace the default implementation."
+msgstr ""
+
+#. Tag: programlisting
+#: ri-spi.xml:124
+#, no-c-format
+msgid ""
+"<![CDATA[EntityDiscovery delegate = bootstrap.getServices().get"
+"(EntityDiscovery.class);]]>"
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:129
+#, no-c-format
 msgid "Transaction Services"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:116
+#: ri-spi.xml:131
 #, no-c-format
 msgid ""
-"The Web Beans RI must delegate JTA activities to the container. The SPI "
-"provides a couple hooks to easily achieve this with the "
-"<literal>TransactionServices</literal> interface."
+"Web Beans must delegate JTA activities to the container. The SPI provides a "
+"couple hooks to easily achieve this with the <literal>TransactionServices</"
+"literal> interface."
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:122
+#: ri-spi.xml:137
 #, no-c-format
 msgid ""
 "<![CDATA[public interface TransactionServices\n"
@@ -305,7 +326,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:124
+#: ri-spi.xml:139
 #, no-c-format
 msgid ""
 "The enumeration <literal>Status</literal> is a convenience for implementors "
@@ -315,7 +336,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:131
+#: ri-spi.xml:147
 #, no-c-format
 msgid ""
 "Any <literal>javax.transaction.Synchronization</literal> implementation may "
@@ -325,7 +346,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:138
+#: ri-spi.xml:155
 #, no-c-format
 msgid ""
 "To make it easier to determine whether or not a transaction is currently "
@@ -335,30 +356,99 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:147
+#: ri-spi.xml:165
 #, no-c-format
+msgid "JMS services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:167
+#, no-c-format
+msgid ""
+"A number of JMS operations are not container specific, and so should be "
+"provided via the SPI <literal>JmsServices</literal>. JMS does not specify "
+"how to obtain a <literal>ConnectionFactory</literal> so the SPI provides a "
+"method which should be used to look up a factory. Web Beans also delegates "
+"<literal>Destination</literal> lookup to the container via the SPI."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:178
+#, no-c-format
+msgid "Resource Services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:180
+#, no-c-format
+msgid ""
+"The resolution of <literal>@Resource</literal> (for injection into simple "
+"beans) and the resolution of resources (for injection as a Java EE resource) "
+"is delegated to the container. You must provide an implementation of "
+"<literal>ResourceServices</literal> which provides these operations. For "
+"resolving the <literal>@Resource</literal> injection, Web Beans will provide "
+"the <literal>InjectionPoint</literal>; and for Java EE resources, the "
+"<literal>jndiName</literal> or <literal>mappedName</literal> will be "
+"provided."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:194
+#, no-c-format
+msgid "Web Services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:196
+#, no-c-format
+msgid ""
+"The resolution of web service references (for injection as a Java EE "
+"resource) is delegated to the container. You must provide an implementation "
+"of <literal>WebServices</literal> whichprovides this operation. For "
+"resolving the Java EE resource, the <literal>jndiName</literal> or "
+"<literal>mappedName</literal> will be provided."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:207
+#, no-c-format
+msgid "The bean store"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:209
+#, no-c-format
+msgid ""
+"Web Beans uses a map like structure to store bean instances - <literal>org."
+"jboss.webbeans.context.api.BeanStore</literal>. You may find <literal>org."
+"jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore</literal> "
+"useful."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:219
+#, no-c-format
 msgid "The application context"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:149
+#: ri-spi.xml:221
 #, no-c-format
 msgid ""
 "Web Beans expects the Application Server or other container to provide the "
 "storage for each application's context. The <literal>org.jboss.webbeans."
 "context.api.BeanStore</literal> should be implemented to provide an "
-"application scoped storage. You may find <literal>org.jboss.webbeans.context."
-"api.helpers.ConcurrentHashMapBeanStore</literal> useful."
+"application scoped storage."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:162
+#: ri-spi.xml:231
 #, no-c-format
 msgid "Bootstrap and shutdown"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:163
+#: ri-spi.xml:232
 #, no-c-format
 msgid ""
 "The <literal>org.jboss.webbeans.bootstrap.api.Bootstrap</literal> interface "
@@ -369,7 +459,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:172
+#: ri-spi.xml:241
 #, no-c-format
 msgid ""
 "The bootstrap is split into phases, bootstrap initialization and boot and "
@@ -380,20 +470,32 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:180
+#: ri-spi.xml:249
 #, no-c-format
 msgid ""
-"The bootstrap supports multiple environments. Different environments require "
-"different services to be present (for example servlet doesn't require "
-"transaction, EJB or JPA services). By default an EE environment is assumed, "
-"but you can adjust the environment by calling <literal>bootstrap."
-"setEnvironment()</literal>."
+"The bootstrap supports multiple environments. An environment is defined by "
+"an implementation of the <literal>Environment</literal> interface. A number "
+"of standard envrionments are built in as the enumeration "
+"<literal>Environments</literal>. Different environments require different "
+"services to be present (for example servlet doesn't require transaction, EJB "
+"or JPA services). By default an EE environment is assumed, but you can "
+"adjust the environment by calling <literal>bootstrap.setEnvironment()</"
+"literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:188
+#: ri-spi.xml:260
 #, no-c-format
 msgid ""
+"Web Beans uses a generic-typed service registry to allow services to be "
+"registered. All services implement the <literal>Service</literal> interface. "
+"The service registry allows services to be added and retrieved."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:267
+#, no-c-format
+msgid ""
 "To initialize the bootstrap you call <literal>Bootstrap.initialize()</"
 "literal>. Before calling <literal>initialize()</literal>, you must register "
 "any services required by your environment. You can do this by calling "
@@ -402,7 +504,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:197
+#: ri-spi.xml:276
 #, no-c-format
 msgid ""
 "Having called <literal>initialize()</literal>, the <literal>Manager</"
@@ -411,81 +513,61 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:203
+#: ri-spi.xml:282
 #, no-c-format
 msgid "To boot the container you call <literal>Bootstrap.boot()</literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:207
+#: ri-spi.xml:286
 #, no-c-format
 msgid ""
-"To shutdown the container you call <literal>Bootstrap.shutdown()</literal>. "
-"This allows the container to perform any cleanup operations needed."
+"To shutdown the container you call <literal>Bootstrap.shutdown()</literal> "
+"or <literal>webBeansManager.shutdown()</literal>. This allows the container "
+"to perform any cleanup operations needed."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:216
+#: ri-spi.xml:296
 #, no-c-format
 msgid "JNDI"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:218
+#: ri-spi.xml:298
 #, no-c-format
 msgid ""
-"The Web Beans RI implements JNDI binding and lookup according to standards, "
-"however you may want to alter the binding and lookup (for example in an "
-"environment where JNDI isn't available). To do this, implement <literal>org."
-"jboss.webbeans.resources.spi.NamingContext</literal>:"
+"Web Beans delegates all JNDI operations to the container through the SPI."
 msgstr ""
 
-#. Tag: programlisting
-#: ri-spi.xml:226
+#. Tag: para
+#: ri-spi.xml:304
 #, no-c-format
 msgid ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
+"A number of the SPI interface require JNDI lookup, and the class "
+"<literal>AbstractResourceServices</literal> provides JNDI/Java EE spec "
+"compliant lookup methods."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:231
+#: ri-spi.xml:315
 #, no-c-format
 msgid "Resource loading"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:233
+#: ri-spi.xml:317
 #, no-c-format
 msgid ""
-"The Web Beans RI needs to load classes and resources from the classpath at "
-"various times. By default, they are loaded from the same classloader that "
-"was used to load the RI, however this may not be correct for some "
-"environments. If this is case, you can implement <literal>org.jboss.webbeans."
-"spi.ResourceLoader</literal>:"
+"Web Beans needs to load classes and resources from the classpath at various "
+"times. By default, they are loaded from the Thread Context ClassLoader if "
+"available, if not the same classloader that was used to load Web Beans, "
+"however this may not be correct for some environments. If this is case, you "
+"can implement <literal>org.jboss.webbeans.spi.ResourceLoader</literal>:"
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:241
+#: ri-spi.xml:326
 #, no-c-format
 msgid ""
 "<![CDATA[\n"
@@ -520,13 +602,13 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:246
+#: ri-spi.xml:331
 #, no-c-format
 msgid "Servlet injection"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:248
+#: ri-spi.xml:333
 #, no-c-format
 msgid ""
 "Java EE / Servlet does not provide any hooks which can be used to provide "
@@ -535,7 +617,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:254
+#: ri-spi.xml:339
 #, no-c-format
 msgid ""
 "To be compliant with JSR-299, the container should request servlet injection "
@@ -544,7 +626,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:260
+#: ri-spi.xml:345
 #, no-c-format
 msgid ""
 "To perform injection on a servlet call <literal>WebBeansManager.injectServlet"
@@ -553,13 +635,13 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:271
+#: ri-spi.xml:356
 #, no-c-format
 msgid "The contract with the container"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:273
+#: ri-spi.xml:358
 #, no-c-format
 msgid ""
 "There are a number of requirements that the Web Beans RI places on the "
@@ -567,13 +649,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:281
+#: ri-spi.xml:366
 #, no-c-format
 msgid "Classloader isolation"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:285
+#: ri-spi.xml:370
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans RI into an environment that supports "
@@ -583,13 +665,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:294
+#: ri-spi.xml:379
 #, no-c-format
-msgid "Servlet listener and filters"
+msgid "Servlet"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:298
+#: ri-spi.xml:383
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a Servlet environment you must "
@@ -598,25 +680,48 @@
 "each Web Beans application which uses Servlet."
 msgstr ""
 
+#. Tag: term
+#: ri-spi.xml:394
+#, no-c-format
+msgid "<term>JSF</term>"
+msgstr ""
+
 #. Tag: para
-#: ri-spi.xml:307
+#: ri-spi.xml:399
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a JSF environment you must "
+"register <literal>org.jboss.webbeans.jsf.WebBeansPhaseListener</literal> as "
+"a phase listener, and <literal>org.jboss.webbeans.el.WebBeansELREsolver</"
+"literal> as an EL resolver, either automatically, or through user "
+"configuration, for each Web Beans application which uses JSF."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:410
+#, no-c-format
+msgid ""
+"If you are integrating the Web Beans into a JSF environment you must "
 "register <literal>org.jboss.webbeans.servlet.ConversationPropagationFilter</"
 "literal> as a Servlet listener, either automatically, or through user "
 "configuration, for each Web Beans application which uses JSF. This filter "
 "can be registered for all Servlet deployment safely."
 msgstr ""
 
+#. Tag: para
+#: ri-spi.xml:421
+#, no-c-format
+msgid "Web Beans only supports JSF 1.2 and above."
+msgstr ""
+
 #. Tag: term
-#: ri-spi.xml:319
+#: ri-spi.xml:428
 #, no-c-format
 msgid "Session Bean Interceptor"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:323
+#: ri-spi.xml:432
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an EJB environment you must "
@@ -627,7 +732,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:333
+#: ri-spi.xml:442
 #, no-c-format
 msgid ""
 "You must register the <literal>SessionBeanInterceptor</literal> as the inner "
@@ -635,13 +740,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:341
+#: ri-spi.xml:450
 #, no-c-format
 msgid "The <literal>webbeans-core.jar</literal>"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:345
+#: ri-spi.xml:454
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an environment that supports "
@@ -649,3 +754,20 @@
 "literal> into the applications isolated classloader. It cannot be loaded "
 "from a shared classloader."
 msgstr ""
+
+#. Tag: term
+#: ri-spi.xml:464
+#, no-c-format
+msgid "Binding the manager in JNDI"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:468
+#, no-c-format
+msgid ""
+"You should bind a <literal>Reference</literal> to the Manager "
+"<literal>ObjectFactory</literal> into JNDI at <literal>java:app/Manager</"
+"literal>. The type should be <literal>javax.inject.manager.Manager</literal> "
+"and the factory class is <literal>org.jboss.webbeans.resources."
+"ManagerObjectFactory</literal>"
+msgstr ""

Deleted: doc/trunk/reference/ja-JP/ri.po
===================================================================
--- doc/trunk/reference/ja-JP/ri.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/ja-JP/ri.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -1,1116 +0,0 @@
-# Language ja-JP translations for master.xml package.
-# Automatically generated, 2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: master.xml \n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
-"PO-Revision-Date: 2008-12-19 20:26+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Tag: title
-#: ri.xml:4
-#, no-c-format
-msgid "Web Beans, the Reference Implementation of JSR-299"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:6
-#, no-c-format
-msgid ""
-"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
-"WebBeans\">the Seam project</ulink>. You can download the latest developer "
-"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
-"\">the downloads page</ulink>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:13
-#, no-c-format
-msgid ""
-"Web Beans comes with a two deployable example applications: "
-"<literal>webbeans-numberguess</literal>, a war example, containing only "
-"simple beans, and <literal>webbeans-translator</literal> an ear example, "
-"containing enterprise beans. There are also two variations on the "
-"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
-"and the jsf2 example, which you can use if you are running JSF2. To run the "
-"examples you'll need the following:"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:25
-#, no-c-format
-msgid "the latest release of Web Beans,"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:28
-#, no-c-format
-msgid "JBoss AS 5.0.1.GA, or"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:31
-#, no-c-format
-msgid "Apache Tomcat 6.0.x, and"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:34
-#, no-c-format
-msgid "Ant 1.7.0."
-msgstr ""
-
-#. Tag: title
-#: ri.xml:39
-#, no-c-format
-msgid "Using JBoss AS 5"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:41
-#, no-c-format
-msgid ""
-"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
-"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:47
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.1.GA.zip]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:49 ri.xml:170
-#, no-c-format
-msgid ""
-"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
-"\">seamframework.org</ulink>, and unzip it. For example"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:55 ri.xml:176
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-$VERSION.zip]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:58
-#, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>jboss.home</literal> "
-"property. For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:64
-#, no-c-format
-msgid "jboss.home=/Applications/jboss-5.0.1.GA"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:66
-#, no-c-format
-msgid ""
-"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
-"<literal>ANT_HOME</literal> environment variable set. For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:71
-#, no-c-format
-msgid ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:73
-#, no-c-format
-msgid ""
-"Then, you can install the update. The update script will use Maven to "
-"download Web Beans automatically."
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:78
-#, no-c-format
-msgid ""
-"$ cd webbeans-$VERSION/jboss-as\n"
-"$ ant update"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:80
-#, no-c-format
-msgid "Now, you're ready to deploy your first example!"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:85
-#, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for JBoss AS, "
-"these are:"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:91
-#, no-c-format
-msgid "<literal>ant restart</literal> - deploy the example in exploded format"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:97
-#, no-c-format
-msgid ""
-"<literal>ant explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:103
-#, no-c-format
-msgid ""
-"<literal>ant deploy</literal> - deploy the example in compressed jar format"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:108
-#, no-c-format
-msgid "<literal>ant undeploy</literal> - remove the example from the server"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:113
-#, no-c-format
-msgid "<literal>ant clean</literal> - clean the example"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:120
-#, no-c-format
-msgid "To deploy the numberguess example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:124
-#, no-c-format
-msgid ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:126
-#, no-c-format
-msgid "Start JBoss AS:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:130
-#, no-c-format
-msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:133
-#, no-c-format
-msgid "If you use Windows, use the <literal>run.bat</literal>script."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:138 ri.xml:240
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
-"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:143
-#, no-c-format
-msgid ""
-"Web Beans includes a second simple example that will translate your text "
-"into Latin. The numberguess example is a war example, and uses only simple "
-"beans; the translator example is an ear example, and includes enterprise "
-"beans, packaged in an EJB module. To try it out:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:150
-#, no-c-format
-msgid ""
-"$ cd examples/translator\n"
-"ant deploy"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:152
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and visit <ulink url=\"http://"
-"localhost:8080/webbeans-translator\"></ulink>!"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:160
-#, no-c-format
-msgid "Using Apache Tomcat 6.0"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:162
-#, no-c-format
-msgid ""
-"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
-"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
-"For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:168
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:178
-#, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
-"property. For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:184
-#, no-c-format
-msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:187
-#, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for Tomcat, "
-"these are:"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:193
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:199
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:205
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
-"format"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:210
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:215
-#, no-c-format
-msgid "<literal>ant tomcat.clean</literal> - clean the example"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:222
-#, no-c-format
-msgid "To deploy the numberguess example for tomcat:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:226
-#, no-c-format
-msgid ""
-"$ cd examples/tomcat\n"
-"ant tomcat.deploy"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:228
-#, no-c-format
-msgid "Start Tomcat:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:232
-#, no-c-format
-msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:235
-#, no-c-format
-msgid "If you use Windows, use the <literal>startup.bat</literal>script."
-msgstr ""
-
-#. Tag: title
-#: ri.xml:248
-#, no-c-format
-msgid "Using GlassFish"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:250
-#, no-c-format
-msgid "TODO"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:254
-#, no-c-format
-msgid "The numberguess example"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:256
-#, no-c-format
-msgid ""
-"In the numberguess application you get given 10 attempts to guess a number "
-"between 1 and 100. After each attempt, you will be told whether you are too "
-"high, or too low."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:262
-#, no-c-format
-msgid ""
-"The numberguess example is comprised of a number of Web Beans, configuration "
-"files, and Facelet JSF pages, packaged as a war. Let's start with the "
-"configuration files."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:268
-#, no-c-format
-msgid ""
-"All the configuration files for this example are located in <literal>WEB-INF/"
-"</literal>, which is stored in <literal>WebContent</literal> in the source "
-"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
-"JSF to use Facelets:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:276
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:278
-#, no-c-format
-msgid ""
-"There is an empty <literal>web-beans.xml</literal> file, which marks this "
-"application as a Web Beans application."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:283
-#, no-c-format
-msgid "Finally there is <literal>web.xml</literal>:"
-msgstr ""
-
-#. Tag: section
-#: ri.xml:285
-#, no-c-format
-msgid ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
-"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
-"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
-"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
-"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
-"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
-"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
-"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
-"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
-"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
-"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
-"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
-"session timeout of 10 minutes </para> </callout> </calloutlist> </"
-"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
-"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
-"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
-"id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area "
-"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
-"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
-"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
-"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
-"dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
-"number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
-"number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game."
-"biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
-"{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
-"<para> Facelets is a templating language for JSF, here we are wrapping our "
-"page in a template which defines the header. </para> </callout> <callout "
-"arearefs=\"messages\"> <para> There are a number of messages which can be "
-"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
-"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
-"range of numbers they can guess gets smaller - this sentance changes to make "
-"sure they know what range to guess in. </para> </callout> <callout arearefs="
-"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
-"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
-"range validator is used to make sure the user doesn't accidentally input a "
-"number outside of the range in which they can guess - if the validator "
-"wasn't here, the user might use up a guess on an out of range number. </"
-"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
-"must be a way for the user to send their guess to the server. Here we bind "
-"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
-"programlistingco>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:387
-#, no-c-format
-msgid ""
-"The example exists of 4 classes, the first two of which are binding types. "
-"First, there is the <literal>@Random</literal> binding type, used for "
-"injecting a random number:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:393
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:395
-#, no-c-format
-msgid ""
-"There is also the <literal>@MaxNumber</literal> binding type, used for "
-"injecting the maximum number that can be injected:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:400
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:402
-#, no-c-format
-msgid ""
-"The <literal>Generator</literal> class is responsible for creating the "
-"random number, via a producer method. It also exposes the maximum possible "
-"number via a producer method:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:408
-#, no-c-format
-msgid ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System."
-"currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:410
-#, no-c-format
-msgid ""
-"You'll notice that the <literal>Generator</literal> is application scoped; "
-"therefore we don't get a different random each time."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:415
-#, no-c-format
-msgid ""
-"The final Web Bean in the application is the session scoped <literal>Game</"
-"literal>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:420
-#, no-c-format
-msgid ""
-"You'll note that we've used the <literal>@Named</literal> annotation, so "
-"that we can use the bean through EL in the JSF page. Finally, we've used "
-"constructor injection to initialize the game with a random number. And of "
-"course, we need to tell the player when they've won, so we give feedback "
-"with a <literal>FacesMessage</literal>."
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:428
-#, no-c-format
-msgid ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
-"(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new "
-"AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:431
-#, no-c-format
-msgid "The numberguess example for Tomcat"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:433
-#, no-c-format
-msgid ""
-"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
-"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
-"literal>. For your convenience we provide a single jar suitable for running "
-"Web Beans on Tomcat <literal>webbeans-tomcat.jar</literal>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:442
-#, no-c-format
-msgid ""
-"Of course, you must also include JSF and EL, as well common annotations "
-"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:449
-#, no-c-format
-msgid ""
-"Secondly, we need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control it's interaction with requests) in <literal>web."
-"xml</literal>:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:455
-#, no-c-format
-msgid ""
-"<![CDATA[<listener>\n"
-"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-"
-"class>\n"
-"</listener>]]>"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:461
-#, no-c-format
-msgid "The translator example"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:463
-#, no-c-format
-msgid ""
-"The translator example will take any sentences you enter, and translate them "
-"to Latin."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:468
-#, no-c-format
-msgid ""
-"The translator example is built as an ear, and contains EJBs. As a result, "
-"it's structure is more complex than the numberguess example."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:474
-#, no-c-format
-msgid ""
-"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
-"this structure much simpler!"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:480
-#, no-c-format
-msgid ""
-"First, let's take a look at the ear aggregator, which is located in "
-"<literal>webbeans-translator-ear</literal> module. Maven automatically "
-"generates the <literal>application.xml</literal> for us:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:486
-#, no-c-format
-msgid ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:488
-#, no-c-format
-msgid ""
-"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
-"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
-"translator</ulink>)."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:494
-#, no-c-format
-msgid ""
-"If you aren't using Maven to generate these files, you would need "
-"<literal>META-INF/application.xml</literal>:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:499
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web "
-"Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:502
-#, no-c-format
-msgid ""
-"Next, lets look at the war. Just as in the numberguess example, we have a "
-"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
-"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:509
-#, no-c-format
-msgid ""
-"More intersting is the facelet used to translate text. Just as in the "
-"numberguess example we have a template, which surrounds the form (ommitted "
-"here for brevity):"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:515
-#, no-c-format
-msgid ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
-"required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
-"{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:517
-#, no-c-format
-msgid ""
-"The user can enter some text in the lefthand textarea, and hit the translate "
-"button to see the result to the right."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:522
-#, no-c-format
-msgid ""
-"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
-"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
-"empty <literal>web-beans.xml</literal>, used to mark the archive as "
-"containing Web Beans."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:530
-#, no-c-format
-msgid ""
-"We've saved the most interesting bit to last, the code! The project has two "
-"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
-"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
-"literal> and <literal>SentenceTranslator</literal>. You should be getting "
-"quite familiar with what a Web Bean looks like by now, so we'll just "
-"highlight the most interesting bits here."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:540
-#, no-c-format
-msgid ""
-"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
-"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
-"initialization:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:546
-#, no-c-format
-msgid ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator "
-"sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:548
-#, no-c-format
-msgid ""
-"<literal>TextTranslator</literal> is a stateless bean (with a local business "
-"interface), where the magic happens - of course, we couldn't develop a full "
-"translator, but we gave it a good go!"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:554
-#, no-c-format
-msgid ""
-"Finally, there is UI orientated controller, that collects the text from the "
-"user, and dispatches it to the translator. This is a request scoped, named, "
-"stateful session bean, which injects the translator."
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:560
-#, no-c-format
-msgid ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:562
-#, no-c-format
-msgid "The bean also has getters and setters for all the fields on the page."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:566
-#, no-c-format
-msgid "As this is a stateful session bean, we have to have a remove method:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:570
-#, no-c-format
-msgid ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:572
-#, no-c-format
-msgid ""
-"The Web Beans manager will call the remove method for you when the bean is "
-"destroyed; in this case at the end of the request."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:578
-#, no-c-format
-msgid ""
-"That concludes our short tour of the Web Beans examples. For more on Web "
-"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
-"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
-"Development</ulink>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:584
-#, no-c-format
-msgid ""
-"We need help in all areas - bug fixing, writing new features, writing "
-"examples and translating this reference guide."
-msgstr ""

Modified: doc/trunk/reference/ja-JP/scopescontexts.po
===================================================================
--- doc/trunk/reference/ja-JP/scopescontexts.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/ja-JP/scopescontexts.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: master.xml \n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2008-12-19 20:26+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2008-12-19 20:26+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -421,8 +421,8 @@
 "The Web Bean manager is permitted to destroy a conversation and all state "
 "held in its context at any time in order to preserve resources. A Web Bean "
 "manager implementation will normally do this on the basis of some kind of "
-"timeout &#151; though this is not required by the Web Beans specification. The "
-"timeout is the period of inactivity before the conversation is destroyed."
+"timeout &#151; though this is not required by the Web Beans specification. "
+"The timeout is the period of inactivity before the conversation is destroyed."
 msgstr ""
 
 #. Tag: para
@@ -441,13 +441,13 @@
 msgstr ""
 
 #. Tag: title
-#: scopescontexts.xml:219
+#: scopescontexts.xml:218
 #, no-c-format
 msgid "The dependent pseudo-scope"
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:221
+#: scopescontexts.xml:220
 #, no-c-format
 msgid ""
 "In addition to the four built-in scopes, Web Beans features the so-called "
@@ -456,20 +456,20 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:225
+#: scopescontexts.xml:224
 #, no-c-format
 msgid ""
 "For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
 msgstr ""
 
 #. Tag: programlisting
-#: scopescontexts.xml:227
+#: scopescontexts.xml:226
 #, no-c-format
 msgid "<![CDATA[public class Calculator { ... }]]>"
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:229
+#: scopescontexts.xml:228
 #, no-c-format
 msgid ""
 "When an injection point of a Web Bean resolves to a dependent Web Bean, a "
@@ -480,7 +480,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:235
+#: scopescontexts.xml:234
 #, no-c-format
 msgid ""
 "Dependent Web Bean instances are destroyed when the instance they depend "
@@ -488,7 +488,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:243
+#: scopescontexts.xml:242
 #, no-c-format
 msgid ""
 "Web Beans makes it easy to obtain a dependent instance of a Java class or "
@@ -497,13 +497,13 @@
 msgstr ""
 
 #. Tag: title
-#: scopescontexts.xml:248
+#: scopescontexts.xml:247
 #, no-c-format
 msgid "The <literal>@New</literal> annotation"
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:250
+#: scopescontexts.xml:249
 #, no-c-format
 msgid ""
 "The built-in <literal>@New</literal> binding annotation allows "
@@ -512,13 +512,13 @@
 msgstr ""
 
 #. Tag: programlisting
-#: scopescontexts.xml:254
+#: scopescontexts.xml:253
 #, no-c-format
 msgid "<![CDATA[@New Calculator calculator;]]>"
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:256
+#: scopescontexts.xml:255
 #, no-c-format
 msgid ""
 "Then a Web Bean with scope <literal>@Dependent</literal>, binding type "
@@ -528,7 +528,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:261
+#: scopescontexts.xml:260
 #, no-c-format
 msgid ""
 "This is true even if <literal>Calculator</literal> is <emphasis>already</"
@@ -536,7 +536,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: scopescontexts.xml:264
+#: scopescontexts.xml:263
 #, no-c-format
 msgid ""
 "<![CDATA[@ConversationScoped\n"
@@ -544,7 +544,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:266
+#: scopescontexts.xml:265
 #, no-c-format
 msgid ""
 "So the following injected attributes each get a different instance of "
@@ -552,7 +552,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: scopescontexts.xml:269
+#: scopescontexts.xml:268
 #, no-c-format
 msgid ""
 "<![CDATA[public class PaymentCalc {\n"
@@ -564,7 +564,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:271
+#: scopescontexts.xml:270
 #, no-c-format
 msgid ""
 "The <literal>calculator</literal> field has a conversation-scoped instance "
@@ -574,7 +574,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:276
+#: scopescontexts.xml:275
 #, no-c-format
 msgid ""
 "This feature is particularly useful with producer methods, as we'll see in "

Added: doc/trunk/reference/ja-JP/viewlayers.po
===================================================================
--- doc/trunk/reference/ja-JP/viewlayers.po	                        (rev 0)
+++ doc/trunk/reference/ja-JP/viewlayers.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,160 @@
+# Language ja-JP translations for Web_Beans:_Java_Contexts_and_Dependency_Injection package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2009-04-19 20:36+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: viewlayers.xml:4
+#, no-c-format
+msgid "Alternative view layers"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:7
+#, no-c-format
+msgid "Using Web Beans with Wicket"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:10
+#, no-c-format
+msgid "The <literal>WebApplication</literal> class"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:12
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass; Web Beans provides, for your utility, a subclass of this which "
+"sets up the Wicket/JSR-299 integration. You should subclass <literal>org."
+"jboss.webbeans.wicket.WebBeansApplication</literal>."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:21
+#, no-c-format
+msgid ""
+"If you would prefer not to subclass <literal>WebBeansApplication</literal>, "
+"you can manually add a (small!) number of overrides and listeners to your "
+"own <literal>WebApplication</literal> subclass. The javadocs of "
+"<literal>WebBeansApplication</literal>detail this."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:30
+#, no-c-format
+msgid "For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: viewlayers.xml:33
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:37
+#, no-c-format
+msgid "Conversations with Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:38
+#, no-c-format
+msgid ""
+"The conversation scope can be used in Web Beans with the Apache Wicket web "
+"framework, through the <literal>webbeans-wicket</literal> module. This "
+"module takes care of:"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:45
+#, no-c-format
+msgid ""
+"Setting up the conversation context at the beginning of a Wicket request, "
+"and tearing it down afterwards"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:51
+#, no-c-format
+msgid ""
+"Storing the id of any long-running conversation in Wicket's metadata when "
+"the page response is complete"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:57
+#, no-c-format
+msgid ""
+"Activating the correct long-running conversation based upon which page is "
+"being accessed"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:63
+#, no-c-format
+msgid ""
+"Propagating the conversation context for any long-running conversation to "
+"new pages"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:70
+#, no-c-format
+msgid "Starting and stopping conversations in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:71
+#, no-c-format
+msgid ""
+"As JSF applications, a conversation <emphasis>always</emphasis> exists for "
+"any request, but its lifetime is only that of the current request unless it "
+"is marked as <emphasis>long-running</emphasis>. For Wicket applications this "
+"is accomplished as in JSF applications, by injecting the <literal>@Current "
+"Conversation</literal> and then invoking <literal>conversation.begin()</"
+"literal>. Likewise, conversations are ended with <literal>conversation.end()"
+"</literal>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:85
+#, no-c-format
+msgid "Long running conversation propagation in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:86
+#, no-c-format
+msgid ""
+"When a conversation is marked as long-running, the id of that conversation "
+"will be stored in Wicket's metadata for the current page. If a new page is "
+"created and set as the response target through <literal>setResponsePage</"
+"literal>, this new page will also participate in this conversation. This "
+"occurs for both directly instantiated pages (<literal>setResponsePage(new "
+"OtherPage())</literal>), as well as for bookmarkable pages created with "
+"<literal>setResponsePage(OtherPage.class)</literal> where <literal>OtherPage."
+"class</literal> is mounted as bookmarkable from your "
+"<literal>WebApplication</literal> subclass (or through annotations). In the "
+"latter case, because the new page instance is not created until after a "
+"redirect, the conversation id will be propagated through a request "
+"parameter, and then stored in page metadata after the redirect."
+msgstr ""

Modified: doc/trunk/reference/ko-KR/environments.po
===================================================================
--- doc/trunk/reference/ko-KR/environments.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/ko-KR/environments.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 "Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
 "VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-28 17:09+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -96,13 +96,15 @@
 #. Tag: title
 #: environments.xml:53
 #, no-c-format
-msgid "Tomcat (or any plain Servlet container)"
+msgid "Servlet Containers (such as Tomcat or Jetty)"
 msgstr ""
 
 #. Tag: para
 #: environments.xml:55
 #, no-c-format
-msgid "Web Beans can be used in Tomcat 6.0."
+msgid ""
+"Web Beans can be used in any Servlet container such as Tomcat 6.0 or Jetty "
+"6.1."
 msgstr ""
 
 #. Tag: para
@@ -111,17 +113,18 @@
 msgid ""
 "Web Beans doesn't support deploying session beans, injection using "
 "<literal>@EJB</literal>, or <literal>@PersistenceContext</literal> or using "
-"transactional events on Tomcat."
+"transactional events in Servlet containers."
 msgstr ""
 
 #. Tag: para
 #: environments.xml:66
 #, no-c-format
 msgid ""
-"Web Beans should be used as a web application library in Tomcat. You should "
-"place <literal>webbeans-tomcat.jar</literal> in <literal>WEB-INF/lib</"
-"literal>. <literal>webbeans-tomcat.jar</literal> is an \"uber-jar\" provided "
-"for your convenience. Instead, you could use its component jars:"
+"Web Beans should be used as a web application library in a servlet "
+"container. You should place <literal>webbeans-servlet.jar</literal> in "
+"<literal>WEB-INF/lib</literal>. <literal>webbeans-serv;et.jar</literal> is "
+"an \"uber-jar\" provided for your convenience. Instead, you could use its "
+"component jars:"
 msgstr ""
 
 #. Tag: literal
@@ -157,7 +160,7 @@
 #. Tag: literal
 #: environments.xml:102
 #, no-c-format
-msgid "webbeans-tomcat-int.jar"
+msgid "webbeans-servlet-int.jar"
 msgstr ""
 
 #. Tag: literal
@@ -176,9 +179,9 @@
 #: environments.xml:117
 #, no-c-format
 msgid ""
-"You also need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control its interaction with requests) in <literal>web."
-"xml</literal>:"
+"You also need to explicitly specify the servlet listener (used to boot Web "
+"Beans, and control its interaction with requests) in <literal>web.xml</"
+"literal>:"
 msgstr ""
 
 #. Tag: programlisting
@@ -191,8 +194,14 @@
 "</listener>]]>"
 msgstr ""
 
+#. Tag: title
+#: environments.xml:126
+#, no-c-format
+msgid "Tomcat"
+msgstr ""
+
 #. Tag: para
-#: environments.xml:125
+#: environments.xml:128
 #, no-c-format
 msgid ""
 "Tomcat has a read-only JNDI, so Web Beans can't automatically bind the "
@@ -201,7 +210,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:131
+#: environments.xml:134
 #, no-c-format
 msgid ""
 "<![CDATA[<Resource name=\"app/Manager\" \n"
@@ -212,7 +221,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:133
+#: environments.xml:136
 #, no-c-format
 msgid ""
 "and make it available to your deployment by adding this to <literal>web.xml</"
@@ -220,7 +229,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:138
+#: environments.xml:141
 #, no-c-format
 msgid ""
 "<![CDATA[<resource-env-ref>\n"
@@ -234,7 +243,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:140
+#: environments.xml:143
 #, no-c-format
 msgid ""
 "Tomcat only allows you to bind entries to <literal>java:comp/env</literal>, "
@@ -243,7 +252,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:146
+#: environments.xml:149
 #, no-c-format
 msgid ""
 "Web Beans also supports Servlet injection in Tomcat. To enable this, place "
@@ -253,7 +262,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:153
+#: environments.xml:156
 #, no-c-format
 msgid ""
 "<![CDATA[<Listener className=\"org.jboss.webbeans.environment.tomcat."
@@ -261,13 +270,13 @@
 msgstr ""
 
 #. Tag: title
-#: environments.xml:158
+#: environments.xml:163
 #, no-c-format
 msgid "Java SE"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:160
+#: environments.xml:165
 #, no-c-format
 msgid ""
 "Apart from improved integration of the Enterprise Java stack, Web Beans also "
@@ -279,7 +288,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:168
+#: environments.xml:173
 #, no-c-format
 msgid ""
 "When executing in the SE environment the following features of Web Beans are "
@@ -287,61 +296,49 @@
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:174
+#: environments.xml:179
 #, no-c-format
 msgid "Simple Web Beans (POJOs)"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:179
+#: environments.xml:184
 #, no-c-format
 msgid "Typesafe Dependency Injection"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:184
+#: environments.xml:189
 #, no-c-format
 msgid "Application and Dependent Contexts"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:189
+#: environments.xml:194
 #, no-c-format
 msgid "Binding Types"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:194
+#: environments.xml:199
 #, no-c-format
 msgid "Stereotypes"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:199
-#, no-c-format
-msgid "Decorators"
-msgstr ""
-
-#. Tag: literal
 #: environments.xml:204
 #, no-c-format
-msgid "(TODO: Interceptors ?)"
-msgstr ""
-
-#. Tag: literal
-#: environments.xml:209
-#, no-c-format
 msgid "Typesafe Event Model"
 msgstr ""
 
 #. Tag: title
-#: environments.xml:215
+#: environments.xml:210
 #, no-c-format
 msgid "Web Beans SE Module"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:217
+#: environments.xml:212
 #, no-c-format
 msgid ""
 "To make life easy for developers Web Beans provides a special module with a "
@@ -354,7 +351,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:226
+#: environments.xml:221
 #, no-c-format
 msgid ""
 "<![CDATA[@Parameters List<String> params;\n"
@@ -363,13 +360,13 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:227
+#: environments.xml:222
 #, no-c-format
 msgid "Here's an example of a simple Web Beans SE application:"
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:231
+#: environments.xml:226
 #, no-c-format
 msgid ""
 "<![CDATA[@ApplicationScoped\n"
@@ -385,20 +382,20 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:233
+#: environments.xml:228
 #, no-c-format
 msgid ""
 "Web Beans SE applications are started by running the following main method."
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:235
+#: environments.xml:230
 #, no-c-format
 msgid "<![CDATA[java org.jboss.webbeans.environments.se.StartMain <args>]]>"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:237
+#: environments.xml:232
 #, no-c-format
 msgid ""
 "If you need to do any custom initialization of the Web Beans manager, for "
@@ -408,7 +405,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:242
+#: environments.xml:237
 #, no-c-format
 msgid ""
 "<![CDATA[public class PerformSetup\n"
@@ -422,7 +419,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:246
+#: environments.xml:240
 #, no-c-format
 msgid ""
 "The command line parameters do not become available for injection until the "

Modified: doc/trunk/reference/ko-KR/extensions.po
===================================================================
--- doc/trunk/reference/ko-KR/extensions.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/ko-KR/extensions.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -3,9 +3,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
+"VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-03-28 17:09+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-28 17:09+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -33,13 +34,68 @@
 msgstr ""
 
 #. Tag: para
-#: extensions.xml:17 extensions.xml:26
+#: extensions.xml:17
 #, no-c-format
-msgid "TODO"
+msgid ""
+"Adding logging to your application is now even easier with simple injection "
+"of a logger object into any JSR-299 bean. Simply annotate a org.jboss."
+"webbeans.log.Log type member with <emphasis>@Logger</emphasis> and an "
+"appropriate logger object will be injected into any instance of the bean."
 msgstr ""
 
-#. Tag: title
-#: extensions.xml:24
+#. Tag: programlisting
+#: extensions.xml:25
 #, no-c-format
-msgid "XSD Generator for JSR-299 XML deployment descriptors"
+msgid ""
+"<![CDATA[public class Checkout {\n"
+"    import org.jboss.webbeans.annotation.Logger;\n"
+"    import org.jboss.webbeans.log.Log;\n"
+"    \n"
+"    @Logger\n"
+"    private Log log;\n"
+"\n"
+"    void invoiceItems() {\n"
+"        ShoppingCart cart;\n"
+"        . . .\n"
+"        log.debug(\"Items invoiced for {0}\", cart);\n"
+"    }\n"
+"    \n"
+"}]]>"
 msgstr ""
+
+#. Tag: para
+#: extensions.xml:27
+#, no-c-format
+msgid ""
+"The example shows how objects can be interpolated into a message. This "
+"interpolation is done using <emphasis>java.text.MessageFormat</emphasis>, so "
+"see the JavaDoc for that class for more details. In this case, the "
+"ShoppingCart should have implemented the <emphasis>toString()</emphasis> "
+"method to produce a human readable value that is meaningful in messages. "
+"Normally, this call would have involved evaluating cart.toString() with "
+"String concatenation to produce a single String argument. Thus it was "
+"necessary to surround the call with an if-statement using the condition "
+"<emphasis>log.isDebugEnabled()</emphasis> to avoid the expensive String "
+"concatenation if the message was not actually going to be used. However, "
+"when using @Logger injected logging, the conditional test can be left out "
+"since the object arguments are not evaluated unless the message is going to "
+"be logged."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:44
+#, no-c-format
+msgid ""
+"You can add the Web Beans Logger to your project by including webbeans-"
+"logger.jar and webbeans-logging.jar to your project. Alternatively, express "
+"a dependency on the <literal>org.jboss.webbeans:webbeans-logger</literal> "
+"Maven artifact."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:51
+#, no-c-format
+msgid ""
+"If you are using Web Beans as your JSR-299 implementation, there is no need "
+"to include <literal>webbeans-logging.jar</literal> as it's already included."
+msgstr ""

Copied: doc/trunk/reference/ko-KR/gettingstarted.po (from rev 2516, doc/trunk/reference/ko-KR/ri.po)
===================================================================
--- doc/trunk/reference/ko-KR/gettingstarted.po	                        (rev 0)
+++ doc/trunk/reference/ko-KR/gettingstarted.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,2242 @@
+# translation of ri.po to Korean
+# Language ko-KR translations for Introduction_to_Web_Beans package.
+#
+# Automatically generated, 2009.
+# Eunju Kim <eukim at redhat.com>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: ri\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2009-01-23 11:14+1000\n"
+"Last-Translator: Eunju Kim <eukim at redhat.com>\n"
+"Language-Team: Korean <ko at li.org>\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"
+"Plural-Forms:  nplurals=2; plural=(n!=1);\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+
+#. Tag: title
+#: gettingstarted.xml:4
+#, fuzzy, no-c-format
+msgid "Getting started with Web Beans, the Reference Implementation of JSR-299"
+msgstr "Web Beans 참조 구현 "
+
+#. Tag: para
+#: gettingstarted.xml:6
+#, fuzzy, no-c-format
+msgid ""
+"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
+"WebBeans\">the Seam project</ulink>. You can download the latest developer "
+"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
+"\">the downloads page</ulink>."
+msgstr ""
+"Web Beans 참조 구현 (Web Beans Reference Implementation)은 <ulink url="
+"\"http://seamframework.org/WebBeans\">Seam 프로젝트</ulink>에서 개발되고 있습"
+"니다. <ulink url=\"http://seamframework.org/Download\">다운로드 페이지</"
+"ulink>에서 최신 개발자 릴리즈를 다운로드하실 수 있습니다.   "
+
+#. Tag: para
+#: gettingstarted.xml:13
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans comes with a two deployable example applications: "
+"<literal>webbeans-numberguess</literal>, a war example, containing only "
+"simple beans, and <literal>webbeans-translator</literal> an ear example, "
+"containing enterprise beans. There are also two variations on the "
+"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
+"and the jsf2 example, which you can use if you are running JSF2. To run the "
+"examples you'll need the following:"
+msgstr ""
+"Web Beans RI는 배치 가능한 두 가지 애플리케이션 예로 되어 있습니다: war 예에"
+"는 심플 beans 만이 들어 있는 <literal>webbeans-numberguess</literal>가 있고 "
+"ear 예에는 엔터프라이즈 beans가 들어 있는 <literal>webbeans-translator</"
+"literal>가 있습니다. 예를 실행하려면, 다음 사항이 필요합니다:           "
+
+#. Tag: para
+#: gettingstarted.xml:25
+#, fuzzy, no-c-format
+msgid "the latest release of Web Beans,"
+msgstr "최신 Web Beans RI 릴리즈 "
+
+#. Tag: para
+#: gettingstarted.xml:28
+#, fuzzy, no-c-format
+msgid "JBoss AS 5.0.1.GA, or"
+msgstr "JBoss AS 5.0.0.GA, 및 "
+
+#. Tag: para
+#: gettingstarted.xml:31
+#, no-c-format
+msgid "Apache Tomcat 6.0.x, and"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:34
+#, no-c-format
+msgid "Ant 1.7.0."
+msgstr "Ant 1.7.0."
+
+#. Tag: title
+#: gettingstarted.xml:39
+#, no-c-format
+msgid "Using JBoss AS 5"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:41
+#, fuzzy, no-c-format
+msgid ""
+"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
+"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
+msgstr ""
+"현재, Web Beans RI는 JBoss Application Server 5에서만 실행됩니다. <ulink url="
+"\"http://www.jboss.org/jbossas/downloads/\">jboss.org</ulink>에서 JBoss AS "
+"5.0.0.GA를 다운로드하여 압축 풀기를 합니다. 예:   "
+
+#. Tag: programlisting
+#: gettingstarted.xml:47
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.1.GA.zip]]>"
+msgstr ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.0.GA.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:49 gettingstarted.xml:170
+#, fuzzy, no-c-format
+msgid ""
+"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
+"\">seamframework.org</ulink>, and unzip it. For example"
+msgstr ""
+"다음으로 <ulink url=\"http://seamframework.org/Download\">seamframework.org</"
+"ulink>에서 Web Beans RI를 다운로드하여 압축 풀기를 합니다. 예: "
+
+#. Tag: programlisting
+#: gettingstarted.xml:55 gettingstarted.xml:176
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-$VERSION.zip]]>"
+msgstr ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-1.0.0.ALPHA1.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:58
+#, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>jboss.home</literal> "
+"property. For example:"
+msgstr ""
+"다음으로, JBoss가 위치해 있는 곳을 Web Beans에게 알려야 합니다. "
+"<literal>jboss-as/build.properties</literal>를 편집하고 <literal>jboss.home</"
+"literal> 속성을 설정합니다. 예: "
+
+#. Tag: programlisting
+#: gettingstarted.xml:64
+#, fuzzy, no-c-format
+msgid "jboss.home=/Applications/jboss-5.0.1.GA"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: gettingstarted.xml:66
+#, fuzzy, no-c-format
+msgid ""
+"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
+"<literal>ANT_HOME</literal> environment variable set. For example:"
+msgstr ""
+"업데이트를 설치하려면, Ant 1.7.0을 설치하고 <literal>ANT_HOME</literal> 환경 "
+"변수 모음을 설치합니다. 예:  "
+
+#. Tag: programlisting
+#: gettingstarted.xml:71
+#, no-c-format
+msgid ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+msgstr ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+
+#. Tag: para
+#: gettingstarted.xml:73
+#, fuzzy, no-c-format
+msgid ""
+"Then, you can install the update. The update script will use Maven to "
+"download Web Beans automatically."
+msgstr ""
+"그 다음 업데이트를 설치하실 수 있습니다. 업데이트 스크립트는 Maven을 사용하"
+"여 Web Beans 및 EJB3를 자동으로 다운로드합니다. "
+
+#. Tag: programlisting
+#: gettingstarted.xml:78
+#, fuzzy, no-c-format
+msgid ""
+"$ cd webbeans-$VERSION/jboss-as\n"
+"$ ant update"
+msgstr ""
+"$ cd webbeans-1.0.0.ALPHA1/jboss-as\n"
+"$ ant update"
+
+#. Tag: para
+#: gettingstarted.xml:80
+#, no-c-format
+msgid "Now, you're ready to deploy your first example!"
+msgstr "이제, 첫번째 예제를 배치할 준비가 되었습니다!      "
+
+#. Tag: para
+#: gettingstarted.xml:85
+#, fuzzy, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for JBoss AS, "
+"these are:"
+msgstr ""
+"예제 용 작성 스크립트는 여러 대상을 제공합니다. 이에는 다음과 같은 것이 있습"
+"니다:   "
+
+#. Tag: para
+#: gettingstarted.xml:91
+#, no-c-format
+msgid "<literal>ant restart</literal> - deploy the example in exploded format"
+msgstr ""
+"<literal>ant restart</literal> - exploded 형식으로 예제를 배치합니다      "
+
+#. Tag: para
+#: gettingstarted.xml:97
+#, no-c-format
+msgid ""
+"<literal>ant explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+"<literal>ant explode</literal> - 배치 버전을 다시 시작하지 않고 exploded 예제"
+"를 업데이트합니다     "
+
+#. Tag: para
+#: gettingstarted.xml:103
+#, no-c-format
+msgid ""
+"<literal>ant deploy</literal> - deploy the example in compressed jar format"
+msgstr ""
+"<literal>ant deploy</literal> - 압축된 jar 포맷으로 예제를 배치합니다   "
+
+#. Tag: para
+#: gettingstarted.xml:108
+#, no-c-format
+msgid "<literal>ant undeploy</literal> - remove the example from the server"
+msgstr "<literal>ant undeploy</literal> - 서버에서 예제를 제거합니다 "
+
+#. Tag: para
+#: gettingstarted.xml:113
+#, no-c-format
+msgid "<literal>ant clean</literal> - clean the example"
+msgstr "<literal>ant clean</literal> - 예제를 지웁니다 "
+
+#. Tag: para
+#: gettingstarted.xml:120
+#, no-c-format
+msgid "To deploy the numberguess example:"
+msgstr "numberguess 예제를 배치하려면:    "
+
+#. Tag: programlisting
+#: gettingstarted.xml:124
+#, no-c-format
+msgid ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+msgstr ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:126
+#, no-c-format
+msgid "Start JBoss AS:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:130
+#, fuzzy, no-c-format
+msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: gettingstarted.xml:133
+#, no-c-format
+msgid "If you use Windows, use the <literal>run.bat</literal>script."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:138 gettingstarted.xml:240
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
+"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
+msgstr ""
+"애플리케이션이 배치되면 <ulink url=\"http://localhost:8080/webbeans-"
+"numberguess\"></ulink>에서 살펴보시기 바랍니다!   "
+
+#. Tag: para
+#: gettingstarted.xml:143
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans includes a second simple example that will translate your text "
+"into Latin. The numberguess example is a war example, and uses only simple "
+"beans; the translator example is an ear example, and includes enterprise "
+"beans, packaged in an EJB module. To try it out:"
+msgstr ""
+"Web Beans RI에는 텍스트를 라틴어로 번역하는 두 번째 예제가 있습니다. "
+"numberguess 예제는 war 예제로 심플 beans 만을 사용합니다; 번역 예제는 ear 예"
+"제로 엔터프라이즈 beans에 포함되어 EJB 모듈에 패키지되어 있습니다. 이를 꺼내"
+"려면 다음을 실행합니다:      "
+
+#. Tag: programlisting
+#: gettingstarted.xml:150
+#, no-c-format
+msgid ""
+"$ cd examples/translator\n"
+"ant deploy"
+msgstr ""
+"$ cd examples/translator\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:152
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and visit <ulink url=\"http://"
+"localhost:8080/webbeans-translator\"></ulink>!"
+msgstr ""
+"애플리케이션이 배치되면 <ulink url=\"http://localhost:8080/webbeans-"
+"translator\"></ulink>에 가보십시오!   "
+
+#. Tag: title
+#: gettingstarted.xml:160
+#, no-c-format
+msgid "Using Apache Tomcat 6.0"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:162
+#, fuzzy, no-c-format
+msgid ""
+"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
+"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
+"For example:"
+msgstr ""
+"다음으로 <ulink url=\"http://seamframework.org/Download\">seamframework.org</"
+"ulink>에서 Web Beans RI를 다운로드하여 압축 풀기를 합니다. 예: "
+
+#. Tag: programlisting
+#: gettingstarted.xml:168
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
+msgstr ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.0.GA.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:178
+#, fuzzy, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
+"property. For example:"
+msgstr ""
+"다음으로, JBoss가 위치해 있는 곳을 Web Beans에게 알려야 합니다. "
+"<literal>jboss-as/build.properties</literal>를 편집하고 <literal>jboss.home</"
+"literal> 속성을 설정합니다. 예: "
+
+#. Tag: programlisting
+#: gettingstarted.xml:184
+#, fuzzy, no-c-format
+msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: gettingstarted.xml:187
+#, fuzzy, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for Tomcat, "
+"these are:"
+msgstr ""
+"예제 용 작성 스크립트는 여러 대상을 제공합니다. 이에는 다음과 같은 것이 있습"
+"니다:   "
+
+#. Tag: para
+#: gettingstarted.xml:193
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
+msgstr ""
+"<literal>ant restart</literal> - exploded 형식으로 예제를 배치합니다      "
+
+#. Tag: para
+#: gettingstarted.xml:199
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+"<literal>ant explode</literal> - 배치 버전을 다시 시작하지 않고 exploded 예제"
+"를 업데이트합니다     "
+
+#. Tag: para
+#: gettingstarted.xml:205
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
+"format"
+msgstr ""
+"<literal>ant deploy</literal> - 압축된 jar 포맷으로 예제를 배치합니다   "
+
+#. Tag: para
+#: gettingstarted.xml:210
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
+msgstr "<literal>ant undeploy</literal> - 서버에서 예제를 제거합니다 "
+
+#. Tag: para
+#: gettingstarted.xml:215
+#, fuzzy, no-c-format
+msgid "<literal>ant tomcat.clean</literal> - clean the example"
+msgstr "<literal>ant clean</literal> - 예제를 지웁니다 "
+
+#. Tag: para
+#: gettingstarted.xml:222
+#, fuzzy, no-c-format
+msgid "To deploy the numberguess example for tomcat:"
+msgstr "numberguess 예제를 배치하려면:    "
+
+#. Tag: programlisting
+#: gettingstarted.xml:226
+#, fuzzy, no-c-format
+msgid ""
+"$ cd examples/tomcat\n"
+"ant tomcat.deploy"
+msgstr ""
+"$ cd examples/translator\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:228
+#, no-c-format
+msgid "Start Tomcat:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:232
+#, fuzzy, no-c-format
+msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: gettingstarted.xml:235
+#, no-c-format
+msgid "If you use Windows, use the <literal>startup.bat</literal>script."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:248
+#, no-c-format
+msgid "Using GlassFish"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:250
+#, no-c-format
+msgid "TODO"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:254
+#, no-c-format
+msgid "The numberguess example"
+msgstr "numberguess 예제 "
+
+#. Tag: para
+#: gettingstarted.xml:256
+#, no-c-format
+msgid ""
+"In the numberguess application you get given 10 attempts to guess a number "
+"between 1 and 100. After each attempt, you will be told whether you are too "
+"high, or too low."
+msgstr ""
+"numberguess 애플리케이션에서 1에서 100사이의 숫자를 알아내기 위해 주어진 10 "
+"번을 시도하게 됩니다. 각각 시도한 후 숫자가 너무 높은지 또는 너무 낮은지를 알"
+"려주게 됩니다. "
+
+#. Tag: para
+#: gettingstarted.xml:262
+#, no-c-format
+msgid ""
+"The numberguess example is comprised of a number of Web Beans, configuration "
+"files, and Facelet JSF pages, packaged as a war. Let's start with the "
+"configuration files."
+msgstr ""
+"numberguess 예제는 여러 Web Beans, 설정 파일, Facelet JSF 페이지로 구성되어 "
+"있으며, war로 패키지되어 있습니다 설정 파일부터 시작합시다. "
+
+#. Tag: para
+#: gettingstarted.xml:268
+#, no-c-format
+msgid ""
+"All the configuration files for this example are located in <literal>WEB-INF/"
+"</literal>, which is stored in <literal>WebContent</literal> in the source "
+"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
+"JSF to use Facelets:"
+msgstr ""
+"예제에 해당하는 모든 설정 파일은 <literal>WEB-INF/</literal>에 위치해 있으"
+"며, 이는 소스 트리에 있는 <literal>WebContent</literal>에 저장되어 있습니다. "
+"먼저, <literal>faces-config.xml</literal>을 사용하여, Facelets를 사용할 JSF"
+"를 알려주게 됩니다:   "
+
+#. Tag: programlisting
+#: gettingstarted.xml:276
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+msgstr ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:278
+#, no-c-format
+msgid ""
+"There is an empty <literal>web-beans.xml</literal> file, which marks this "
+"application as a Web Beans application."
+msgstr ""
+"여기에는 빈 <literal>web-beans.xml</literal> 파일이 있어, 이는 Web Beans 애플"
+"리케이션으로 애플리케이션을 표시합니다. "
+
+#. Tag: para
+#: gettingstarted.xml:283
+#, no-c-format
+msgid "Finally there is <literal>web.xml</literal>:"
+msgstr "마지막으로, <literal>web.xml</literal> 파일이 있습니다:  "
+
+#. Tag: section
+#: gettingstarted.xml:285
+#, fuzzy, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
+"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
+"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
+"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
+"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
+"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
+"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
+"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
+"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
+"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
+"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
+"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
+"session timeout of 10 minutes </para> </callout> </calloutlist> </"
+"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
+"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
+"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
+"id=\"template\" coords=\"8\"/> <area id=\"messages2\" coords=\"12\"/> <area "
+"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
+"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
+"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
+"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
+"dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
+"number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
+"number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game."
+"biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
+"{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
+"<para> Facelets is a templating language for JSF, here we are wrapping our "
+"page in a template which defines the header. </para> </callout> <callout "
+"arearefs=\"messages2\"> <para> There are a number of messages which can be "
+"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
+"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
+"range of numbers they can guess gets smaller - this sentance changes to make "
+"sure they know what range to guess in. </para> </callout> <callout arearefs="
+"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
+"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
+"range validator is used to make sure the user doesn't accidentally input a "
+"number outside of the range in which they can guess - if the validator "
+"wasn't here, the user might use up a guess on an out of range number. </"
+"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
+"must be a way for the user to send their guess to the server. Here we bind "
+"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
+"programlistingco>"
+msgstr ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
+"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
+"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
+"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
+"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
+"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
+"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
+"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
+"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
+"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
+"giving our source files (facelets) an extension of <literal>.jsf</literal> </"
+"para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
+"session timeout of 10 minutes </para> </callout> </calloutlist> </"
+"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
+"the Web Beans RI with any Servlet based web framework. </para> </note> "
+"<para> Let's take a look at the Facelet view: </para> <programlistingco> "
+"<areaspec> <area id=\"template\" coords=\"8\"/> <area id=\"messages\" coords="
+"\"12\"/> <area id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords="
+"\"25\"/> <area id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords="
+"\"33\"/> </areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//"
+"W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/"
+"xhtml1-transitional.dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
+"number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
+"number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game."
+"biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
+"{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
+"<para> Facelets is a templating language for JSF, here we are wrapping our "
+"page in a template which defines the header. </para> </callout> <callout "
+"arearefs=\"messages\"> <para> There are a number of messages which can be "
+"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
+"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
+"range of numbers they can guess gets smaller - this sentance changes to make "
+"sure they know what range to guess in. </para> </callout> <callout arearefs="
+"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
+"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
+"range validator is used to make sure the user doesn't accidentally input a "
+"number outside of the range in which they can guess - if the validator "
+"wasn't here, the user might use up a guess on an out of range number. </"
+"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
+"must be a way for the user to send their guess to the server. Here we bind "
+"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
+"programlistingco>"
+
+#. Tag: para
+#: gettingstarted.xml:387
+#, no-c-format
+msgid ""
+"The example exists of 4 classes, the first two of which are binding types. "
+"First, there is the <literal>@Random</literal> binding type, used for "
+"injecting a random number:"
+msgstr ""
+"예제에는 4 개의 클래스가 존재합니다, 첫 번째 두 개는 바인딩 유형입니다. 먼"
+"저, 임의의 숫자를 삽입하기 위해 사용되는 <literal>@Random</literal> 바인딩 유"
+"형이 있습니다:      "
+
+#. Tag: programlisting
+#: gettingstarted.xml:393
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+msgstr ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+
+#. Tag: para
+#: gettingstarted.xml:395
+#, no-c-format
+msgid ""
+"There is also the <literal>@MaxNumber</literal> binding type, used for "
+"injecting the maximum number that can be injected:"
+msgstr ""
+"삽입될 수 있는 최대 번호 삽입하기 위해 사용되는 <literal>@MaxNumber</"
+"literal> 바인딩 유형도 있습니다:       "
+
+#. Tag: programlisting
+#: gettingstarted.xml:400
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+msgstr ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+
+#. Tag: para
+#: gettingstarted.xml:402
+#, no-c-format
+msgid ""
+"The <literal>Generator</literal> class is responsible for creating the "
+"random number, via a producer method. It also exposes the maximum possible "
+"number via a producer method:"
+msgstr ""
+"<literal>Generator</literal> 클래스는 생산자 방식을 통해 임의의 숫자를 생성해"
+"야 할 책임이 있습니다. 또한 이는 생산자 방식을 통하여 가능한 최대 숫자를 나타"
+"냅니다:  "
+
+#. Tag: programlisting
+#: gettingstarted.xml:408
+#, no-c-format
+msgid ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System."
+"currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+msgstr ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System."
+"currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+
+#. Tag: para
+#: gettingstarted.xml:410
+#, no-c-format
+msgid ""
+"You'll notice that the <literal>Generator</literal> is application scoped; "
+"therefore we don't get a different random each time."
+msgstr ""
+"<literal>Generator</literal>는 애플리케이션 범위로 되어 있음을 발견하실 것입"
+"니다; 따라서 매번 다른 임의 숫자를 갖지 않게 됩니다. "
+
+#. Tag: para
+#: gettingstarted.xml:415
+#, no-c-format
+msgid ""
+"The final Web Bean in the application is the session scoped <literal>Game</"
+"literal>."
+msgstr ""
+"애플리케이션에 있는 마지막 Web Bean은 <literal>Game</literal> 범위 세션입니"
+"다. "
+
+#. Tag: para
+#: gettingstarted.xml:420
+#, no-c-format
+msgid ""
+"You'll note that we've used the <literal>@Named</literal> annotation, so "
+"that we can use the bean through EL in the JSF page. Finally, we've used "
+"constructor injection to initialize the game with a random number. And of "
+"course, we need to tell the player when they've won, so we give feedback "
+"with a <literal>FacesMessage</literal>."
+msgstr ""
+"<literal>@Named</literal> 어노테이션이 사용되므로 JSF 페이지에서 EL을 통해 "
+"bean을 사용할 수 있음을 인지하실 것입니다. 마지막으로 생성자 삽입을 사용하여 "
+"임의의 숫자로 게임을 초기화합니다. 물론, 게임 플레이어에게 언제 게임에어 이겼"
+"는지를 알려주어야 하므로, <literal>FacesMessage</literal>로 피드백을 제공합니"
+"다.       "
+
+#. Tag: programlisting
+#: gettingstarted.xml:428
+#, no-c-format
+msgid ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
+"(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new "
+"AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+msgstr ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
+"(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new "
+"AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+
+#. Tag: title
+#: gettingstarted.xml:431
+#, fuzzy, no-c-format
+msgid "The numberguess example in Tomcat"
+msgstr "numberguess 예제 "
+
+#. Tag: para
+#: gettingstarted.xml:433
+#, no-c-format
+msgid ""
+"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
+"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
+"literal>. For your convenience we provide a single jar suitable for running "
+"Web Beans in any servlet container <literal>webbeans-servlet.jar</literal>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:442
+#, no-c-format
+msgid ""
+"Of course, you must also include JSF and EL, as well common annotations "
+"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:449
+#, no-c-format
+msgid ""
+"Secondly, we need to explicitly specify the servlet listener (used to boot "
+"Web Beans, and control it's interaction with requests) in <literal>web.xml</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:455
+#, no-c-format
+msgid ""
+"<![CDATA[<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:460
+#, fuzzy, no-c-format
+msgid "The numberguess example for Apache Wicket"
+msgstr "numberguess 예제 "
+
+#. Tag: para
+#: gettingstarted.xml:461
+#, no-c-format
+msgid ""
+"Whilst JSR-299 specifies integration with Java ServerFaces, Web Beans allows "
+"you to inject into Wicket components, and also allows you to use a "
+"conversation context with Wicket. In this section, we'll walk you through "
+"the Wicket version of the numberguess example."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:470
+#, no-c-format
+msgid ""
+"You may want to review the Wicket documentation at <ulink url=\"http://"
+"wicket.apache.org/\">http://wicket.apache.org/</ulink>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:476
+#, no-c-format
+msgid ""
+"Like the previous example, the Wicket WebBeans examples make use of the "
+"<literal>webbeans-servlet</literal> module. The use of the <ulink url="
+"\"http://jetty.mortbay.org/\">Jetty servlet container</ulink> is common in "
+"the Wicket community, and is chosen here as the runtime container in order "
+"to facilitate comparison between the standard Wicket examples and these "
+"examples, and also to show how the webbeans-servlet integration is not "
+"dependent upon Tomcat as the servlet container."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:487
+#, no-c-format
+msgid ""
+"These examples make use of the Eclipse IDE; instructions are also given to "
+"deploy the application from the command line."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:493
+#, no-c-format
+msgid "Creating the Eclipse project"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:495
+#, no-c-format
+msgid "To generate an Eclipse project from the example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:499
+#, no-c-format
+msgid ""
+"<![CDATA[cd examples/wicket/numberguess\n"
+"mvn eclipse:eclipse]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:501
+#, no-c-format
+msgid ""
+"Then, from eclipse, choose <emphasis>File -> Import -> General -> Existing "
+"Projects into Workspace</emphasis>, select the root directory of the "
+"numberguess example, and click finish. This will create a project in your "
+"workspace called <literal>webbeans-wicket-numberguess</literal>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:516
+#, no-c-format
+msgid "Running the example from Eclipse"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:518
+#, no-c-format
+msgid ""
+"This project follows the <literal>wicket-quickstart</literal> approach of "
+"creating an instance of Jetty in the <literal>Start</literal> class. So "
+"running the example is as simple as right-clicking on that Start class in "
+"<literal>src/test/java</literal> in the <emphasis>Package Explorer</"
+"emphasis> and choosing <emphasis>Run as Java Application</emphasis>. You "
+"should see console output related to Jetty starting up; then visit able "
+"<literal>http://localhost:8080</literal> to view the app. To debug choose "
+"<emphasis>Debug as Java Application</emphasis>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:533
+#, no-c-format
+msgid "Running the example from the command line in JBoss AS or Tomcat"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:535
+#, no-c-format
+msgid ""
+"This example can also be deployed from the command line in a (similar to the "
+"other examples). Assuming you have set up the <literal>build.properties</"
+"literal> file in the <literal>examples</literal> directory to specify the "
+"location of JBoss AS or Tomcat, as previously described, you can run "
+"<literal>ant deploy</literal> from the <literal>examples/wicket/numberguess</"
+"literal> directory, and access the application at <literal>http://"
+"localhost:8080/webbeans-numberguess-wicket</literal>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:549
+#, no-c-format
+msgid "Understanding the code"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:551
+#, no-c-format
+msgid ""
+"JSF uses Unified EL expressions to bind view layer components in JSP or "
+"Facelet views to beans, Wicket defines it's components in Java. The markup "
+"is plain html with a one-to-one mapping between html elements and the view "
+"components. All view logic, including binding of components to models and "
+"controlling the response of view actions, is handled in Java. The "
+"integration of Web Beans with Wicket takes advantage of the same binding "
+"annotations used in your business layer to provide injection into your "
+"WebPage subclass (or into other custom wicket component subclasses)."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:563
+#, no-c-format
+msgid ""
+"The code in the wicket numberguess example is very similar to the JSF-based "
+"numberguess example. The business layer is identical!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:568
+#, no-c-format
+msgid "Differences are:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:573
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass, In our case, our application class is <literal>SampleApplication</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:579
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:580
+#, no-c-format
+msgid ""
+"This class specifies which page wicket should treat as our home page, in our "
+"case, <literal>HomePage.class</literal>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:586
+#, no-c-format
+msgid ""
+"In <literal>HomePage</literal> we see typical wicket code to set up page "
+"elements. The bit that is interesting is the injection of the <literal>Game</"
+"literal> bean:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:592
+#, no-c-format
+msgid "<![CDATA[ @Current Game game;]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:594
+#, no-c-format
+msgid ""
+"The <literal>Game</literal> bean is can then be used, for example, by the "
+"code for submitting a guess:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:599
+#, no-c-format
+msgid ""
+"<![CDATA[final Component guessButton = new AjaxButton(\"GuessButton\") { \n"
+"   protected void onSubmit(AjaxRequestTarget target, Form form) {\n"
+"      if (game.check()) {]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:602
+#, no-c-format
+msgid ""
+"All injections may be serialized; actual storage of the bean is managed by "
+"JSR-299. Note that Wicket components, like the HomePage and it "
+"subcomponents, are <emphasis>not</emphasis> JSR-299 beans."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:608
+#, no-c-format
+msgid ""
+"Wicket components allow injection, but they <emphasis>cannot</emphasis> use "
+"interceptors, decorators and lifecycle callbacks such as "
+"<literal>@PostConstruct</literal> or <literal>@Initializer</literal> methods."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:618
+#, no-c-format
+msgid ""
+"The example uses AJAX for processing of button events, and dynamically hides "
+"buttons that are no longer relevant, for example when the user has won the "
+"game."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:626
+#, no-c-format
+msgid ""
+"In order to activate wicket for this webapp, the Wicket filter is added to "
+"web.xml, and our application class is specified:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:631
+#, no-c-format
+msgid ""
+"<![CDATA[<filter>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-"
+"class>\n"
+"   <init-param>\n"
+"      <param-name>applicationClassName</param-name>\n"
+"      <param-value>org.jboss.webbeans.examples.wicket.SampleApplication</"
+"param-value>\n"
+"   </init-param>\n"
+"</filter>\n"
+"\n"
+"<filter-mapping>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <url-pattern>/*</url-pattern>\n"
+"</filter-mapping>\n"
+" \n"
+"<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:632
+#, no-c-format
+msgid ""
+"Note that the servlet listener is also added, as in the Tomcat example, in "
+"order to boostrap Web Beans when Jetty starts, and to hook Web Beans into "
+"the Jetty servlet request and session lifecycles."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:645
+#, fuzzy, no-c-format
+msgid "The numberguess example for Java SE with Swing"
+msgstr "numberguess 예제 "
+
+#. Tag: para
+#: gettingstarted.xml:647
+#, no-c-format
+msgid ""
+"This example can be found in the <literal>examples/se/numberguess</literal> "
+"folder of the Web Beans distribution."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:654
+#, fuzzy, no-c-format
+msgid "To run this example:"
+msgstr "번역 예제  "
+
+#. Tag: para
+#: gettingstarted.xml:660
+#, no-c-format
+msgid ""
+"Open a command line/terminal window in the <literal>examples/se/numberguess</"
+"literal> directory"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:666
+#, no-c-format
+msgid "Ensure that Maven 2 is installed and in your PATH"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:671
+#, no-c-format
+msgid ""
+"Ensure that the <literal>JAVA_HOME</literal> environment variable is "
+"pointing to your JDK installation"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:677
+#, no-c-format
+msgid "execute the following command"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:680
+#, no-c-format
+msgid "mvn -Drun"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:686
+#, fuzzy, no-c-format
+msgid ""
+"There is an empty <literal>beans.xml</literal> file in the root package "
+"(<literal>src/main/resources/beans.xml</literal>), which marks this "
+"application as a Web Beans application."
+msgstr ""
+"여기에는 빈 <literal>web-beans.xml</literal> 파일이 있어, 이는 Web Beans 애플"
+"리케이션으로 애플리케이션을 표시합니다. "
+
+#. Tag: para
+#: gettingstarted.xml:692
+#, no-c-format
+msgid ""
+"The game's main logic is located in <literal>Game.java</literal>. Here is "
+"the code for that class, highlighting the changes made from the web "
+"application version:"
+msgstr ""
+
+#. Tag: section
+#: gettingstarted.xml:696
+#, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"scope\" coords=\"1\"/> <area id="
+"\"name\" coords=\"1\"/> <area id=\"messages1\" coords=\"26\"/> <area id="
+"\"validation\" coords=\"39\"/> <area id=\"reset\" coords=\"68\"/> </"
+"areaspec> <programlisting role=\"JAVA\"><![CDATA[@ApplicationScoped\n"
+"public class Game implements Serializable\n"
+"{\n"
+"\n"
+"    private int number;\n"
+"    private int guess;\n"
+"    private int smallest;\n"
+"\n"
+"    @MaxNumber\n"
+"    private int maxNumber;\n"
+"\n"
+"    private int biggest;\n"
+"    private int remainingGuesses;\n"
+"    private boolean validNumberRange = true;\n"
+"\n"
+"    @Current Generator rndGenerator;\n"
+"\n"
+"    ...\n"
+"\n"
+"    public boolean isValidNumberRange()\n"
+"    {\n"
+"        return validNumberRange;\n"
+"    }\n"
+"\n"
+"    public boolean isGameWon()\n"
+"    {\n"
+"        return guess == number;\n"
+"    }\n"
+"\n"
+"    public boolean isGameLost()\n"
+"    {\n"
+"        return guess != number && remainingGuesses <= 0;\n"
+"    }\n"
+"\n"
+"    public boolean check()\n"
+"    {\n"
+"        boolean result = false;\n"
+"\n"
+"        if ( checkNewNumberRangeIsValid() )\n"
+"        {\n"
+"            if ( guess > number )\n"
+"            {\n"
+"                biggest = guess - 1;\n"
+"            }\n"
+"\n"
+"            if ( guess < number )\n"
+"            {\n"
+"                smallest = guess + 1;\n"
+"            }\n"
+"\n"
+"            if ( guess == number )\n"
+"            {\n"
+"                result = true;\n"
+"            }\n"
+"\n"
+"            remainingGuesses--;\n"
+"        }\n"
+"\n"
+"        return result;\n"
+"    }\n"
+"\n"
+"    private boolean checkNewNumberRangeIsValid()\n"
+"    {\n"
+"        return validNumberRange = ( ( guess >= smallest ) && ( guess <= "
+"biggest ) );\n"
+"    }\n"
+"\n"
+"    @PostConstruct\n"
+"    public void reset()\n"
+"    {\n"
+"        this.smallest = 0;\n"
+"        ...\n"
+"        this.number = rndGenerator.next();\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"scope\"> <para> The "
+"bean is application scoped instead of session scoped, since an instance of "
+"the application represents a single 'session'. </para> </callout> <callout "
+"arearefs=\"name\"> <para> The bean is not named, since it doesn't need to be "
+"accessed via EL </para> </callout> <callout arearefs=\"messages1\"> <para> "
+"There is no JSF <literal>FacesContext</literal> to add messages to. Instead "
+"the <literal>Game</literal> class provides additional information about the "
+"state of the current game including: </para> <itemizedlist> <listitem> "
+"<para> If the game has been won or lost </para> </listitem> <listitem> "
+"<para> If the most recent guess was invalid </para> </listitem> </"
+"itemizedlist> <para> This allows the Swing UI to query the state of the "
+"game, which it does indirectly via a class called <literal>MessageGenerator,"
+"</literal> in order to determine the appropriate messages to display to the "
+"user during the game. </para> </callout> <callout arearefs=\"validation\"> "
+"<para> Validation of user input is performed during the <literal>check()</"
+"literal> method, since there is no dedicated validation phase </para> </"
+"callout> <callout arearefs=\"reset\"> <para> The <literal>reset()</literal> "
+"method makes a call to the injected <literal>rndGenerator</literal> in order "
+"to get the random number at the start of each game. It cannot use "
+"<literal>manager.getInstanceByType(Integer.class, new AnnotationLiteral&lt;"
+"Random&gt;(){})</literal> as the JSF example does because there will not be "
+"any active contexts like there is during a JSF request. </para> </callout> </"
+"calloutlist> </programlistingco> <para> The <literal>MessageGenerator</"
+"literal> class depends on the current instance of <literal>Game</literal>, "
+"and queries its state in order to determine the appropriate messages to "
+"provide as the prompt for the user's next guess and the response to the "
+"previous guess. The code for <literal>MessageGenerator</literal> is as "
+"follows: </para> <programlistingco> <areaspec> <area id=\"game\" coords=\"3"
+"\"/> <area id=\"challenge\" coords=\"5\"/> <area id=\"result\" coords=\"16\"/"
+"> </areaspec> <programlisting role=\"JAVA\"><![CDATA[public class "
+"MessageGenerator\n"
+"{\n"
+"    @Current Game game;\n"
+"\n"
+"    public String getChallengeMessage()\n"
+"    {\n"
+"        StringBuilder challengeMsg = new StringBuilder( \"I'm thinking of a "
+"number between \" );\n"
+"        challengeMsg.append( game.getSmallest() );\n"
+"        challengeMsg.append( \" and \" );\n"
+"        challengeMsg.append( game.getBiggest() );\n"
+"        challengeMsg.append( \". Can you guess what it is?\" );\n"
+"\n"
+"        return challengeMsg.toString();\n"
+"    }\n"
+"\n"
+"    public String getResultMessage()\n"
+"    {\n"
+"        if ( game.isGameWon() )\n"
+"        {\n"
+"            return \"You guess it! The number was \" + game.getNumber();\n"
+"        } else if ( game.isGameLost() )\n"
+"        {\n"
+"            return \"You are fail! The number was \" + game.getNumber();\n"
+"        } else if ( ! game.isValidNumberRange() )\n"
+"        {\n"
+"            return \"Invalid number range!\";\n"
+"        } else if ( game.getRemainingGuesses() == Game.MAX_NUM_GUESSES )\n"
+"        {\n"
+"            return \"What is your first guess?\";\n"
+"        } else\n"
+"        {\n"
+"            String direction = null;\n"
+"\n"
+"            if ( game.getGuess() < game.getNumber() )\n"
+"            {\n"
+"                direction = \"Higher\";\n"
+"            } else\n"
+"            {\n"
+"                direction = \"Lower\";\n"
+"            }\n"
+"\n"
+"            return direction + \"! You have \" + game.getRemainingGuesses() "
+"+ \" guesses left.\";\n"
+"        }\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"game\"> <para> The "
+"instance of <literal>Game</literal> for the application is injected here. </"
+"para> </callout> <callout arearefs=\"challenge\"> <para> The <literal>Game</"
+"literal>'s state is interrogated to determine the appropriate challenge "
+"message. </para> </callout> <callout arearefs=\"result\"> <para> And again "
+"to determine whether to congratulate, console or encourage the user to "
+"continue. </para> </callout> </calloutlist> </programlistingco> <para> "
+"Finally we come to the <literal>NumberGuessFrame</literal> class which "
+"provides the Swing front end to our guessing game. </para> "
+"<programlistingco> <areaspec> <area id=\"gameIn\" coords=\"3\"/> <area id="
+"\"messagesIn\" coords=\"4\"/> <area id=\"start\" coords=\"6\"/> <area id="
+"\"init\" coords=\"18\"/> <area id=\"guess1\" coords=\"34\"/> <area id="
+"\"replay\" coords=\"44\"/> <area id=\"refresh\" coords=\"50\"/> </areaspec> "
+"<programlisting role=\"JAVA\"><![CDATA[public class NumberGuessFrame  "
+"extends javax.swing.JFrame\n"
+"{\n"
+"    private @Current Game game;\n"
+"    private @Current MessageGenerator msgGenerator;\n"
+"\n"
+"    public void start( @Observes @Deployed Manager manager )\n"
+"    {\n"
+"        java.awt.EventQueue.invokeLater( new Runnable()\n"
+"            {\n"
+"                public void run()\n"
+"                {\n"
+"                    initComponents();\n"
+"                    setVisible( true );\n"
+"                }\n"
+"            } );\n"
+"    }\n"
+"\n"
+"    private void initComponents() {\n"
+"\n"
+"        buttonPanel = new javax.swing.JPanel();\n"
+"        mainMsgPanel = new javax.swing.JPanel();\n"
+"        mainLabel = new javax.swing.JLabel();\n"
+"        messageLabel = new javax.swing.JLabel();\n"
+"        guessText = new javax.swing.JTextField();\n"
+"        ...\n"
+"        mainLabel.setText(msgGenerator.getChallengeMessage());\n"
+"        mainMsgPanel.add(mainLabel);\n"
+"\n"
+"        messageLabel.setText(msgGenerator.getResultMessage());\n"
+"        mainMsgPanel.add(messageLabel);\n"
+"        ...\n"
+"    }\n"
+"\n"
+"    private void guessButtonActionPerformed( java.awt.event.ActionEvent "
+"evt )\n"
+"    {\n"
+"        int guess =  Integer.parseInt(guessText.getText());\n"
+"\n"
+"        game.setGuess( guess );\n"
+"        game.check();\n"
+"        refreshUI();\n"
+"\n"
+"    }\n"
+"\n"
+"    private void replayBtnActionPerformed( java.awt.event.ActionEvent evt )\n"
+"    {\n"
+"       game.reset();\n"
+"       refreshUI();\n"
+"    }\n"
+"\n"
+"    private void refreshUI()\n"
+"    {\n"
+"        mainLabel.setText( msgGenerator.getChallengeMessage() );\n"
+"        messageLabel.setText( msgGenerator.getResultMessage() );\n"
+"        guessText.setText( \"\" );\n"
+"        guessesLeftBar.setValue( game.getRemainingGuesses() );\n"
+"        guessText.requestFocus();\n"
+"    }\n"
+"\n"
+"    // swing components\n"
+"    private javax.swing.JPanel borderPanel;\n"
+"    ...\n"
+"    private javax.swing.JButton replayBtn;\n"
+"\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"gameIn\"> <para> The "
+"injected instance of the game (logic and state). </para> </callout> <callout "
+"arearefs=\"messagesIn\"> <para> The injected message generator for UI "
+"messages. </para> </callout> <callout arearefs=\"start\"> <para> This "
+"application is started in the usual Web Beans SE way, by observing the "
+"<literal>@Deployed Manager</literal> event. </para> </callout> <callout "
+"arearefs=\"init\"> <para> This method initialises all of the Swing "
+"components. Note the use of the <literal>msgGenerator</literal>. </para> </"
+"callout> <callout arearefs=\"guess1\"> <para> "
+"<literal>guessButtonActionPerformed</literal> is called when the 'Guess' "
+"button is clicked, and it does the following: </para> <itemizedlist> "
+"<listitem> <para> Gets the guess entered by the user and sets it as the "
+"current guess in the <literal>Game</literal> </para> </listitem> <listitem> "
+"<para> Calls <literal>game.check()</literal> to validate and perform one "
+"'turn' of the game </para> </listitem> <listitem> <para> Calls "
+"<literal>refreshUI</literal>. If there were validation errors with the "
+"input, this will have been captured during <literal>game.check()</literal> "
+"and as such will be reflected in the messeges returned by "
+"<literal>MessageGenerator</literal> and subsequently presented to the user. "
+"If there are no validation errors then the user will be told to guess again "
+"(higher or lower) or that the game has ended either in a win (correct guess) "
+"or a loss (ran out of guesses). </para> </listitem> </itemizedlist> </"
+"callout> <callout arearefs=\"replay\"> <para> "
+"<literal>replayBtnActionPerformed</literal> simply calls <literal>game.reset"
+"()</literal> to start a new game and refreshes the messages in the UI. </"
+"para> </callout> <callout arearefs=\"refresh\"> <para> <literal>refreshUI</"
+"literal> uses the <literal>MessageGenerator</literal> to update the messages "
+"to the user based on the current state of the Game. </para> </callout> </"
+"calloutlist> </programlistingco>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:904
+#, no-c-format
+msgid "The translator example"
+msgstr "번역 예제  "
+
+#. Tag: para
+#: gettingstarted.xml:906
+#, no-c-format
+msgid ""
+"The translator example will take any sentences you enter, and translate them "
+"to Latin."
+msgstr "번역 예제는 입력하신 아무 문장을 가져가 이를 라틴어로 번역합니다. "
+
+#. Tag: para
+#: gettingstarted.xml:911
+#, no-c-format
+msgid ""
+"The translator example is built as an ear, and contains EJBs. As a result, "
+"it's structure is more complex than the numberguess example."
+msgstr ""
+"번역 예제는 ear로 작성되며, EJB가 들어있게 됩니다. 따라서, 문장 구조가 "
+"numberguess 예보다 훨씬 복잡합니다.  "
+
+#. Tag: para
+#: gettingstarted.xml:917
+#, no-c-format
+msgid ""
+"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
+"this structure much simpler!"
+msgstr ""
+"EJB 3.1 및 Jave EE 6는 EJB를 war로 패키지하게 하여, 이러한 문장을 보다 간단하"
+"게 만들게 됩니다! "
+
+#. Tag: para
+#: gettingstarted.xml:923
+#, no-c-format
+msgid ""
+"First, let's take a look at the ear aggregator, which is located in "
+"<literal>webbeans-translator-ear</literal> module. Maven automatically "
+"generates the <literal>application.xml</literal> for us:"
+msgstr ""
+"먼저, <literal>webbeans-translator-ear</literal> 모듈에 있는 ear aggregator"
+"를 살펴봅시다. Maven은 자동으로 <literal>application.xml</literal>을 생성합니"
+"다:  "
+
+#. Tag: programlisting
+#: gettingstarted.xml:929
+#, no-c-format
+msgid ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+msgstr ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:931
+#, no-c-format
+msgid ""
+"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
+"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
+"translator</ulink>)."
+msgstr ""
+"url (<ulink url=\"http://localhost:8080/webbeans-translator\">http://"
+"localhost:8080/webbeans-translator</ulink>)을 제공하는 컨텍스트 경로를 설정합"
+"니다.  "
+
+#. Tag: para
+#: gettingstarted.xml:937
+#, no-c-format
+msgid ""
+"If you aren't using Maven to generate these files, you would need "
+"<literal>META-INF/application.xml</literal>:"
+msgstr ""
+"Maven을 사용하여 이러한 파일을 생성할 경우, <literal>META-INF/application."
+"xml</literal>이 필요합니다:  "
+
+#. Tag: programlisting
+#: gettingstarted.xml:942
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web "
+"Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+msgstr ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web "
+"Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:945
+#, fuzzy, no-c-format
+msgid ""
+"Next, lets look at the war. Just as in the numberguess example, we have a "
+"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
+"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
+msgstr ""
+"다음으로, war를 살펴봅시다. numberguess 예제와 같이, <literal>WebContent/WEB-"
+"INF</literal>에 있는 <literal>faces-config.xml</literal> (Facelets를 활성화) "
+"및 <literal>web.xml</literal> (JSF를 활성화)을 갖습니다. "
+
+#. Tag: para
+#: gettingstarted.xml:952
+#, no-c-format
+msgid ""
+"More intersting is the facelet used to translate text. Just as in the "
+"numberguess example we have a template, which surrounds the form (ommitted "
+"here for brevity):"
+msgstr ""
+"텍스트를 번역하데 facelet이 사용됩니다. numberguess 예제에서와 같이 양식으로"
+"된 템플릿이 있습니다 (간결하게 하기 위해 여기서는 생략됨): "
+
+#. Tag: programlisting
+#: gettingstarted.xml:958
+#, no-c-format
+msgid ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+msgstr ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:960
+#, no-c-format
+msgid ""
+"The user can enter some text in the lefthand textarea, and hit the translate "
+"button to see the result to the right."
+msgstr ""
+"사용자는 왼쪽 텍스트 부분에 텍스트를 입력할 수 있으며, 번역하기 버튼을 누르"
+"면 오른쪽에 번역 결과가 나타나게 됩니다.   "
+
+#. Tag: para
+#: gettingstarted.xml:965
+#, no-c-format
+msgid ""
+"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
+"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
+"empty <literal>web-beans.xml</literal>, used to mark the archive as "
+"containing Web Beans."
+msgstr ""
+"마지막으로, ejb 모듈인 <literal>webbeans-translator-ejb</literal>를 살펴봅시"
+"다. <literal>src/main/resources/META-INF</literal>에는 Web Beans가 들어 있는 "
+"것으로 아카이브를 표시하기 위해 사용되는 빈 <literal>web-beans.xml</literal>"
+"이 있습니다. "
+
+#. Tag: para
+#: gettingstarted.xml:973
+#, no-c-format
+msgid ""
+"We've saved the most interesting bit to last, the code! The project has two "
+"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
+"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
+"literal> and <literal>SentenceTranslator</literal>. You should be getting "
+"quite familiar with what a Web Bean looks like by now, so we'll just "
+"highlight the most interesting bits here."
+msgstr ""
+"가장 흥미로운 코드 부분은 마지막을 위해 남겨두겠습니다! 프로젝트에는 두 개의 "
+"심플 beans인 <literal>SentenceParser</literal> 및 <literal>TextTranslator</"
+"literal>와 두 개의 엔터프라이즈 beans인 <literal>TranslatorControllerBean</"
+"literal> 및 <literal>SentenceTranslator</literal>가 있습니다. 이제 Web Bean"
+"에 관해 보다 많이 알고 계실 것이므로, 가장 중요한 부분만 여기서 다루겠습니"
+"다.    "
+
+#. Tag: para
+#: gettingstarted.xml:983
+#, no-c-format
+msgid ""
+"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
+"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
+"initialization:"
+msgstr ""
+"<literal>SentenceParser</literal> 및 <literal>TextTranslator</literal>는 "
+"beans에 의존하며, <literal>TextTranslator</literal>는 생성자 초기화를 사용합"
+"니다: "
+
+#. Tag: programlisting
+#: gettingstarted.xml:989
+#, no-c-format
+msgid ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator "
+"sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+msgstr ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator "
+"sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+
+#. Tag: para
+#: gettingstarted.xml:991
+#, no-c-format
+msgid ""
+"<literal>TextTranslator</literal> is a stateless bean (with a local business "
+"interface), where the magic happens - of course, we couldn't develop a full "
+"translator, but we gave it a good go!"
+msgstr ""
+"<literal>TextTranslator</literal>는 무상태 세션빈으로 (로컬 비지니스 인터페이"
+"스와 함께), 완전한 번역기를 개발할 수는 없지만, 잘 작동하고 있습니다! "
+
+#. Tag: para
+#: gettingstarted.xml:997
+#, no-c-format
+msgid ""
+"Finally, there is UI orientated controller, that collects the text from the "
+"user, and dispatches it to the translator. This is a request scoped, named, "
+"stateful session bean, which injects the translator."
+msgstr ""
+"마지막으로, UI 기반 제어기가 있어, 이는 사용자로 부터 텍스트를 수집하여 번역"
+"기에 이를 보냅니다. 이는 요청 범위, 이름, 상태 유지 세션빈으로 번역기에 삽입"
+"되어 있습니다.  "
+
+#. Tag: programlisting
+#: gettingstarted.xml:1003
+#, no-c-format
+msgid ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+msgstr ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+
+#. Tag: para
+#: gettingstarted.xml:1005
+#, no-c-format
+msgid "The bean also has getters and setters for all the fields on the page."
+msgstr "bean은 페이지에 있는 모든 영역에 대해 getter 및 setter를 갖습니다. "
+
+#. Tag: para
+#: gettingstarted.xml:1009
+#, no-c-format
+msgid "As this is a stateful session bean, we have to have a remove method:"
+msgstr "이는 상태 유지 세션 빈이므로, 제거 방식을 갖고 있어야 합니다:  "
+
+#. Tag: programlisting
+#: gettingstarted.xml:1013
+#, no-c-format
+msgid ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+msgstr ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+
+#. Tag: para
+#: gettingstarted.xml:1015
+#, no-c-format
+msgid ""
+"The Web Beans manager will call the remove method for you when the bean is "
+"destroyed; in this case at the end of the request."
+msgstr ""
+"Web Beans 관리자는 bean이 삭제될 때 제거 방식을 호출하게 됩니다; 이러한 경우 "
+"요청 마지막에 호출하게 됩니다. "
+
+#. Tag: para
+#: gettingstarted.xml:1021
+#, fuzzy, no-c-format
+msgid ""
+"That concludes our short tour of the Web Beans examples. For more on Web "
+"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
+"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
+"Development</ulink>."
+msgstr ""
+"이제 Web Beans RI 예제의 짧은 여정을 마칩니다. RI에 관한 보다 자세한 내용은 "
+"<ulink url=\"http://www.seamframework.org/WebBeans/Development\">http://www."
+"seamframework.org/WebBeans/Development</ulink>에서 살펴보시기 바랍니다.  "
+
+#. Tag: para
+#: gettingstarted.xml:1027
+#, no-c-format
+msgid ""
+"We need help in all areas - bug fixing, writing new features, writing "
+"examples and translating this reference guide."
+msgstr ""
+"버그 수정, 새로운 기능 작성, 예세 작성, 참조 가이드 번역과 같이 모든 영역에"
+"서 도움이 필요합니다. "
+
+#, fuzzy
+#~ msgid ""
+#~ "A new deployer, <literal>webbeans.deployer</literal> is added to JBoss "
+#~ "AS. This adds supports for Web Bean archives to JBoss AS, and allows the "
+#~ "Web Beans RI to query the EJB3 container and discover which EJBs are "
+#~ "installed in your application."
+#~ msgstr ""
+#~ "현재, 두 가지 사항을 업데이트해야 합니다. 처음으로, 새로운 개발자 "
+#~ "<literal>webbeans.deployer</literal>가 추가되어야 합니다. 이는 JBoss AS에 "
+#~ "Web Bean 아카이브 지원을 추가하고 Web Beans RI가 EJB3 컨테이너를 커리하고 "
+#~ "애플리케이션에 어떤 EJB가 있는 지를 검색합니다. 두번째로 JBoss EJB3로 업데"
+#~ "이트해야 합니다. "
+
+#~ msgid ""
+#~ "As Web Beans is a new piece of software, you need to update JBoss AS to "
+#~ "run the Web Beans RI. Future versions of JBoss AS will include these "
+#~ "updates, and this step won't be necessary."
+#~ msgstr ""
+#~ "Web Beans는 새로운 소프트웨어이므로, Web Beans RI를 실행하기 위해 JBoss AS"
+#~ "를 업데이트해야 합니다. 향후 JBoss AS 버전에는 이러한 업데이트가 포함되어 "
+#~ "있으므로, 이러한 작업 단계는 필요하지 않게 됩니다.  "


Property changes on: doc/trunk/reference/ko-KR/gettingstarted.po
___________________________________________________________________
Name: svn:mergeinfo
   + 

Modified: doc/trunk/reference/ko-KR/producermethods.po
===================================================================
--- doc/trunk/reference/ko-KR/producermethods.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/ko-KR/producermethods.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: producermethods\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-01-23 11:12+1000\n"
 "Last-Translator: Eunju Kim <eukim at redhat.com>\n"
 "Language-Team: Korean <ko at li.org>\n"
@@ -47,29 +47,83 @@
 msgid "According to the spec:"
 msgstr "spec에 의하면: "
 
-#. Tag: chapter
-#: producermethods.xml:12
+#. Tag: para
+#: producermethods.xml:16
 #, no-c-format
 msgid ""
-"<blockquote> <para>A Web Beans producer method acts as a source of objects "
-"to be injected, where:</para> <itemizedlist> <listitem> <para>the objects to "
-"be injected are not required to be instances of Web Beans,</para> </"
-"listitem> <listitem> <para>the concrete type of the objects to be injected "
-"may vary at runtime or</para> </listitem> <listitem> <para>the objects "
-"require some custom initialization that is not performed by the Web Bean "
-"constructor</para> </listitem> </itemizedlist> </blockquote> <para>For "
-"example, producer methods let us:</para> <itemizedlist> <listitem> "
-"<para>expose a JPA entity as a Web Bean,</para> </listitem> <listitem> "
-"<para>expose any JDK class as a Web Bean,</para> </listitem> <listitem> "
-"<para>define multiple Web Beans, with different scopes or initialization, "
-"for the same implementation class, or</para> </listitem> <listitem> "
-"<para>vary the implementation of an API type at runtime.</para> </listitem> "
-"</itemizedlist> <para>In particular, producer methods let us use runtime "
-"polymorphism with Web Beans. As we've seen, deployment types are a powerful "
-"solution to the problem of deployment-time polymorphism. But once the system "
-"is deployed, the Web Bean implementation is fixed. A producer method has no "
-"such limitation:</para> <programlisting role=\"JAVA\"><![CDATA"
-"[@SessionScoped\n"
+"A Web Beans producer method acts as a source of objects to be injected, "
+"where:"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:20
+#, no-c-format
+msgid ""
+"the objects to be injected are not required to be instances of Web Beans,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:23
+#, no-c-format
+msgid "the concrete type of the objects to be injected may vary at runtime or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:26
+#, no-c-format
+msgid ""
+"the objects require some custom initialization that is not performed by the "
+"Web Bean constructor"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:33
+#, fuzzy, no-c-format
+msgid "For example, producer methods let us:"
+msgstr "생산자 방식의 범위 "
+
+#. Tag: para
+#: producermethods.xml:37
+#, no-c-format
+msgid "expose a JPA entity as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:40
+#, no-c-format
+msgid "expose any JDK class as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:43
+#, no-c-format
+msgid ""
+"define multiple Web Beans, with different scopes or initialization, for the "
+"same implementation class, or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:47
+#, no-c-format
+msgid "vary the implementation of an API type at runtime."
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:51
+#, no-c-format
+msgid ""
+"In particular, producer methods let us use runtime polymorphism with Web "
+"Beans. As we've seen, deployment types are a powerful solution to the "
+"problem of deployment-time polymorphism. But once the system is deployed, "
+"the Web Bean implementation is fixed. A producer method has no such "
+"limitation:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:56
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[@SessionScoped\n"
 "public class Preferences {\n"
 "    \n"
 "    private PaymentStrategyType paymentStrategy;\n"
@@ -86,53 +140,52 @@
 "        } \n"
 "    }\n"
 "    \n"
-"}]]></programlisting> <para>Consider an injection point:</para> "
-"<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
-"paymentStrat;]]></programlisting> <para>This injection point has the same "
-"type and binding annotations as the producer method, so it resolves to the "
-"producer method using the usual Web Beans injection rules. The producer "
-"method will be called by the Web Bean manager to obtain an instance to "
-"service this injection point.</para>."
+"}]]>"
 msgstr ""
-"<blockquote> <para> Web Beans 생산자 방식은 삽입될 객체 소스로 작동합니다, 여"
-"기서 </para> <itemizedlist> <listitem> <para> 삽입될 객체는 Web Beans의 인스"
-"턴스가 될 필요가 없습니다,</para> </listitem> <listitem> <para> 삽입되야 할 "
-"객체의 구체적 타입은 런타임 시 달라질 수 있습니다 </para> </listitem> "
-"<listitem> <para> 사용자 정의 초기화가 필요한 객체는 Web Bean 생성자에 의해 "
-"실행되지 않습니다</para> </listitem> </itemizedlist> </blockquote> <para> 예"
-"를 들어, 생산자 방식은 다음을 허용합니다: </para> <itemizedlist> <listitem> "
-"<para>Web Bean으로서 JPA 엔티티 노출,</para> </listitem> <listitem> "
-"<para>Web Bean으로서 JDK 클래스 노출,</para> </listitem> <listitem> <para>동"
-"일한 구현 클래스에 대해 다른 범위 또는 초기화를 사용하여 여러 Web Beans를 정"
-"의, </para> </listitem> <listitem> <para>런타임 시 다양한 API 유형 구현.</"
-"para> </listitem> </itemizedlist> <para> 특히, 생산자 방식은 Web Beans를 사용"
-"하여 런타임 다형성을 사용하게 합니다. 이미 알고 있듯이, 배치 유형은 배치 시"
-"간 다형성 문제의 강력한 해결책입니다. 하지만 일단 시스템이 운용되면 Web Bean "
-"구현은 고정됩니다. 생산자 방식은 이러한 한계를 갖지 않습니다:</para> "
-"<programlisting role=\"JAVA\"><![CDATA[@SessionScoped\n"
-"public class Preferences {\n"
-"    \n"
-"    private PaymentStrategyType paymentStrategy;\n"
-"    \n"
+"<![CDATA[@Produces @Preferred @SessionScoped\n"
+"public PaymentStrategy getPaymentStrategy(CreditCardPaymentStrategy ccps,\n"
+"                                          ChequePaymentStrategy cps,\n"
+"                                          PayPalPaymentStrategy ppps) {\n"
+"    switch (paymentStrategy) {\n"
+"        case CREDIT_CARD: return ccps;\n"
+"        case CHEQUE: return cps;\n"
+"        case PAYPAL: return ppps;\n"
+"        default: return null;\n"
+"    } \n"
+"}]]>"
+
+#. Tag: para
+#: producermethods.xml:58
+#, no-c-format
+msgid "Consider an injection point:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:60
+#, fuzzy, no-c-format
+msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
+msgstr ""
+"<![CDATA[@Produces @Preferred @SessionScoped\n"
+"public PaymentStrategy getPaymentStrategy() {\n"
 "    ...\n"
-"    \n"
-"    @Produces @Preferred \n"
-"    public PaymentStrategy getPaymentStrategy() {\n"
-"        switch (paymentStrategy) {\n"
-"            case CREDIT_CARD: return new CreditCardPaymentStrategy();\n"
-"            case CHEQUE: return new ChequePaymentStrategy();\n"
-"            case PAYPAL: return new PayPalPaymentStrategy();\n"
-"            default: return null;\n"
-"        } \n"
-"    }\n"
-"    \n"
-"}]]></programlisting> <para>삽입 지점 고려:</para> <programlisting role="
-"\"JAVA\"><![CDATA[@Preferred PaymentStrategy paymentStrat;]]></"
-"programlisting> <para> 이러한 삽입 지점은 동일한 유형을 갖으며 생산자 방식으"
-"로 어노테이션을 바인딩하므로, 일반적인 Web Beans 삽입 규칙을 사용하여 생산자 "
-"방식을 해결합니다. 생산자 방식은 Web Bean 관리자에 의해 호출되어 이러한 삽입 "
-"지점을 서비스하기 위해 인스턴스를 획득합니다.</para>.  "
+"}]]>"
 
+#. Tag: para
+#: producermethods.xml:62
+#, no-c-format
+msgid ""
+"This injection point has the same type and binding annotations as the "
+"producer method, so it resolves to the producer method using the usual Web "
+"Beans injection rules. The producer method will be called by the Web Bean "
+"manager to obtain an instance to service this injection point."
+msgstr ""
+
+#. Tag: chapter
+#: producermethods.xml:65
+#, no-c-format
+msgid "<chapter>.</chapter>"
+msgstr ""
+
 #. Tag: title
 #: producermethods.xml:68
 #, no-c-format
@@ -358,13 +411,26 @@
 "에 <literal>Preferences</literal> 객체가 삭제될 때 까지 삭제되지 않습니"
 "다.      "
 
-#, fuzzy
-#~ msgid "For example, producer methods let us:"
-#~ msgstr "생산자 방식의 범위 "
-
-#, fuzzy
 #~ msgid ""
-#~ "<![CDATA[@SessionScoped\n"
+#~ "<blockquote> <para>A Web Beans producer method acts as a source of "
+#~ "objects to be injected, where:</para> <itemizedlist> <listitem> <para>the "
+#~ "objects to be injected are not required to be instances of Web Beans,</"
+#~ "para> </listitem> <listitem> <para>the concrete type of the objects to be "
+#~ "injected may vary at runtime or</para> </listitem> <listitem> <para>the "
+#~ "objects require some custom initialization that is not performed by the "
+#~ "Web Bean constructor</para> </listitem> </itemizedlist> </blockquote> "
+#~ "<para>For example, producer methods let us:</para> <itemizedlist> "
+#~ "<listitem> <para>expose a JPA entity as a Web Bean,</para> </listitem> "
+#~ "<listitem> <para>expose any JDK class as a Web Bean,</para> </listitem> "
+#~ "<listitem> <para>define multiple Web Beans, with different scopes or "
+#~ "initialization, for the same implementation class, or</para> </listitem> "
+#~ "<listitem> <para>vary the implementation of an API type at runtime.</"
+#~ "para> </listitem> </itemizedlist> <para>In particular, producer methods "
+#~ "let us use runtime polymorphism with Web Beans. As we've seen, deployment "
+#~ "types are a powerful solution to the problem of deployment-time "
+#~ "polymorphism. But once the system is deployed, the Web Bean "
+#~ "implementation is fixed. A producer method has no such limitation:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@SessionScoped\n"
 #~ "public class Preferences {\n"
 #~ "    \n"
 #~ "    private PaymentStrategyType paymentStrategy;\n"
@@ -381,25 +447,50 @@
 #~ "        } \n"
 #~ "    }\n"
 #~ "    \n"
-#~ "}]]>"
+#~ "}]]></programlisting> <para>Consider an injection point:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
+#~ "paymentStrat;]]></programlisting> <para>This injection point has the same "
+#~ "type and binding annotations as the producer method, so it resolves to "
+#~ "the producer method using the usual Web Beans injection rules. The "
+#~ "producer method will be called by the Web Bean manager to obtain an "
+#~ "instance to service this injection point.</para>."
 #~ msgstr ""
-#~ "<![CDATA[@Produces @Preferred @SessionScoped\n"
-#~ "public PaymentStrategy getPaymentStrategy(CreditCardPaymentStrategy "
-#~ "ccps,\n"
-#~ "                                          ChequePaymentStrategy cps,\n"
-#~ "                                          PayPalPaymentStrategy ppps) {\n"
-#~ "    switch (paymentStrategy) {\n"
-#~ "        case CREDIT_CARD: return ccps;\n"
-#~ "        case CHEQUE: return cps;\n"
-#~ "        case PAYPAL: return ppps;\n"
-#~ "        default: return null;\n"
-#~ "    } \n"
-#~ "}]]>"
-
-#, fuzzy
-#~ msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
-#~ msgstr ""
-#~ "<![CDATA[@Produces @Preferred @SessionScoped\n"
-#~ "public PaymentStrategy getPaymentStrategy() {\n"
+#~ "<blockquote> <para> Web Beans 생산자 방식은 삽입될 객체 소스로 작동합니"
+#~ "다, 여기서 </para> <itemizedlist> <listitem> <para> 삽입될 객체는 Web "
+#~ "Beans의 인스턴스가 될 필요가 없습니다,</para> </listitem> <listitem> "
+#~ "<para> 삽입되야 할 객체의 구체적 타입은 런타임 시 달라질 수 있습니다 </"
+#~ "para> </listitem> <listitem> <para> 사용자 정의 초기화가 필요한 객체는 "
+#~ "Web Bean 생성자에 의해 실행되지 않습니다</para> </listitem> </"
+#~ "itemizedlist> </blockquote> <para> 예를 들어, 생산자 방식은 다음을 허용합"
+#~ "니다: </para> <itemizedlist> <listitem> <para>Web Bean으로서 JPA 엔티티 노"
+#~ "출,</para> </listitem> <listitem> <para>Web Bean으로서 JDK 클래스 노출,</"
+#~ "para> </listitem> <listitem> <para>동일한 구현 클래스에 대해 다른 범위 또"
+#~ "는 초기화를 사용하여 여러 Web Beans를 정의, </para> </listitem> "
+#~ "<listitem> <para>런타임 시 다양한 API 유형 구현.</para> </listitem> </"
+#~ "itemizedlist> <para> 특히, 생산자 방식은 Web Beans를 사용하여 런타임 다형"
+#~ "성을 사용하게 합니다. 이미 알고 있듯이, 배치 유형은 배치 시간 다형성 문제"
+#~ "의 강력한 해결책입니다. 하지만 일단 시스템이 운용되면 Web Bean 구현은 고정"
+#~ "됩니다. 생산자 방식은 이러한 한계를 갖지 않습니다:</para> <programlisting "
+#~ "role=\"JAVA\"><![CDATA[@SessionScoped\n"
+#~ "public class Preferences {\n"
+#~ "    \n"
+#~ "    private PaymentStrategyType paymentStrategy;\n"
+#~ "    \n"
 #~ "    ...\n"
-#~ "}]]>"
+#~ "    \n"
+#~ "    @Produces @Preferred \n"
+#~ "    public PaymentStrategy getPaymentStrategy() {\n"
+#~ "        switch (paymentStrategy) {\n"
+#~ "            case CREDIT_CARD: return new CreditCardPaymentStrategy();\n"
+#~ "            case CHEQUE: return new ChequePaymentStrategy();\n"
+#~ "            case PAYPAL: return new PayPalPaymentStrategy();\n"
+#~ "            default: return null;\n"
+#~ "        } \n"
+#~ "    }\n"
+#~ "    \n"
+#~ "}]]></programlisting> <para>삽입 지점 고려:</para> <programlisting role="
+#~ "\"JAVA\"><![CDATA[@Preferred PaymentStrategy paymentStrat;]]></"
+#~ "programlisting> <para> 이러한 삽입 지점은 동일한 유형을 갖으며 생산자 방식"
+#~ "으로 어노테이션을 바인딩하므로, 일반적인 Web Beans 삽입 규칙을 사용하여 생"
+#~ "산자 방식을 해결합니다. 생산자 방식은 Web Bean 관리자에 의해 호출되어 이러"
+#~ "한 삽입 지점을 서비스하기 위해 인스턴스를 획득합니다.</para>.  "

Modified: doc/trunk/reference/ko-KR/ri-spi.po
===================================================================
--- doc/trunk/reference/ko-KR/ri-spi.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/ko-KR/ri-spi.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: ri-spi\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-01-19 13:32+1000\n"
 "Last-Translator: Eunju Kim <eukim at redhat.com>\n"
 "Language-Team: Korean <ko at li.org>\n"
@@ -27,94 +27,79 @@
 
 #. Tag: title
 #: ri-spi.xml:4
-#, no-c-format
-msgid "Integrating the Web Beans RI into other environments"
+#, fuzzy, no-c-format
+msgid "Integrating Web Beans into other environments"
 msgstr "Web Beans RI를 다른 환경으로 통합 "
 
 #. Tag: para
 #: ri-spi.xml:6
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
-"Currently the Web Beans RI only runs in JBoss AS 5; integrating the RI into "
-"other EE environments (for example another application server like "
-"Glassfish), into a servlet container (like Tomcat), or with an Embedded "
-"EJB3.1 implementation is fairly easy. In this Appendix we will briefly "
-"discuss the steps needed."
+"Currently Web Beans only runs in JBoss AS 5; integrating the RI into other "
+"EE environments (for example another application server like Glassfish), "
+"into a servlet container (like Tomcat), or with an Embedded EJB3.1 "
+"implementation is fairly easy. In this Appendix we will briefly discuss the "
+"steps needed."
 msgstr ""
 "현재 Web Beans RI는 JBoss AS 5에서만 실행됩니다; RI를 기타 다른 EE 환경 (예"
 "를 들어 Glassfish와 같은 다른 애플리케이션 서버)으로 통합, 또는 servlet 컨테"
 "이너로 통합 (예: Tomcat), 또는 내장된 EJB3.1 구현과 통합하는 것은 쉽습니다. "
 "Appendix에서 필요한 절차에 대해 간략하게 살펴보겠습니다.  "
 
-#. Tag: para
+#. Tag: title
 #: ri-spi.xml:15
-#, no-c-format
-msgid ""
-"It should be possible to run Web Beans in an SE environment, but you'll to "
-"do more work, adding your own contexts and lifecycle. The Web Beans RI "
-"currently doesn't expose lifecycle extension points, so you would have to "
-"code directly against Web Beans RI classes."
-msgstr ""
-"SE 환경에서 Web Beans를 실행할 수 있어야 하지만, 자체적 컨텍스트 및 수명 주"
-"기 추가와 같은 더 많은 작업을 해야 합니다. 현재 Web Beans RI는 수명 확장 지점"
-"을 나타내지 않고 있으므로, Web Beans RI 클래스에 대해 직접 코드화해야 합니"
-"다. "
-
-#. Tag: title
-#: ri-spi.xml:24
-#, no-c-format
-msgid "The Web Beans RI SPI"
+#, fuzzy, no-c-format
+msgid "The Web Beans SPI"
 msgstr "Web Beans RI SPI "
 
 #. Tag: para
-#: ri-spi.xml:26
+#: ri-spi.xml:17
 #, fuzzy, no-c-format
 msgid ""
-"The Web Beans SPI is located in <literal>webbeans-spi</literal> module, and "
-"packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, if "
-"you need to override the default behavior, others are required."
+"The Web Beans SPI is located in the <literal>webbeans-spi</literal> module, "
+"and packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, "
+"if you need to override the default behavior, others are required."
 msgstr ""
 "Web Beans SPI는 <literal>webbeans-ri-spi</literal> 모듈에 위치하고 있으며 "
 "<literal>webbeans-ri-spi.jar</literal>로 패키징되어 있습니다. 일부 SPI는 옵"
 "션 사항이며, 기본값 동작을 덮어쓰기해야할 경우, 다른 사항이 필요합니다. "
 
 #. Tag: para
-#: ri-spi.xml:33
+#: ri-spi.xml:24
 #, no-c-format
 msgid ""
 "All interfaces in the SPI support the decorator pattern and provide a "
-"<literal>Forwarding</literal> class."
+"<literal>Forwarding</literal> class located in the <literal>helpers</"
+"literal> sub package. Additional, commonly used, utility classes, and "
+"standard implementations are also located in the <literal>helpers</literal> "
+"sub package."
 msgstr ""
-"SPI에 있는 모든 인터페이스는 데코레이터 패턴을 지원하고 <literal>Forwarding</"
-"literal> 클래스를 제공합니다.  "
 
 #. Tag: title
-#: ri-spi.xml:39
+#: ri-spi.xml:33
 #, no-c-format
 msgid "Web Bean Discovery"
 msgstr "Web Bean 검색 "
 
 #. Tag: programlisting
-#: ri-spi.xml:41
-#, no-c-format
+#: ri-spi.xml:35
+#, fuzzy, no-c-format
 msgid ""
-"<![CDATA[public interface WebBeanDiscovery {\n"
-"   /**\n"
-"    * Gets list of all classes in classpath archives with web-beans.xml "
-"files\n"
+"<![CDATA[/**\n"
+"    * Gets list of all classes in classpath archives with META-INF/beans.xml "
+"(or\n"
+"    * for WARs WEB-INF/beans.xml) files\n"
 "    * \n"
 "    * @return An iterable over the classes \n"
 "    */\n"
 "   public Iterable<Class<?>> discoverWebBeanClasses();\n"
 "   \n"
 "   /**\n"
-"    * Gets a list of all web-beans.xml files in the app classpath\n"
+"    * Gets a list of all deployment descriptors in the app classpath\n"
 "    * \n"
-"    * @return An iterable over the web-beans.xml files \n"
+"    * @return An iterable over the beans.xml files \n"
 "    */\n"
-"   public Iterable<URL> discoverWebBeansXml();\n"
-"   \n"
-"}]]>"
+"   public Iterable<URL> discoverWebBeansXml();]]>"
 msgstr ""
 "<![CDATA[public interface WebBeanDiscovery {\n"
 "   /**\n"
@@ -135,29 +120,37 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:43
-#, no-c-format
+#: ri-spi.xml:37
+#, fuzzy, no-c-format
 msgid ""
-"The discovery of Web Bean classes and <literal>web-bean.xml</literal> files "
-"is self-explanatory (the algorithm is described in Section 11.1 of the JSR-"
-"299 specification, and isn't repeated here)."
+"The discovery of Web Bean classes and <literal>beans.xml</literal> files is "
+"self-explanatory (the algorithm is described in Section 11.1 of the JSR-299 "
+"specification, and isn't repeated here)."
 msgstr ""
 "Web Bean 클래스 및 <literal>web-bean.xml</literal> 파일 검색은 쉽게 알 수 있"
 "습니다 (알고리즘은 JSR-299 사양 11.1장에 설명되어 있으므로 여기서 다시 설명하"
 "지 않습니다).  "
 
 #. Tag: title
-#: ri-spi.xml:52
+#: ri-spi.xml:46
 #, no-c-format
 msgid "EJB services"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:54
+#: ri-spi.xml:49
 #, no-c-format
 msgid ""
-"The Web Beans RI also delegates EJB3 bean discovery to the container so that "
-"it doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
+"Web Beans will run without an EJB container; in this case you don't need to "
+"implement the EJB SPI."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:55
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans also delegates EJB3 bean discovery to the container so that it "
+"doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
 "literal>. For each EJB in the application an EJBDescriptor should be "
 "discovered:"
 msgstr ""
@@ -166,39 +159,13 @@
 "에 있는 각각의 EJB의 경우 EJBDescriptor를 검색해야 합니다: "
 
 #. Tag: programlisting
-#: ri-spi.xml:61
+#: ri-spi.xml:62
 #, fuzzy, no-c-format
 msgid ""
-"<![CDATA[public interface EjbServices\n"
+"<![CDATA[public interface EjbDescriptor<T>\n"
 "{\n"
 "   \n"
 "   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
-msgstr ""
-"<![CDATA[public interface EjbDiscovery\n"
-"{\n"
-"   public static final String PROPERTY_NAME = EjbDiscovery.class.getName();\n"
-"   \n"
-"   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();\n"
-"   \n"
-"}]]>"
-
-#. Tag: programlisting
-#: ri-spi.xml:63
-#, no-c-format
-msgid ""
-"<![CDATA[public interface EjbDescriptor<T> {\n"
-"   \n"
-"   /**\n"
 "    * Gets the EJB type\n"
 "    * \n"
 "    * @return The EJB Bean class\n"
@@ -261,10 +228,7 @@
 "    * \n"
 "    * @return The name\n"
 "    */\n"
-"   public String getEjbName();\n"
-"   \n"
-"   \n"
-"}]]>"
+"   public String getEjbName();]]>"
 msgstr ""
 "<![CDATA[public interface EjbDescriptor<T> {\n"
 "   \n"
@@ -337,7 +301,7 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:65
+#: ri-spi.xml:64
 #, no-c-format
 msgid ""
 "The <literal>EjbDescriptor</literal> is fairly self-explanatory, and should "
@@ -354,17 +318,32 @@
 "색하는데 사용되는 인터페이스 클래스 및 jndi 이름을 캡슐화)  "
 
 #. Tag: para
-#: ri-spi.xml:74
+#: ri-spi.xml:73
 #, no-c-format
 msgid ""
-"The resolution of <literal>@EJB</literal> and <literal>@Resource</literal> "
-"is delegated to the container. You must provide an implementation of "
-"<literal>org.jboss.webbeans.ejb.spi.EjbServices</literal> which provides "
-"these operations. Web Beans passes in the <literal>javax.inject.manager."
-"InjectionPoint</literal> the resolution is for, as well as the "
-"<literal>NamingContext</literal> in use for each resolution request."
+"The resolution of <literal>@EJB</literal> (for injection into simple beans), "
+"the resolution of local EJBs (for backing session beans) and remote EJBs "
+"(for injection as a Java EE resource) is delegated to the container. You "
+"must provide an implementation of <literal>org.jboss.webbeans.ejb.spi."
+"EjbServices</literal> which provides these operations. For resolving the "
+"<literal>@EJB</literal> injection point, Web Beans will provide the "
+"<literal>InjectionPoint</literal>; for resolving local EJBs, the "
+"<literal>EjbDescriptor</literal> will be provided, and for remote EJBs the "
+"<literal>jndiName</literal>, <literal>mappedName</literal>, or "
+"<literal>ejbLink</literal> will be provided."
 msgstr ""
 
+#. Tag: para
+#: ri-spi.xml:87
+#, no-c-format
+msgid ""
+"When resolving local EJBs (used to back session beans) a wrapper "
+"(<literal>SessionObjectReference</literal>) around the EJB reference is "
+"returned. This wrapper allows Web Beans to request a reference that "
+"implements the given business interface, and, in the case of SFSBs, request "
+"the removal of the EJB from the container."
+msgstr ""
+
 #. Tag: title
 #: ri-spi.xml:98
 #, no-c-format
@@ -375,35 +354,59 @@
 #: ri-spi.xml:100
 #, no-c-format
 msgid ""
-"Just as resolution of <literal>@EJB</literal> is delegated to the container, "
-"so is resolution of <literal>@PersistenceContext</literal>."
+"Just as EJB resolution is delegated to the container, resolution of "
+"<literal>@PersistenceContext</literal> for injection into simple beans (with "
+"the <literal>InjectionPoint</literal> provided), and resolution of "
+"persistence contexts and persistence units (with the <literal>unitName</"
+"literal> provided) for injection as a Java EE resource is delegated to the "
+"container."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:106
+#: ri-spi.xml:109
 #, no-c-format
 msgid ""
-"OPEN ISSUE: Web Beans also requires the container to provide a list of "
-"entities in the deployment, so that they aren't discovered as simple beans."
+"To allow JPA integration, the <literal>JpaServices</literal> interface "
+"should be implemented."
 msgstr ""
 
-#. Tag: title
+#. Tag: para
 #: ri-spi.xml:114
 #, no-c-format
+msgid ""
+"Web Beans also needs to know what entities are in a deployment (so that they "
+"aren't managed by Web Beans). An implementation that detects entities "
+"through <literal>@Entity</literal> and <literal>orm.xml</literal> is "
+"provided by default. If you want to provide support for a entities defined "
+"by a JPA provider (such as Hibernate's <literal>.hbm.xml</literal> you can "
+"wrap or replace the default implementation."
+msgstr ""
+
+#. Tag: programlisting
+#: ri-spi.xml:124
+#, no-c-format
+msgid ""
+"<![CDATA[EntityDiscovery delegate = bootstrap.getServices().get"
+"(EntityDiscovery.class);]]>"
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:129
+#, no-c-format
 msgid "Transaction Services"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:116
+#: ri-spi.xml:131
 #, no-c-format
 msgid ""
-"The Web Beans RI must delegate JTA activities to the container. The SPI "
-"provides a couple hooks to easily achieve this with the "
-"<literal>TransactionServices</literal> interface."
+"Web Beans must delegate JTA activities to the container. The SPI provides a "
+"couple hooks to easily achieve this with the <literal>TransactionServices</"
+"literal> interface."
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:122
+#: ri-spi.xml:137
 #, no-c-format
 msgid ""
 "<![CDATA[public interface TransactionServices\n"
@@ -439,7 +442,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:124
+#: ri-spi.xml:139
 #, no-c-format
 msgid ""
 "The enumeration <literal>Status</literal> is a convenience for implementors "
@@ -449,7 +452,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:131
+#: ri-spi.xml:147
 #, no-c-format
 msgid ""
 "Any <literal>javax.transaction.Synchronization</literal> implementation may "
@@ -459,7 +462,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:138
+#: ri-spi.xml:155
 #, no-c-format
 msgid ""
 "To make it easier to determine whether or not a transaction is currently "
@@ -469,30 +472,99 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:147
+#: ri-spi.xml:165
 #, no-c-format
+msgid "JMS services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:167
+#, no-c-format
+msgid ""
+"A number of JMS operations are not container specific, and so should be "
+"provided via the SPI <literal>JmsServices</literal>. JMS does not specify "
+"how to obtain a <literal>ConnectionFactory</literal> so the SPI provides a "
+"method which should be used to look up a factory. Web Beans also delegates "
+"<literal>Destination</literal> lookup to the container via the SPI."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:178
+#, fuzzy, no-c-format
+msgid "Resource Services"
+msgstr "리소스 불러오기 "
+
+#. Tag: para
+#: ri-spi.xml:180
+#, no-c-format
+msgid ""
+"The resolution of <literal>@Resource</literal> (for injection into simple "
+"beans) and the resolution of resources (for injection as a Java EE resource) "
+"is delegated to the container. You must provide an implementation of "
+"<literal>ResourceServices</literal> which provides these operations. For "
+"resolving the <literal>@Resource</literal> injection, Web Beans will provide "
+"the <literal>InjectionPoint</literal>; and for Java EE resources, the "
+"<literal>jndiName</literal> or <literal>mappedName</literal> will be "
+"provided."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:194
+#, no-c-format
+msgid "Web Services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:196
+#, no-c-format
+msgid ""
+"The resolution of web service references (for injection as a Java EE "
+"resource) is delegated to the container. You must provide an implementation "
+"of <literal>WebServices</literal> whichprovides this operation. For "
+"resolving the Java EE resource, the <literal>jndiName</literal> or "
+"<literal>mappedName</literal> will be provided."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:207
+#, no-c-format
+msgid "The bean store"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:209
+#, no-c-format
+msgid ""
+"Web Beans uses a map like structure to store bean instances - <literal>org."
+"jboss.webbeans.context.api.BeanStore</literal>. You may find <literal>org."
+"jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore</literal> "
+"useful."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:219
+#, no-c-format
 msgid "The application context"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:149
+#: ri-spi.xml:221
 #, no-c-format
 msgid ""
 "Web Beans expects the Application Server or other container to provide the "
 "storage for each application's context. The <literal>org.jboss.webbeans."
 "context.api.BeanStore</literal> should be implemented to provide an "
-"application scoped storage. You may find <literal>org.jboss.webbeans.context."
-"api.helpers.ConcurrentHashMapBeanStore</literal> useful."
+"application scoped storage."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:162
+#: ri-spi.xml:231
 #, no-c-format
 msgid "Bootstrap and shutdown"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:163
+#: ri-spi.xml:232
 #, no-c-format
 msgid ""
 "The <literal>org.jboss.webbeans.bootstrap.api.Bootstrap</literal> interface "
@@ -503,7 +575,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:172
+#: ri-spi.xml:241
 #, no-c-format
 msgid ""
 "The bootstrap is split into phases, bootstrap initialization and boot and "
@@ -514,20 +586,32 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:180
+#: ri-spi.xml:249
 #, no-c-format
 msgid ""
-"The bootstrap supports multiple environments. Different environments require "
-"different services to be present (for example servlet doesn't require "
-"transaction, EJB or JPA services). By default an EE environment is assumed, "
-"but you can adjust the environment by calling <literal>bootstrap."
-"setEnvironment()</literal>."
+"The bootstrap supports multiple environments. An environment is defined by "
+"an implementation of the <literal>Environment</literal> interface. A number "
+"of standard envrionments are built in as the enumeration "
+"<literal>Environments</literal>. Different environments require different "
+"services to be present (for example servlet doesn't require transaction, EJB "
+"or JPA services). By default an EE environment is assumed, but you can "
+"adjust the environment by calling <literal>bootstrap.setEnvironment()</"
+"literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:188
+#: ri-spi.xml:260
 #, no-c-format
 msgid ""
+"Web Beans uses a generic-typed service registry to allow services to be "
+"registered. All services implement the <literal>Service</literal> interface. "
+"The service registry allows services to be added and retrieved."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:267
+#, no-c-format
+msgid ""
 "To initialize the bootstrap you call <literal>Bootstrap.initialize()</"
 "literal>. Before calling <literal>initialize()</literal>, you must register "
 "any services required by your environment. You can do this by calling "
@@ -536,7 +620,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:197
+#: ri-spi.xml:276
 #, no-c-format
 msgid ""
 "Having called <literal>initialize()</literal>, the <literal>Manager</"
@@ -545,102 +629,57 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:203
+#: ri-spi.xml:282
 #, no-c-format
 msgid "To boot the container you call <literal>Bootstrap.boot()</literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:207
+#: ri-spi.xml:286
 #, no-c-format
 msgid ""
-"To shutdown the container you call <literal>Bootstrap.shutdown()</literal>. "
-"This allows the container to perform any cleanup operations needed."
+"To shutdown the container you call <literal>Bootstrap.shutdown()</literal> "
+"or <literal>webBeansManager.shutdown()</literal>. This allows the container "
+"to perform any cleanup operations needed."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:216
+#: ri-spi.xml:296
 #, no-c-format
 msgid "JNDI"
 msgstr "JNDI"
 
 #. Tag: para
-#: ri-spi.xml:218
-#, fuzzy, no-c-format
+#: ri-spi.xml:298
+#, no-c-format
 msgid ""
-"The Web Beans RI implements JNDI binding and lookup according to standards, "
-"however you may want to alter the binding and lookup (for example in an "
-"environment where JNDI isn't available). To do this, implement <literal>org."
-"jboss.webbeans.resources.spi.NamingContext</literal>:"
+"Web Beans delegates all JNDI operations to the container through the SPI."
 msgstr ""
-"Web Beans RI는 기준에 따라 JNDI 바인딩 및 lookup을 구현하지만, 바인딩 및 "
-"lookup을 변경하고자 하실 수 있습니다 (예를 들어 JNDI를 사용할 수 없는 환경에"
-"서). 이를 위해 <literal>org.jboss.webbeans.spi.resources.NamingContext</"
-"literal>를구현합니다:       "
 
-#. Tag: programlisting
-#: ri-spi.xml:226
+#. Tag: para
+#: ri-spi.xml:304
 #, no-c-format
 msgid ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
+"A number of the SPI interface require JNDI lookup, and the class "
+"<literal>AbstractResourceServices</literal> provides JNDI/Java EE spec "
+"compliant lookup methods."
 msgstr ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
 
 #. Tag: title
-#: ri-spi.xml:231
+#: ri-spi.xml:315
 #, no-c-format
 msgid "Resource loading"
 msgstr "리소스 불러오기 "
 
 #. Tag: para
-#: ri-spi.xml:233
-#, no-c-format
+#: ri-spi.xml:317
+#, fuzzy, no-c-format
 msgid ""
-"The Web Beans RI needs to load classes and resources from the classpath at "
-"various times. By default, they are loaded from the same classloader that "
-"was used to load the RI, however this may not be correct for some "
-"environments. If this is case, you can implement <literal>org.jboss.webbeans."
-"spi.ResourceLoader</literal>:"
+"Web Beans needs to load classes and resources from the classpath at various "
+"times. By default, they are loaded from the Thread Context ClassLoader if "
+"available, if not the same classloader that was used to load Web Beans, "
+"however this may not be correct for some environments. If this is case, you "
+"can implement <literal>org.jboss.webbeans.spi.ResourceLoader</literal>:"
 msgstr ""
 "Web Beans RI는 여러번 classpath에서 클래스 및 리소스를 불러와야 합니다. 기본"
 "값으로 RI를 불러오기 위해 사용되었던 동일한 classloader에서 로딩되지만, 일부 "
@@ -648,7 +687,7 @@
 "webbeans.spi.ResourceLoader</literal>를 구현할 수 있습니다:  "
 
 #. Tag: programlisting
-#: ri-spi.xml:241
+#: ri-spi.xml:326
 #, no-c-format
 msgid ""
 "<![CDATA[\n"
@@ -712,13 +751,13 @@
 "         ]]>"
 
 #. Tag: title
-#: ri-spi.xml:246
+#: ri-spi.xml:331
 #, fuzzy, no-c-format
 msgid "Servlet injection"
 msgstr "Servlet 청취자 "
 
 #. Tag: para
-#: ri-spi.xml:248
+#: ri-spi.xml:333
 #, no-c-format
 msgid ""
 "Java EE / Servlet does not provide any hooks which can be used to provide "
@@ -727,7 +766,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:254
+#: ri-spi.xml:339
 #, no-c-format
 msgid ""
 "To be compliant with JSR-299, the container should request servlet injection "
@@ -736,7 +775,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:260
+#: ri-spi.xml:345
 #, no-c-format
 msgid ""
 "To perform injection on a servlet call <literal>WebBeansManager.injectServlet"
@@ -745,13 +784,13 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:271
+#: ri-spi.xml:356
 #, no-c-format
 msgid "The contract with the container"
 msgstr "컨테이너와 계약 "
 
 #. Tag: para
-#: ri-spi.xml:273
+#: ri-spi.xml:358
 #, no-c-format
 msgid ""
 "There are a number of requirements that the Web Beans RI places on the "
@@ -761,13 +800,13 @@
 "너에 위치하게 해야 할 여러 요구 사항이 있습니다 "
 
 #. Tag: term
-#: ri-spi.xml:281
+#: ri-spi.xml:366
 #, no-c-format
 msgid "Classloader isolation"
 msgstr "Classloader 분리 "
 
 #. Tag: para
-#: ri-spi.xml:285
+#: ri-spi.xml:370
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans RI into an environment that supports "
@@ -780,13 +819,13 @@
 "정을 통해 반드시 활성화해야 합니다.   "
 
 #. Tag: term
-#: ri-spi.xml:294
-#, fuzzy, no-c-format
-msgid "Servlet listener and filters"
-msgstr "Servlet 청취자 "
+#: ri-spi.xml:379
+#, no-c-format
+msgid "Servlet"
+msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:298
+#: ri-spi.xml:383
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a Servlet environment you must "
@@ -799,11 +838,32 @@
 "jboss.webbeans.servlet.WebBeansListener</literal>를 Servlet 청취자로 등록해"
 "야 합니다.  "
 
+#. Tag: term
+#: ri-spi.xml:394
+#, no-c-format
+msgid "<term>JSF</term>"
+msgstr ""
+
 #. Tag: para
-#: ri-spi.xml:307
+#: ri-spi.xml:399
 #, fuzzy, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a JSF environment you must "
+"register <literal>org.jboss.webbeans.jsf.WebBeansPhaseListener</literal> as "
+"a phase listener, and <literal>org.jboss.webbeans.el.WebBeansELREsolver</"
+"literal> as an EL resolver, either automatically, or through user "
+"configuration, for each Web Beans application which uses JSF."
+msgstr ""
+"Web Beans를 Servlet 환경으로 통합할 경우, Servlet을 사용하는 각각의 Web "
+"Beans 애플리케이션에 대해 자동으로 또는 사용자 설정을 통해 <literal>org."
+"jboss.webbeans.servlet.WebBeansListener</literal>를 Servlet 청취자로 등록해"
+"야 합니다.  "
+
+#. Tag: para
+#: ri-spi.xml:410
+#, fuzzy, no-c-format
+msgid ""
+"If you are integrating the Web Beans into a JSF environment you must "
 "register <literal>org.jboss.webbeans.servlet.ConversationPropagationFilter</"
 "literal> as a Servlet listener, either automatically, or through user "
 "configuration, for each Web Beans application which uses JSF. This filter "
@@ -814,14 +874,20 @@
 "jboss.webbeans.servlet.WebBeansListener</literal>를 Servlet 청취자로 등록해"
 "야 합니다.  "
 
+#. Tag: para
+#: ri-spi.xml:421
+#, no-c-format
+msgid "Web Beans only supports JSF 1.2 and above."
+msgstr ""
+
 #. Tag: term
-#: ri-spi.xml:319
+#: ri-spi.xml:428
 #, no-c-format
 msgid "Session Bean Interceptor"
 msgstr "Session Bean 인터셉터 "
 
 #. Tag: para
-#: ri-spi.xml:323
+#: ri-spi.xml:432
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an EJB environment you must "
@@ -836,7 +902,7 @@
 "으로 또는 사용자 설정을 통해 등록해야 합니다.  "
 
 #. Tag: para
-#: ri-spi.xml:333
+#: ri-spi.xml:442
 #, no-c-format
 msgid ""
 "You must register the <literal>SessionBeanInterceptor</literal> as the inner "
@@ -844,13 +910,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:341
+#: ri-spi.xml:450
 #, fuzzy, no-c-format
 msgid "The <literal>webbeans-core.jar</literal>"
 msgstr "<literal>webbeans-ri.jar</literal> "
 
 #. Tag: para
-#: ri-spi.xml:345
+#: ri-spi.xml:454
 #, fuzzy, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an environment that supports "
@@ -862,6 +928,129 @@
 "<literal>webbeans-ri.jar</literal>를 애플리케이션 분리 classloader로 삽입해"
 "야 합니다. 이는 공유 classloader에서 불러올 수 없습니다.  "
 
+#. Tag: term
+#: ri-spi.xml:464
+#, no-c-format
+msgid "Binding the manager in JNDI"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:468
+#, no-c-format
+msgid ""
+"You should bind a <literal>Reference</literal> to the Manager "
+"<literal>ObjectFactory</literal> into JNDI at <literal>java:app/Manager</"
+"literal>. The type should be <literal>javax.inject.manager.Manager</literal> "
+"and the factory class is <literal>org.jboss.webbeans.resources."
+"ManagerObjectFactory</literal>"
+msgstr ""
+
+#~ msgid ""
+#~ "It should be possible to run Web Beans in an SE environment, but you'll "
+#~ "to do more work, adding your own contexts and lifecycle. The Web Beans RI "
+#~ "currently doesn't expose lifecycle extension points, so you would have to "
+#~ "code directly against Web Beans RI classes."
+#~ msgstr ""
+#~ "SE 환경에서 Web Beans를 실행할 수 있어야 하지만, 자체적 컨텍스트 및 수명 "
+#~ "주기 추가와 같은 더 많은 작업을 해야 합니다. 현재 Web Beans RI는 수명 확"
+#~ "장 지점을 나타내지 않고 있으므로, Web Beans RI 클래스에 대해 직접 코드화해"
+#~ "야 합니다. "
+
+#~ msgid ""
+#~ "All interfaces in the SPI support the decorator pattern and provide a "
+#~ "<literal>Forwarding</literal> class."
+#~ msgstr ""
+#~ "SPI에 있는 모든 인터페이스는 데코레이터 패턴을 지원하고 "
+#~ "<literal>Forwarding</literal> 클래스를 제공합니다.  "
+
+#, fuzzy
+#~ msgid ""
+#~ "<![CDATA[public interface EjbServices\n"
+#~ "{\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Gets a descriptor for each EJB in the application\n"
+#~ "    * \n"
+#~ "    * @return The bean class to descriptor map \n"
+#~ "    */\n"
+#~ "   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
+#~ msgstr ""
+#~ "<![CDATA[public interface EjbDiscovery\n"
+#~ "{\n"
+#~ "   public static final String PROPERTY_NAME = EjbDiscovery.class.getName"
+#~ "();\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Gets a descriptor for each EJB in the application\n"
+#~ "    * \n"
+#~ "    * @return The bean class to descriptor map \n"
+#~ "    */\n"
+#~ "   public Iterable<EjbDescriptor<?>> discoverEjbs();\n"
+#~ "   \n"
+#~ "}]]>"
+
+#, fuzzy
+#~ msgid ""
+#~ "The Web Beans RI implements JNDI binding and lookup according to "
+#~ "standards, however you may want to alter the binding and lookup (for "
+#~ "example in an environment where JNDI isn't available). To do this, "
+#~ "implement <literal>org.jboss.webbeans.resources.spi.NamingContext</"
+#~ "literal>:"
+#~ msgstr ""
+#~ "Web Beans RI는 기준에 따라 JNDI 바인딩 및 lookup을 구현하지만, 바인딩 및 "
+#~ "lookup을 변경하고자 하실 수 있습니다 (예를 들어 JNDI를 사용할 수 없는 환경"
+#~ "에서). 이를 위해 <literal>org.jboss.webbeans.spi.resources.NamingContext</"
+#~ "literal>를구현합니다:       "
+
+#~ msgid ""
+#~ "<![CDATA[public interface NamingContext extends Serializable {\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Typed JNDI lookup\n"
+#~ "    * \n"
+#~ "    * @param <T> The type\n"
+#~ "    * @param name The JNDI name\n"
+#~ "    * @param expectedType The expected type\n"
+#~ "    * @return The object\n"
+#~ "    */\n"
+#~ "   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
+#~ "\n"
+#~ "   /**\n"
+#~ "    * Binds an item to JNDI\n"
+#~ "    * \n"
+#~ "    * @param name The key to bind under\n"
+#~ "    * @param value The item to bind\n"
+#~ "    */\n"
+#~ "   public void bind(String name, Object value);\n"
+#~ "   \n"
+#~ "}]]>"
+#~ msgstr ""
+#~ "<![CDATA[public interface NamingContext extends Serializable {\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Typed JNDI lookup\n"
+#~ "    * \n"
+#~ "    * @param <T> The type\n"
+#~ "    * @param name The JNDI name\n"
+#~ "    * @param expectedType The expected type\n"
+#~ "    * @return The object\n"
+#~ "    */\n"
+#~ "   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
+#~ "\n"
+#~ "   /**\n"
+#~ "    * Binds an item to JNDI\n"
+#~ "    * \n"
+#~ "    * @param name The key to bind under\n"
+#~ "    * @param value The item to bind\n"
+#~ "    */\n"
+#~ "   public void bind(String name, Object value);\n"
+#~ "   \n"
+#~ "}]]>"
+
+#, fuzzy
+#~ msgid "Servlet listener and filters"
+#~ msgstr "Servlet 청취자 "
+
 #~ msgid "EJB Discovery"
 #~ msgstr "EJB 검색  "
 

Deleted: doc/trunk/reference/ko-KR/ri.po
===================================================================
--- doc/trunk/reference/ko-KR/ri.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/ko-KR/ri.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -1,1623 +0,0 @@
-# translation of ri.po to Korean
-# Language ko-KR translations for Introduction_to_Web_Beans package.
-#
-# Automatically generated, 2009.
-# Eunju Kim <eukim at redhat.com>, 2009.
-msgid ""
-msgstr ""
-"Project-Id-Version: ri\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
-"PO-Revision-Date: 2009-01-23 11:14+1000\n"
-"Last-Translator: Eunju Kim <eukim at redhat.com>\n"
-"Language-Team: Korean <ko at li.org>\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"
-"Plural-Forms:  nplurals=2; plural=(n!=1);\n"
-"\n"
-"\n"
-"\n"
-"\n"
-"\n"
-"\n"
-"\n"
-"\n"
-
-#. Tag: title
-#: ri.xml:4
-#, fuzzy, no-c-format
-msgid "Web Beans, the Reference Implementation of JSR-299"
-msgstr "Web Beans 참조 구현 "
-
-#. Tag: para
-#: ri.xml:6
-#, fuzzy, no-c-format
-msgid ""
-"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
-"WebBeans\">the Seam project</ulink>. You can download the latest developer "
-"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
-"\">the downloads page</ulink>."
-msgstr ""
-"Web Beans 참조 구현 (Web Beans Reference Implementation)은 <ulink url="
-"\"http://seamframework.org/WebBeans\">Seam 프로젝트</ulink>에서 개발되고 있습"
-"니다. <ulink url=\"http://seamframework.org/Download\">다운로드 페이지</"
-"ulink>에서 최신 개발자 릴리즈를 다운로드하실 수 있습니다.   "
-
-#. Tag: para
-#: ri.xml:13
-#, fuzzy, no-c-format
-msgid ""
-"Web Beans comes with a two deployable example applications: "
-"<literal>webbeans-numberguess</literal>, a war example, containing only "
-"simple beans, and <literal>webbeans-translator</literal> an ear example, "
-"containing enterprise beans. There are also two variations on the "
-"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
-"and the jsf2 example, which you can use if you are running JSF2. To run the "
-"examples you'll need the following:"
-msgstr ""
-"Web Beans RI는 배치 가능한 두 가지 애플리케이션 예로 되어 있습니다: war 예에"
-"는 심플 beans 만이 들어 있는 <literal>webbeans-numberguess</literal>가 있고 "
-"ear 예에는 엔터프라이즈 beans가 들어 있는 <literal>webbeans-translator</"
-"literal>가 있습니다. 예를 실행하려면, 다음 사항이 필요합니다:           "
-
-#. Tag: para
-#: ri.xml:25
-#, fuzzy, no-c-format
-msgid "the latest release of Web Beans,"
-msgstr "최신 Web Beans RI 릴리즈 "
-
-#. Tag: para
-#: ri.xml:28
-#, fuzzy, no-c-format
-msgid "JBoss AS 5.0.1.GA, or"
-msgstr "JBoss AS 5.0.0.GA, 및 "
-
-#. Tag: para
-#: ri.xml:31
-#, no-c-format
-msgid "Apache Tomcat 6.0.x, and"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:34
-#, no-c-format
-msgid "Ant 1.7.0."
-msgstr "Ant 1.7.0."
-
-#. Tag: title
-#: ri.xml:39
-#, no-c-format
-msgid "Using JBoss AS 5"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:41
-#, fuzzy, no-c-format
-msgid ""
-"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
-"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
-msgstr ""
-"현재, Web Beans RI는 JBoss Application Server 5에서만 실행됩니다. <ulink url="
-"\"http://www.jboss.org/jbossas/downloads/\">jboss.org</ulink>에서 JBoss AS "
-"5.0.0.GA를 다운로드하여 압축 풀기를 합니다. 예:   "
-
-#. Tag: programlisting
-#: ri.xml:47
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.1.GA.zip]]>"
-msgstr ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.0.GA.zip]]>"
-
-#. Tag: para
-#: ri.xml:49 ri.xml:170
-#, fuzzy, no-c-format
-msgid ""
-"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
-"\">seamframework.org</ulink>, and unzip it. For example"
-msgstr ""
-"다음으로 <ulink url=\"http://seamframework.org/Download\">seamframework.org</"
-"ulink>에서 Web Beans RI를 다운로드하여 압축 풀기를 합니다. 예: "
-
-#. Tag: programlisting
-#: ri.xml:55 ri.xml:176
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-$VERSION.zip]]>"
-msgstr ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-1.0.0.ALPHA1.zip]]>"
-
-#. Tag: para
-#: ri.xml:58
-#, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>jboss.home</literal> "
-"property. For example:"
-msgstr ""
-"다음으로, JBoss가 위치해 있는 곳을 Web Beans에게 알려야 합니다. "
-"<literal>jboss-as/build.properties</literal>를 편집하고 <literal>jboss.home</"
-"literal> 속성을 설정합니다. 예: "
-
-#. Tag: programlisting
-#: ri.xml:64
-#, fuzzy, no-c-format
-msgid "jboss.home=/Applications/jboss-5.0.1.GA"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:66
-#, fuzzy, no-c-format
-msgid ""
-"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
-"<literal>ANT_HOME</literal> environment variable set. For example:"
-msgstr ""
-"업데이트를 설치하려면, Ant 1.7.0을 설치하고 <literal>ANT_HOME</literal> 환경 "
-"변수 모음을 설치합니다. 예:  "
-
-#. Tag: programlisting
-#: ri.xml:71
-#, no-c-format
-msgid ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-msgstr ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-
-#. Tag: para
-#: ri.xml:73
-#, fuzzy, no-c-format
-msgid ""
-"Then, you can install the update. The update script will use Maven to "
-"download Web Beans automatically."
-msgstr ""
-"그 다음 업데이트를 설치하실 수 있습니다. 업데이트 스크립트는 Maven을 사용하"
-"여 Web Beans 및 EJB3를 자동으로 다운로드합니다. "
-
-#. Tag: programlisting
-#: ri.xml:78
-#, fuzzy, no-c-format
-msgid ""
-"$ cd webbeans-$VERSION/jboss-as\n"
-"$ ant update"
-msgstr ""
-"$ cd webbeans-1.0.0.ALPHA1/jboss-as\n"
-"$ ant update"
-
-#. Tag: para
-#: ri.xml:80
-#, no-c-format
-msgid "Now, you're ready to deploy your first example!"
-msgstr "이제, 첫번째 예제를 배치할 준비가 되었습니다!      "
-
-#. Tag: para
-#: ri.xml:85
-#, fuzzy, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for JBoss AS, "
-"these are:"
-msgstr ""
-"예제 용 작성 스크립트는 여러 대상을 제공합니다. 이에는 다음과 같은 것이 있습"
-"니다:   "
-
-#. Tag: para
-#: ri.xml:91
-#, no-c-format
-msgid "<literal>ant restart</literal> - deploy the example in exploded format"
-msgstr ""
-"<literal>ant restart</literal> - exploded 형식으로 예제를 배치합니다      "
-
-#. Tag: para
-#: ri.xml:97
-#, no-c-format
-msgid ""
-"<literal>ant explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-"<literal>ant explode</literal> - 배치 버전을 다시 시작하지 않고 exploded 예제"
-"를 업데이트합니다     "
-
-#. Tag: para
-#: ri.xml:103
-#, no-c-format
-msgid ""
-"<literal>ant deploy</literal> - deploy the example in compressed jar format"
-msgstr ""
-"<literal>ant deploy</literal> - 압축된 jar 포맷으로 예제를 배치합니다   "
-
-#. Tag: para
-#: ri.xml:108
-#, no-c-format
-msgid "<literal>ant undeploy</literal> - remove the example from the server"
-msgstr "<literal>ant undeploy</literal> - 서버에서 예제를 제거합니다 "
-
-#. Tag: para
-#: ri.xml:113
-#, no-c-format
-msgid "<literal>ant clean</literal> - clean the example"
-msgstr "<literal>ant clean</literal> - 예제를 지웁니다 "
-
-#. Tag: para
-#: ri.xml:120
-#, no-c-format
-msgid "To deploy the numberguess example:"
-msgstr "numberguess 예제를 배치하려면:    "
-
-#. Tag: programlisting
-#: ri.xml:124
-#, no-c-format
-msgid ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-msgstr ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:126
-#, no-c-format
-msgid "Start JBoss AS:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:130
-#, fuzzy, no-c-format
-msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:133
-#, no-c-format
-msgid "If you use Windows, use the <literal>run.bat</literal>script."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:138 ri.xml:240
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
-"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
-msgstr ""
-"애플리케이션이 배치되면 <ulink url=\"http://localhost:8080/webbeans-"
-"numberguess\"></ulink>에서 살펴보시기 바랍니다!   "
-
-#. Tag: para
-#: ri.xml:143
-#, fuzzy, no-c-format
-msgid ""
-"Web Beans includes a second simple example that will translate your text "
-"into Latin. The numberguess example is a war example, and uses only simple "
-"beans; the translator example is an ear example, and includes enterprise "
-"beans, packaged in an EJB module. To try it out:"
-msgstr ""
-"Web Beans RI에는 텍스트를 라틴어로 번역하는 두 번째 예제가 있습니다. "
-"numberguess 예제는 war 예제로 심플 beans 만을 사용합니다; 번역 예제는 ear 예"
-"제로 엔터프라이즈 beans에 포함되어 EJB 모듈에 패키지되어 있습니다. 이를 꺼내"
-"려면 다음을 실행합니다:      "
-
-#. Tag: programlisting
-#: ri.xml:150
-#, no-c-format
-msgid ""
-"$ cd examples/translator\n"
-"ant deploy"
-msgstr ""
-"$ cd examples/translator\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:152
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and visit <ulink url=\"http://"
-"localhost:8080/webbeans-translator\"></ulink>!"
-msgstr ""
-"애플리케이션이 배치되면 <ulink url=\"http://localhost:8080/webbeans-"
-"translator\"></ulink>에 가보십시오!   "
-
-#. Tag: title
-#: ri.xml:160
-#, no-c-format
-msgid "Using Apache Tomcat 6.0"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:162
-#, fuzzy, no-c-format
-msgid ""
-"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
-"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
-"For example:"
-msgstr ""
-"다음으로 <ulink url=\"http://seamframework.org/Download\">seamframework.org</"
-"ulink>에서 Web Beans RI를 다운로드하여 압축 풀기를 합니다. 예: "
-
-#. Tag: programlisting
-#: ri.xml:168
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
-msgstr ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.0.GA.zip]]>"
-
-#. Tag: para
-#: ri.xml:178
-#, fuzzy, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
-"property. For example:"
-msgstr ""
-"다음으로, JBoss가 위치해 있는 곳을 Web Beans에게 알려야 합니다. "
-"<literal>jboss-as/build.properties</literal>를 편집하고 <literal>jboss.home</"
-"literal> 속성을 설정합니다. 예: "
-
-#. Tag: programlisting
-#: ri.xml:184
-#, fuzzy, no-c-format
-msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:187
-#, fuzzy, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for Tomcat, "
-"these are:"
-msgstr ""
-"예제 용 작성 스크립트는 여러 대상을 제공합니다. 이에는 다음과 같은 것이 있습"
-"니다:   "
-
-#. Tag: para
-#: ri.xml:193
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
-msgstr ""
-"<literal>ant restart</literal> - exploded 형식으로 예제를 배치합니다      "
-
-#. Tag: para
-#: ri.xml:199
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-"<literal>ant explode</literal> - 배치 버전을 다시 시작하지 않고 exploded 예제"
-"를 업데이트합니다     "
-
-#. Tag: para
-#: ri.xml:205
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
-"format"
-msgstr ""
-"<literal>ant deploy</literal> - 압축된 jar 포맷으로 예제를 배치합니다   "
-
-#. Tag: para
-#: ri.xml:210
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
-msgstr "<literal>ant undeploy</literal> - 서버에서 예제를 제거합니다 "
-
-#. Tag: para
-#: ri.xml:215
-#, fuzzy, no-c-format
-msgid "<literal>ant tomcat.clean</literal> - clean the example"
-msgstr "<literal>ant clean</literal> - 예제를 지웁니다 "
-
-#. Tag: para
-#: ri.xml:222
-#, fuzzy, no-c-format
-msgid "To deploy the numberguess example for tomcat:"
-msgstr "numberguess 예제를 배치하려면:    "
-
-#. Tag: programlisting
-#: ri.xml:226
-#, fuzzy, no-c-format
-msgid ""
-"$ cd examples/tomcat\n"
-"ant tomcat.deploy"
-msgstr ""
-"$ cd examples/translator\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:228
-#, no-c-format
-msgid "Start Tomcat:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:232
-#, fuzzy, no-c-format
-msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:235
-#, no-c-format
-msgid "If you use Windows, use the <literal>startup.bat</literal>script."
-msgstr ""
-
-#. Tag: title
-#: ri.xml:248
-#, no-c-format
-msgid "Using GlassFish"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:250
-#, no-c-format
-msgid "TODO"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:254
-#, no-c-format
-msgid "The numberguess example"
-msgstr "numberguess 예제 "
-
-#. Tag: para
-#: ri.xml:256
-#, no-c-format
-msgid ""
-"In the numberguess application you get given 10 attempts to guess a number "
-"between 1 and 100. After each attempt, you will be told whether you are too "
-"high, or too low."
-msgstr ""
-"numberguess 애플리케이션에서 1에서 100사이의 숫자를 알아내기 위해 주어진 10 "
-"번을 시도하게 됩니다. 각각 시도한 후 숫자가 너무 높은지 또는 너무 낮은지를 알"
-"려주게 됩니다. "
-
-#. Tag: para
-#: ri.xml:262
-#, no-c-format
-msgid ""
-"The numberguess example is comprised of a number of Web Beans, configuration "
-"files, and Facelet JSF pages, packaged as a war. Let's start with the "
-"configuration files."
-msgstr ""
-"numberguess 예제는 여러 Web Beans, 설정 파일, Facelet JSF 페이지로 구성되어 "
-"있으며, war로 패키지되어 있습니다 설정 파일부터 시작합시다. "
-
-#. Tag: para
-#: ri.xml:268
-#, no-c-format
-msgid ""
-"All the configuration files for this example are located in <literal>WEB-INF/"
-"</literal>, which is stored in <literal>WebContent</literal> in the source "
-"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
-"JSF to use Facelets:"
-msgstr ""
-"예제에 해당하는 모든 설정 파일은 <literal>WEB-INF/</literal>에 위치해 있으"
-"며, 이는 소스 트리에 있는 <literal>WebContent</literal>에 저장되어 있습니다. "
-"먼저, <literal>faces-config.xml</literal>을 사용하여, Facelets를 사용할 JSF"
-"를 알려주게 됩니다:   "
-
-#. Tag: programlisting
-#: ri.xml:276
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-msgstr ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-
-#. Tag: para
-#: ri.xml:278
-#, no-c-format
-msgid ""
-"There is an empty <literal>web-beans.xml</literal> file, which marks this "
-"application as a Web Beans application."
-msgstr ""
-"여기에는 빈 <literal>web-beans.xml</literal> 파일이 있어, 이는 Web Beans 애플"
-"리케이션으로 애플리케이션을 표시합니다. "
-
-#. Tag: para
-#: ri.xml:283
-#, no-c-format
-msgid "Finally there is <literal>web.xml</literal>:"
-msgstr "마지막으로, <literal>web.xml</literal> 파일이 있습니다:  "
-
-#. Tag: section
-#: ri.xml:285
-#, fuzzy, no-c-format
-msgid ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
-"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
-"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
-"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
-"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
-"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
-"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
-"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
-"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
-"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
-"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
-"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
-"session timeout of 10 minutes </para> </callout> </calloutlist> </"
-"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
-"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
-"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
-"id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area "
-"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
-"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
-"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
-"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
-"dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
-"number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
-"number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game."
-"biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
-"{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
-"<para> Facelets is a templating language for JSF, here we are wrapping our "
-"page in a template which defines the header. </para> </callout> <callout "
-"arearefs=\"messages\"> <para> There are a number of messages which can be "
-"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
-"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
-"range of numbers they can guess gets smaller - this sentance changes to make "
-"sure they know what range to guess in. </para> </callout> <callout arearefs="
-"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
-"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
-"range validator is used to make sure the user doesn't accidentally input a "
-"number outside of the range in which they can guess - if the validator "
-"wasn't here, the user might use up a guess on an out of range number. </"
-"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
-"must be a way for the user to send their guess to the server. Here we bind "
-"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
-"programlistingco>"
-msgstr ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
-"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
-"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
-"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
-"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
-"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
-"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
-"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
-"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
-"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
-"giving our source files (facelets) an extension of <literal>.jsf</literal> </"
-"para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
-"session timeout of 10 minutes </para> </callout> </calloutlist> </"
-"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
-"the Web Beans RI with any Servlet based web framework. </para> </note> "
-"<para> Let's take a look at the Facelet view: </para> <programlistingco> "
-"<areaspec> <area id=\"template\" coords=\"8\"/> <area id=\"messages\" coords="
-"\"12\"/> <area id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords="
-"\"25\"/> <area id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords="
-"\"33\"/> </areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//"
-"W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/"
-"xhtml1-transitional.dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
-"number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
-"number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game."
-"biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
-"{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
-"<para> Facelets is a templating language for JSF, here we are wrapping our "
-"page in a template which defines the header. </para> </callout> <callout "
-"arearefs=\"messages\"> <para> There are a number of messages which can be "
-"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
-"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
-"range of numbers they can guess gets smaller - this sentance changes to make "
-"sure they know what range to guess in. </para> </callout> <callout arearefs="
-"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
-"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
-"range validator is used to make sure the user doesn't accidentally input a "
-"number outside of the range in which they can guess - if the validator "
-"wasn't here, the user might use up a guess on an out of range number. </"
-"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
-"must be a way for the user to send their guess to the server. Here we bind "
-"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
-"programlistingco>"
-
-#. Tag: para
-#: ri.xml:387
-#, no-c-format
-msgid ""
-"The example exists of 4 classes, the first two of which are binding types. "
-"First, there is the <literal>@Random</literal> binding type, used for "
-"injecting a random number:"
-msgstr ""
-"예제에는 4 개의 클래스가 존재합니다, 첫 번째 두 개는 바인딩 유형입니다. 먼"
-"저, 임의의 숫자를 삽입하기 위해 사용되는 <literal>@Random</literal> 바인딩 유"
-"형이 있습니다:      "
-
-#. Tag: programlisting
-#: ri.xml:393
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-msgstr ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-
-#. Tag: para
-#: ri.xml:395
-#, no-c-format
-msgid ""
-"There is also the <literal>@MaxNumber</literal> binding type, used for "
-"injecting the maximum number that can be injected:"
-msgstr ""
-"삽입될 수 있는 최대 번호 삽입하기 위해 사용되는 <literal>@MaxNumber</"
-"literal> 바인딩 유형도 있습니다:       "
-
-#. Tag: programlisting
-#: ri.xml:400
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-msgstr ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-
-#. Tag: para
-#: ri.xml:402
-#, no-c-format
-msgid ""
-"The <literal>Generator</literal> class is responsible for creating the "
-"random number, via a producer method. It also exposes the maximum possible "
-"number via a producer method:"
-msgstr ""
-"<literal>Generator</literal> 클래스는 생산자 방식을 통해 임의의 숫자를 생성해"
-"야 할 책임이 있습니다. 또한 이는 생산자 방식을 통하여 가능한 최대 숫자를 나타"
-"냅니다:  "
-
-#. Tag: programlisting
-#: ri.xml:408
-#, no-c-format
-msgid ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System."
-"currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-msgstr ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System."
-"currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-
-#. Tag: para
-#: ri.xml:410
-#, no-c-format
-msgid ""
-"You'll notice that the <literal>Generator</literal> is application scoped; "
-"therefore we don't get a different random each time."
-msgstr ""
-"<literal>Generator</literal>는 애플리케이션 범위로 되어 있음을 발견하실 것입"
-"니다; 따라서 매번 다른 임의 숫자를 갖지 않게 됩니다. "
-
-#. Tag: para
-#: ri.xml:415
-#, no-c-format
-msgid ""
-"The final Web Bean in the application is the session scoped <literal>Game</"
-"literal>."
-msgstr ""
-"애플리케이션에 있는 마지막 Web Bean은 <literal>Game</literal> 범위 세션입니"
-"다. "
-
-#. Tag: para
-#: ri.xml:420
-#, no-c-format
-msgid ""
-"You'll note that we've used the <literal>@Named</literal> annotation, so "
-"that we can use the bean through EL in the JSF page. Finally, we've used "
-"constructor injection to initialize the game with a random number. And of "
-"course, we need to tell the player when they've won, so we give feedback "
-"with a <literal>FacesMessage</literal>."
-msgstr ""
-"<literal>@Named</literal> 어노테이션이 사용되므로 JSF 페이지에서 EL을 통해 "
-"bean을 사용할 수 있음을 인지하실 것입니다. 마지막으로 생성자 삽입을 사용하여 "
-"임의의 숫자로 게임을 초기화합니다. 물론, 게임 플레이어에게 언제 게임에어 이겼"
-"는지를 알려주어야 하므로, <literal>FacesMessage</literal>로 피드백을 제공합니"
-"다.       "
-
-#. Tag: programlisting
-#: ri.xml:428
-#, no-c-format
-msgid ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
-"(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new "
-"AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-msgstr ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
-"(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new "
-"AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-
-#. Tag: title
-#: ri.xml:431
-#, fuzzy, no-c-format
-msgid "The numberguess example for Tomcat"
-msgstr "numberguess 예제 "
-
-#. Tag: para
-#: ri.xml:433
-#, no-c-format
-msgid ""
-"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
-"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
-"literal>. For your convenience we provide a single jar suitable for running "
-"Web Beans on Tomcat <literal>webbeans-tomcat.jar</literal>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:442
-#, no-c-format
-msgid ""
-"Of course, you must also include JSF and EL, as well common annotations "
-"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:449
-#, no-c-format
-msgid ""
-"Secondly, we need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control it's interaction with requests) in <literal>web."
-"xml</literal>:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:455
-#, no-c-format
-msgid ""
-"<![CDATA[<listener>\n"
-"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-"
-"class>\n"
-"</listener>]]>"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:461
-#, no-c-format
-msgid "The translator example"
-msgstr "번역 예제  "
-
-#. Tag: para
-#: ri.xml:463
-#, no-c-format
-msgid ""
-"The translator example will take any sentences you enter, and translate them "
-"to Latin."
-msgstr "번역 예제는 입력하신 아무 문장을 가져가 이를 라틴어로 번역합니다. "
-
-#. Tag: para
-#: ri.xml:468
-#, no-c-format
-msgid ""
-"The translator example is built as an ear, and contains EJBs. As a result, "
-"it's structure is more complex than the numberguess example."
-msgstr ""
-"번역 예제는 ear로 작성되며, EJB가 들어있게 됩니다. 따라서, 문장 구조가 "
-"numberguess 예보다 훨씬 복잡합니다.  "
-
-#. Tag: para
-#: ri.xml:474
-#, no-c-format
-msgid ""
-"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
-"this structure much simpler!"
-msgstr ""
-"EJB 3.1 및 Jave EE 6는 EJB를 war로 패키지하게 하여, 이러한 문장을 보다 간단하"
-"게 만들게 됩니다! "
-
-#. Tag: para
-#: ri.xml:480
-#, no-c-format
-msgid ""
-"First, let's take a look at the ear aggregator, which is located in "
-"<literal>webbeans-translator-ear</literal> module. Maven automatically "
-"generates the <literal>application.xml</literal> for us:"
-msgstr ""
-"먼저, <literal>webbeans-translator-ear</literal> 모듈에 있는 ear aggregator"
-"를 살펴봅시다. Maven은 자동으로 <literal>application.xml</literal>을 생성합니"
-"다:  "
-
-#. Tag: programlisting
-#: ri.xml:486
-#, no-c-format
-msgid ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-msgstr ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-
-#. Tag: para
-#: ri.xml:488
-#, no-c-format
-msgid ""
-"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
-"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
-"translator</ulink>)."
-msgstr ""
-"url (<ulink url=\"http://localhost:8080/webbeans-translator\">http://"
-"localhost:8080/webbeans-translator</ulink>)을 제공하는 컨텍스트 경로를 설정합"
-"니다.  "
-
-#. Tag: para
-#: ri.xml:494
-#, no-c-format
-msgid ""
-"If you aren't using Maven to generate these files, you would need "
-"<literal>META-INF/application.xml</literal>:"
-msgstr ""
-"Maven을 사용하여 이러한 파일을 생성할 경우, <literal>META-INF/application."
-"xml</literal>이 필요합니다:  "
-
-#. Tag: programlisting
-#: ri.xml:499
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web "
-"Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-msgstr ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web "
-"Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-
-#. Tag: para
-#: ri.xml:502
-#, fuzzy, no-c-format
-msgid ""
-"Next, lets look at the war. Just as in the numberguess example, we have a "
-"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
-"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
-msgstr ""
-"다음으로, war를 살펴봅시다. numberguess 예제와 같이, <literal>WebContent/WEB-"
-"INF</literal>에 있는 <literal>faces-config.xml</literal> (Facelets를 활성화) "
-"및 <literal>web.xml</literal> (JSF를 활성화)을 갖습니다. "
-
-#. Tag: para
-#: ri.xml:509
-#, no-c-format
-msgid ""
-"More intersting is the facelet used to translate text. Just as in the "
-"numberguess example we have a template, which surrounds the form (ommitted "
-"here for brevity):"
-msgstr ""
-"텍스트를 번역하데 facelet이 사용됩니다. numberguess 예제에서와 같이 양식으로"
-"된 템플릿이 있습니다 (간결하게 하기 위해 여기서는 생략됨): "
-
-#. Tag: programlisting
-#: ri.xml:515
-#, no-c-format
-msgid ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
-"required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
-"{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-msgstr ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
-"required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
-"{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-
-#. Tag: para
-#: ri.xml:517
-#, no-c-format
-msgid ""
-"The user can enter some text in the lefthand textarea, and hit the translate "
-"button to see the result to the right."
-msgstr ""
-"사용자는 왼쪽 텍스트 부분에 텍스트를 입력할 수 있으며, 번역하기 버튼을 누르"
-"면 오른쪽에 번역 결과가 나타나게 됩니다.   "
-
-#. Tag: para
-#: ri.xml:522
-#, no-c-format
-msgid ""
-"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
-"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
-"empty <literal>web-beans.xml</literal>, used to mark the archive as "
-"containing Web Beans."
-msgstr ""
-"마지막으로, ejb 모듈인 <literal>webbeans-translator-ejb</literal>를 살펴봅시"
-"다. <literal>src/main/resources/META-INF</literal>에는 Web Beans가 들어 있는 "
-"것으로 아카이브를 표시하기 위해 사용되는 빈 <literal>web-beans.xml</literal>"
-"이 있습니다. "
-
-#. Tag: para
-#: ri.xml:530
-#, no-c-format
-msgid ""
-"We've saved the most interesting bit to last, the code! The project has two "
-"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
-"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
-"literal> and <literal>SentenceTranslator</literal>. You should be getting "
-"quite familiar with what a Web Bean looks like by now, so we'll just "
-"highlight the most interesting bits here."
-msgstr ""
-"가장 흥미로운 코드 부분은 마지막을 위해 남겨두겠습니다! 프로젝트에는 두 개의 "
-"심플 beans인 <literal>SentenceParser</literal> 및 <literal>TextTranslator</"
-"literal>와 두 개의 엔터프라이즈 beans인 <literal>TranslatorControllerBean</"
-"literal> 및 <literal>SentenceTranslator</literal>가 있습니다. 이제 Web Bean"
-"에 관해 보다 많이 알고 계실 것이므로, 가장 중요한 부분만 여기서 다루겠습니"
-"다.    "
-
-#. Tag: para
-#: ri.xml:540
-#, no-c-format
-msgid ""
-"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
-"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
-"initialization:"
-msgstr ""
-"<literal>SentenceParser</literal> 및 <literal>TextTranslator</literal>는 "
-"beans에 의존하며, <literal>TextTranslator</literal>는 생성자 초기화를 사용합"
-"니다: "
-
-#. Tag: programlisting
-#: ri.xml:546
-#, no-c-format
-msgid ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator "
-"sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-msgstr ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator "
-"sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-
-#. Tag: para
-#: ri.xml:548
-#, no-c-format
-msgid ""
-"<literal>TextTranslator</literal> is a stateless bean (with a local business "
-"interface), where the magic happens - of course, we couldn't develop a full "
-"translator, but we gave it a good go!"
-msgstr ""
-"<literal>TextTranslator</literal>는 무상태 세션빈으로 (로컬 비지니스 인터페이"
-"스와 함께), 완전한 번역기를 개발할 수는 없지만, 잘 작동하고 있습니다! "
-
-#. Tag: para
-#: ri.xml:554
-#, no-c-format
-msgid ""
-"Finally, there is UI orientated controller, that collects the text from the "
-"user, and dispatches it to the translator. This is a request scoped, named, "
-"stateful session bean, which injects the translator."
-msgstr ""
-"마지막으로, UI 기반 제어기가 있어, 이는 사용자로 부터 텍스트를 수집하여 번역"
-"기에 이를 보냅니다. 이는 요청 범위, 이름, 상태 유지 세션빈으로 번역기에 삽입"
-"되어 있습니다.  "
-
-#. Tag: programlisting
-#: ri.xml:560
-#, no-c-format
-msgid ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-msgstr ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-
-#. Tag: para
-#: ri.xml:562
-#, no-c-format
-msgid "The bean also has getters and setters for all the fields on the page."
-msgstr "bean은 페이지에 있는 모든 영역에 대해 getter 및 setter를 갖습니다. "
-
-#. Tag: para
-#: ri.xml:566
-#, no-c-format
-msgid "As this is a stateful session bean, we have to have a remove method:"
-msgstr "이는 상태 유지 세션 빈이므로, 제거 방식을 갖고 있어야 합니다:  "
-
-#. Tag: programlisting
-#: ri.xml:570
-#, no-c-format
-msgid ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-msgstr ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-
-#. Tag: para
-#: ri.xml:572
-#, no-c-format
-msgid ""
-"The Web Beans manager will call the remove method for you when the bean is "
-"destroyed; in this case at the end of the request."
-msgstr ""
-"Web Beans 관리자는 bean이 삭제될 때 제거 방식을 호출하게 됩니다; 이러한 경우 "
-"요청 마지막에 호출하게 됩니다. "
-
-#. Tag: para
-#: ri.xml:578
-#, fuzzy, no-c-format
-msgid ""
-"That concludes our short tour of the Web Beans examples. For more on Web "
-"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
-"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
-"Development</ulink>."
-msgstr ""
-"이제 Web Beans RI 예제의 짧은 여정을 마칩니다. RI에 관한 보다 자세한 내용은 "
-"<ulink url=\"http://www.seamframework.org/WebBeans/Development\">http://www."
-"seamframework.org/WebBeans/Development</ulink>에서 살펴보시기 바랍니다.  "
-
-#. Tag: para
-#: ri.xml:584
-#, no-c-format
-msgid ""
-"We need help in all areas - bug fixing, writing new features, writing "
-"examples and translating this reference guide."
-msgstr ""
-"버그 수정, 새로운 기능 작성, 예세 작성, 참조 가이드 번역과 같이 모든 영역에"
-"서 도움이 필요합니다. "
-
-#, fuzzy
-#~ msgid ""
-#~ "A new deployer, <literal>webbeans.deployer</literal> is added to JBoss "
-#~ "AS. This adds supports for Web Bean archives to JBoss AS, and allows the "
-#~ "Web Beans RI to query the EJB3 container and discover which EJBs are "
-#~ "installed in your application."
-#~ msgstr ""
-#~ "현재, 두 가지 사항을 업데이트해야 합니다. 처음으로, 새로운 개발자 "
-#~ "<literal>webbeans.deployer</literal>가 추가되어야 합니다. 이는 JBoss AS에 "
-#~ "Web Bean 아카이브 지원을 추가하고 Web Beans RI가 EJB3 컨테이너를 커리하고 "
-#~ "애플리케이션에 어떤 EJB가 있는 지를 검색합니다. 두번째로 JBoss EJB3로 업데"
-#~ "이트해야 합니다. "
-
-#~ msgid ""
-#~ "As Web Beans is a new piece of software, you need to update JBoss AS to "
-#~ "run the Web Beans RI. Future versions of JBoss AS will include these "
-#~ "updates, and this step won't be necessary."
-#~ msgstr ""
-#~ "Web Beans는 새로운 소프트웨어이므로, Web Beans RI를 실행하기 위해 JBoss AS"
-#~ "를 업데이트해야 합니다. 향후 JBoss AS 버전에는 이러한 업데이트가 포함되어 "
-#~ "있으므로, 이러한 작업 단계는 필요하지 않게 됩니다.  "

Modified: doc/trunk/reference/ko-KR/scopescontexts.po
===================================================================
--- doc/trunk/reference/ko-KR/scopescontexts.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/ko-KR/scopescontexts.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: scopescontexts\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-01-06 11:30+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-01-22 12:18+1000\n"
 "Last-Translator: Eunju Kim <eukim at redhat.com>\n"
 "Language-Team: Korean <ko at li.org>\n"
@@ -15,10 +15,11 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
-"Plural-Forms:  nplurals=2; plural=(n!=1);\n\n"
+"Plural-Forms:  nplurals=2; plural=(n!=1);\n"
 "\n"
 "\n"
 "\n"
+"\n"
 
 #. Tag: title
 #: scopescontexts.xml:4
@@ -35,7 +36,11 @@
 "the Web Bean. The scope also determines which clients refer to which "
 "instances of the Web Bean. According to the Web Beans specification, a scope "
 "determines:"
-msgstr "지금까지 <emphasis>범위 유형 어노테이션</emphasis>의 여러 가지 예를 살펴보았습니다. Web Bean의 범위는 Web Bean 인스턴스의 수명주기를 결정합니다. 또한 범위는 어떤 클라이언트가 어떤 Web Bean 인스턴스를 참조하게 할 지를 결정합니다. Web Beans 사양에 따라 범위는 다음을 결정합니다: "
+msgstr ""
+"지금까지 <emphasis>범위 유형 어노테이션</emphasis>의 여러 가지 예를 살펴보았"
+"습니다. Web Bean의 범위는 Web Bean 인스턴스의 수명주기를 결정합니다. 또한 범"
+"위는 어떤 클라이언트가 어떤 Web Bean 인스턴스를 참조하게 할 지를 결정합니다. "
+"Web Beans 사양에 따라 범위는 다음을 결정합니다: "
 
 #. Tag: para
 #: scopescontexts.xml:14
@@ -52,7 +57,8 @@
 #. Tag: para
 #: scopescontexts.xml:20
 #, no-c-format
-msgid "Which injected references refer to any instance of a Web Bean with that scope"
+msgid ""
+"Which injected references refer to any instance of a Web Bean with that scope"
 msgstr "삽입된 어떤 참조가 범위와 함께 Web Bean 인스턴스를 참조하는 지 "
 
 #. Tag: para
@@ -65,7 +71,12 @@
 "<literal>CurrentUser</literal>. This instance will be automatically created "
 "the first time a <literal>CurrentUser</literal> is needed in that session, "
 "and automatically destroyed when the session ends."
-msgstr "예를 들어, Web Bean 세션 범위가 있을 경우, <literal>CurrentUser</literal>, 동일한 <literal>HttpSession</literal> 컨텍스트에서 호출되는 모든 Web Beans는 동일한 <literal>CurrentUser</literal> 인스턴스를 확인하게 됩니다. 이러한 인스턴스는 세션에서 <literal>CurrentUser</literal>가 처음으로 필요할 때 자동으로 생성되고 세션이 끝나면 자동으로 삭제됩니다. "
+msgstr ""
+"예를 들어, Web Bean 세션 범위가 있을 경우, <literal>CurrentUser</literal>, 동"
+"일한 <literal>HttpSession</literal> 컨텍스트에서 호출되는 모든 Web Beans는 동"
+"일한 <literal>CurrentUser</literal> 인스턴스를 확인하게 됩니다. 이러한 인스턴"
+"스는 세션에서 <literal>CurrentUser</literal>가 처음으로 필요할 때 자동으로 생"
+"성되고 세션이 끝나면 자동으로 삭제됩니다. "
 
 #. Tag: title
 #: scopescontexts.xml:32
@@ -79,7 +90,9 @@
 msgid ""
 "Web Beans features an <emphasis>extensible context model</emphasis>. It is "
 "possible to define new scopes by creating a new scope type annotation:"
-msgstr "Web Beans는 <emphasis>extensible context model</emphasis>을 특징으로 합니다. 새로운 범위 유형 어노테이션을 생성하여 새로운 범위를 정의할 수 있습니다:  "
+msgstr ""
+"Web Beans는 <emphasis>extensible context model</emphasis>을 특징으로 합니다. "
+"새로운 범위 유형 어노테이션을 생성하여 새로운 범위를 정의할 수 있습니다:  "
 
 #. Tag: programlisting
 #: scopescontexts.xml:37
@@ -103,7 +116,11 @@
 "useful, we will also need to define a <literal>Context</literal> object that "
 "implements the scope! Implementing a <literal>Context</literal> is usually a "
 "very technical task, intended for framework development only."
-msgstr "물론 이는 이러한 작업 중 쉬운 부분입니다. 이러한 범위 유형을 유용하게 하려면, 범위를 구현하는 <literal>Context</literal> 객체를 정의해야 합니다! <literal>Context</literal> 구현은 아주 기술적인 작업으로, 프레임워크 개발 만을 목적으로 합니다.  "
+msgstr ""
+"물론 이는 이러한 작업 중 쉬운 부분입니다. 이러한 범위 유형을 유용하게 하려"
+"면, 범위를 구현하는 <literal>Context</literal> 객체를 정의해야 합니다! "
+"<literal>Context</literal> 구현은 아주 기술적인 작업으로, 프레임워크 개발 만"
+"을 목적으로 합니다.  "
 
 #. Tag: para
 #: scopescontexts.xml:44
@@ -111,7 +128,9 @@
 msgid ""
 "We can apply a scope type annotation to a Web Bean implementation class to "
 "specify the scope of the Web Bean:"
-msgstr "Web Bean 범위를 지정하기 위해 Web Bean 구현 클래스에 범위 유형 어노테이션을 적용할 수 있습니다:  "
+msgstr ""
+"Web Bean 범위를 지정하기 위해 Web Bean 구현 클래스에 범위 유형 어노테이션을 "
+"적용할 수 있습니다:  "
 
 #. Tag: programlisting
 #: scopescontexts.xml:47
@@ -222,7 +241,10 @@
 "If the application tries to invoke a Web Bean with a scope that does not "
 "have an active context, a <literal>ContextNotActiveException</literal> is "
 "thrown by the Web Bean manager at runtime."
-msgstr "애플리케이션이 활성 컨텍스트가 없는 범위와 함께 Web Bean을 호출하고자할 경우, 런타임시 <literal>ContextNotActiveException</literal>은 Web Bean 관리자에 의해 넘기게 됩니다.  "
+msgstr ""
+"애플리케이션이 활성 컨텍스트가 없는 범위와 함께 Web Bean을 호출하고자할 경"
+"우, 런타임시 <literal>ContextNotActiveException</literal>은 Web Bean 관리자"
+"에 의해 넘기게 됩니다.  "
 
 #. Tag: para
 #: scopescontexts.xml:115
@@ -231,7 +253,9 @@
 "Three of the four built-in scopes should be extremely familiar to every Java "
 "EE developer, so let's not waste time discussing them here. One of the "
 "scopes, however, is new."
-msgstr "네 개의 내장된 범위 중 세 개는 모든 Java EE 개발자에게 익숙하므로, 여기서 다루지 않겠습니다. 하지만 이 중 하나의 범위 새로운 것입니다. "
+msgstr ""
+"네 개의 내장된 범위 중 세 개는 모든 Java EE 개발자에게 익숙하므로, 여기서 다"
+"루지 않겠습니다. 하지만 이 중 하나의 범위 새로운 것입니다. "
 
 #. Tag: title
 #: scopescontexts.xml:122
@@ -247,7 +271,10 @@
 "in that it holds state associated with a user of the system, and spans "
 "multiple requests to the server. However, unlike the session scope, the "
 "conversation scope:"
-msgstr "Web Beans 컨버세이션 범위는 시스템 사용자와 관련된 상태를 보유하고 있는 전통 세션 범위와 유사하며, 서버에 여러 가지 요청을 보냅니다. 하지만, 세션 범위와 다르게 컨버세이션 범위는 다음과 같은 사항을 갖습니다:      "
+msgstr ""
+"Web Beans 컨버세이션 범위는 시스템 사용자와 관련된 상태를 보유하고 있는 전통 "
+"세션 범위와 유사하며, 서버에 여러 가지 요청을 보냅니다. 하지만, 세션 범위와 "
+"다르게 컨버세이션 범위는 다음과 같은 사항을 갖습니다:      "
 
 #. Tag: para
 #: scopescontexts.xml:130
@@ -261,7 +288,8 @@
 msgid ""
 "holds state associated with a particular web browser tab in a JSF "
 "application."
-msgstr "JSF 애플리케이션에 있는 특정 웹 브라우저 탭과 관련한 상태를 유지합니다.  "
+msgstr ""
+"JSF 애플리케이션에 있는 특정 웹 브라우저 탭과 관련한 상태를 유지합니다.  "
 
 #. Tag: para
 #: scopescontexts.xml:138
@@ -271,7 +299,11 @@
 "the user. The conversation context holds state associated with what the user "
 "is currently working on. If the user is doing multiple things at the same "
 "time, there are multiple conversations."
-msgstr "컨버세이션은 사용자 관점에서의 작업 단위, 작업 내용을 나타냅니다. 컨버세이션 컨텍스트는 현재 사용자가 작업하고 있는 것과 관련된 상태를 유지합니다. 사용자가 동시에 여러가지 작업을 실행하고 있을 경우, 여러 개의 컨버세이션이 있게 됩니다. "
+msgstr ""
+"컨버세이션은 사용자 관점에서의 작업 단위, 작업 내용을 나타냅니다. 컨버세이션 "
+"컨텍스트는 현재 사용자가 작업하고 있는 것과 관련된 상태를 유지합니다. 사용자"
+"가 동시에 여러가지 작업을 실행하고 있을 경우, 여러 개의 컨버세이션이 있게 됩"
+"니다. "
 
 #. Tag: para
 #: scopescontexts.xml:143
@@ -281,7 +313,11 @@
 "conversations are destroyed at the end of the request. If a conversation "
 "should hold state across multiple requests, it must be explicitly promoted "
 "to a <emphasis>long-running conversation</emphasis>."
-msgstr "컨버세이션 컨텍스트는 JSF 요청 시 활성화되어 있습니다. 하지만 대부분의 컨버세이션은 요청 마지막에 삭제됩니다. 컨버세이션이 여러 가지 요청을 통해 상태를 유지해야 할 경우, <emphasis>장기 실행 컨버세이션</emphasis>으로 요청되어야 합니다. "
+msgstr ""
+"컨버세이션 컨텍스트는 JSF 요청 시 활성화되어 있습니다. 하지만 대부분의 컨버세"
+"이션은 요청 마지막에 삭제됩니다. 컨버세이션이 여러 가지 요청을 통해 상태를 유"
+"지해야 할 경우, <emphasis>장기 실행 컨버세이션</emphasis>으로 요청되어야 합니"
+"다. "
 
 #. Tag: title
 #: scopescontexts.xml:149
@@ -296,7 +332,9 @@
 "Web Beans provides a built-in Web Bean for controlling the lifecyle of "
 "conversations in a JSF application. This Web Bean may be obtained by "
 "injection:"
-msgstr "Web Beans는 JSF 애플리케이션에 있는 컨버세이션 수명 주기를 제어하기 위한 내장된 Web Bean을 제공합니다. 이러한 Web Bean은 삽입에 의해 획득될 수 있습니다:  "
+msgstr ""
+"Web Beans는 JSF 애플리케이션에 있는 컨버세이션 수명 주기를 제어하기 위한 내장"
+"된 Web Bean을 제공합니다. 이러한 Web Bean은 삽입에 의해 획득될 수 있습니다:  "
 
 #. Tag: programlisting
 #: scopescontexts.xml:154
@@ -313,7 +351,11 @@
 "application code. To schedule the current long-running conversation context "
 "for destruction at the end of the current request, call <literal>end()</"
 "literal>."
-msgstr "장기 실행 컨버세이션으로의 최근 요청과 관련된 컨버세이션을 활성화하려면, 애플리케이션 코드에서 <literal>begin()</literal> 방식을 호출합니다. 현재 요청의 마지막에 삭제를 위해 장기 실행 컨버세이션 컨텍스트를 스케줄하려면 <literal>end()</literal>를 호출합니다.  "
+msgstr ""
+"장기 실행 컨버세이션으로의 최근 요청과 관련된 컨버세이션을 활성화하려면, 애플"
+"리케이션 코드에서 <literal>begin()</literal> 방식을 호출합니다. 현재 요청의 "
+"마지막에 삭제를 위해 장기 실행 컨버세이션 컨텍스트를 스케줄하려면 "
+"<literal>end()</literal>를 호출합니다.  "
 
 #. Tag: para
 #: scopescontexts.xml:161
@@ -321,7 +363,8 @@
 msgid ""
 "In the following example, a conversation-scoped Web Bean controls the "
 "conversation with which it is associated:"
-msgstr "다음의 예에서, 컨버세이션 범위 Web Bean은 관련 된 컨버세이션을 제어합니다: "
+msgstr ""
+"다음의 예에서, 컨버세이션 범위 Web Bean은 관련 된 컨버세이션을 제어합니다: "
 
 #. Tag: programlisting
 #: scopescontexts.xml:164
@@ -396,7 +439,10 @@
 "This Web Bean is able to control its own lifecycle through use of the "
 "<literal>Conversation</literal> API. But some other Web Beans have a "
 "lifecycle which depends completely upon another object."
-msgstr "Web Bean은 <literal>Conversation</literal> API를 사용하여 수명 주기를 제어할 수 있습니다. 하지만 일부 다른 Web Beans는 다른 객체에 완전히 의존하는 수명 주기를 갖습니다.  "
+msgstr ""
+"Web Bean은 <literal>Conversation</literal> API를 사용하여 수명 주기를 제어할 "
+"수 있습니다. 하지만 일부 다른 Web Beans는 다른 객체에 완전히 의존하는 수명 주"
+"기를 갖습니다.  "
 
 #. Tag: title
 #: scopescontexts.xml:173
@@ -411,7 +457,10 @@
 "The conversation context automatically propagates with any JSF faces request "
 "(JSF form submission). It does not automatically propagate with non-faces "
 "requests, for example, navigation via a link."
-msgstr "컨버세이션 컨텍스트는 JSF faces 요청 (JSF 양식 제출)과 함께 자동으로 보급됩니다. 예를 들어, 링크를 통한 네비게이션과 같이 이는 non-faces 요청과 함께 자동으로 보급되지 않습니다.  "
+msgstr ""
+"컨버세이션 컨텍스트는 JSF faces 요청 (JSF 양식 제출)과 함께 자동으로 보급됩니"
+"다. 예를 들어, 링크를 통한 네비게이션과 같이 이는 non-faces 요청과 함께 자동"
+"으로 보급되지 않습니다.  "
 
 #. Tag: para
 #: scopescontexts.xml:179
@@ -423,7 +472,12 @@
 "<literal>cid</literal> for this use. The unique identifier of the "
 "conversation may be obtained from the <literal>Conversation</literal> "
 "object, which has the Web Beans name <literal>conversation</literal>."
-msgstr "요청 매개 변수로서 컨버세이션의 고유 식별자를 포함하여 컨버세이션이 non-faces 요청과 함께 보급되도록 강제할 수 있습니다. Web Beans 사양은 이를 사용하기 위해 <literal>cid</literal> 라는 요청 매개 변수를 가집니다. 컨버세이션의 고유 식별자는 <literal>Conversation</literal> 객체에서 획득할 수 있으며, <literal>conversation</literal>이라는 Web Beans 이름을 갖습니다.  "
+msgstr ""
+"요청 매개 변수로서 컨버세이션의 고유 식별자를 포함하여 컨버세이션이 non-"
+"faces 요청과 함께 보급되도록 강제할 수 있습니다. Web Beans 사양은 이를 사용하"
+"기 위해 <literal>cid</literal> 라는 요청 매개 변수를 가집니다. 컨버세이션의 "
+"고유 식별자는 <literal>Conversation</literal> 객체에서 획득할 수 있으며, "
+"<literal>conversation</literal>이라는 Web Beans 이름을 갖습니다.  "
 
 #. Tag: para
 #: scopescontexts.xml:186
@@ -450,7 +504,12 @@
 "very easy to implement the common POST-then-redirect pattern, without resort "
 "to fragile constructs such as a \"flash\" object. In this case, the Web Bean "
 "manager automatically adds a request parameter to the redirect URL."
-msgstr "Web Bean 관리자는 컨버세이션이 장기 실행으로 표시되어 있지 않아도, 리다이렉트를 통해 컨버세이션을 보급해야 합니다. 이는 \"플래시\" 객체와 같은 깨지기 쉬운 구조에 의지하지 않고 일반적인 POST-then-redirect 패턴 쉽게 구현하게 합니다. 이러한 경우 Web Bean 관리자는 리다이렉트 URL에 요청 매개 변수를 자동으로 추가합니다.  "
+msgstr ""
+"Web Bean 관리자는 컨버세이션이 장기 실행으로 표시되어 있지 않아도, 리다이렉트"
+"를 통해 컨버세이션을 보급해야 합니다. 이는 \"플래시\" 객체와 같은 깨지기 쉬"
+"운 구조에 의지하지 않고 일반적인 POST-then-redirect 패턴 쉽게 구현하게 합니"
+"다. 이러한 경우 Web Bean 관리자는 리다이렉트 URL에 요청 매개 변수를 자동으로 "
+"추가합니다.  "
 
 #. Tag: title
 #: scopescontexts.xml:200
@@ -465,9 +524,13 @@
 "The Web Bean manager is permitted to destroy a conversation and all state "
 "held in its context at any time in order to preserve resources. A Web Bean "
 "manager implementation will normally do this on the basis of some kind of "
-"timeout &#151; though this is not required by the Web Beans specification. The "
-"timeout is the period of inactivity before the conversation is destroyed."
-msgstr "Web Bean 관리자에게는 리소스를 보관하기 위해 컨텍스트에 있는 모든 상태 및 컨버세이션을 삭제할 수 있는 권한이 있습니다. Web Bean 관리자 구현은 주로 시간 초과에 기반하여 이를 실행합니다 &#151; 이는 Web Beans 사양에 의해 요청되지 않습니다. 시간 초과는 컨버세이션이 삭제된 후 비활성화 기간을 말합니다.       "
+"timeout &#151; though this is not required by the Web Beans specification. "
+"The timeout is the period of inactivity before the conversation is destroyed."
+msgstr ""
+"Web Bean 관리자에게는 리소스를 보관하기 위해 컨텍스트에 있는 모든 상태 및 컨"
+"버세이션을 삭제할 수 있는 권한이 있습니다. Web Bean 관리자 구현은 주로 시간 "
+"초과에 기반하여 이를 실행합니다 &#151; 이는 Web Beans 사양에 의해 요청되지 않"
+"습니다. 시간 초과는 컨버세이션이 삭제된 후 비활성화 기간을 말합니다.       "
 
 #. Tag: para
 #: scopescontexts.xml:208
@@ -476,7 +539,10 @@
 "The <literal>Conversation</literal> object provides a method to set the "
 "timeout. This is a hint to the Web Bean manager, which is free to ignore the "
 "setting."
-msgstr "<literal>Conversation</literal> 객체는 시간 초과를 설정하기 위한 방식을 제공합니다. 이는 Web Bean 관리자에게 도움이 되며, 설정 사항을 무시하셔도 상관 없습니다. "
+msgstr ""
+"<literal>Conversation</literal> 객체는 시간 초과를 설정하기 위한 방식을 제공"
+"합니다. 이는 Web Bean 관리자에게 도움이 되며, 설정 사항을 무시하셔도 상관 없"
+"습니다. "
 
 #. Tag: programlisting
 #: scopescontexts.xml:212
@@ -485,34 +551,39 @@
 msgstr "conversation.setTimeout(timeoutInMillis);"
 
 #. Tag: title
-#: scopescontexts.xml:219
+#: scopescontexts.xml:218
 #, no-c-format
 msgid "The dependent pseudo-scope"
 msgstr "dependent pseudo-scope "
 
 #. Tag: para
-#: scopescontexts.xml:221
+#: scopescontexts.xml:220
 #, no-c-format
 msgid ""
 "In addition to the four built-in scopes, Web Beans features the so-called "
 "<emphasis>dependent pseudo-scope</emphasis>. This is the default scope for a "
 "Web Bean which does not explicitly declare a scope type."
-msgstr "네 가지 내장된 범위에 더하여, Web Beans는 <emphasis>dependent pseudo-scope</emphasis>라는 기능을 특징으로 합니다. 이는 범위 유형을 명시하지 않는 Web Bean에 대한 기본값 범위입니다. "
+msgstr ""
+"네 가지 내장된 범위에 더하여, Web Beans는 <emphasis>dependent pseudo-scope</"
+"emphasis>라는 기능을 특징으로 합니다. 이는 범위 유형을 명시하지 않는 Web Bean"
+"에 대한 기본값 범위입니다. "
 
 #. Tag: para
-#: scopescontexts.xml:225
+#: scopescontexts.xml:224
 #, no-c-format
-msgid "For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
-msgstr "예를 들어, Web Bean에는 <literal>@Dependent</literal> 범위 유형이 있습니다:  "
+msgid ""
+"For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
+msgstr ""
+"예를 들어, Web Bean에는 <literal>@Dependent</literal> 범위 유형이 있습니다:  "
 
 #. Tag: programlisting
-#: scopescontexts.xml:227
+#: scopescontexts.xml:226
 #, no-c-format
 msgid "<![CDATA[public class Calculator { ... }]]>"
 msgstr "<![CDATA[public class Calculator { ... }]]>"
 
 #. Tag: para
-#: scopescontexts.xml:229
+#: scopescontexts.xml:228
 #, no-c-format
 msgid ""
 "When an injection point of a Web Bean resolves to a dependent Web Bean, a "
@@ -520,10 +591,15 @@
 "Bean is instantiated. Instances of dependent Web Beans are never shared "
 "between different Web Beans or different injection points. They are "
 "<emphasis>dependent objects</emphasis> of some other Web Bean instance."
-msgstr "Web Bean의 삽입 지점이 의존적 Web Bean을 해결할 때, 의존적 Web Bean의 새로운 인스턴스는 처음으로 Web Bean이 초기화될 때 마다 생성됩니다. 의존적 Web Beans의 인스턴스는 다른 Web Bean 사이에서나 또는 다른 삽입 지점 간에 공유되지 않습니다. 이는 일부 다른 Web Bean 인스턴스에 대해 <emphasis>의존적 객체</emphasis>입니다.  "
+msgstr ""
+"Web Bean의 삽입 지점이 의존적 Web Bean을 해결할 때, 의존적 Web Bean의 새로운 "
+"인스턴스는 처음으로 Web Bean이 초기화될 때 마다 생성됩니다. 의존적 Web Beans"
+"의 인스턴스는 다른 Web Bean 사이에서나 또는 다른 삽입 지점 간에 공유되지 않습"
+"니다. 이는 일부 다른 Web Bean 인스턴스에 대해 <emphasis>의존적 객체</"
+"emphasis>입니다.  "
 
 #. Tag: para
-#: scopescontexts.xml:235
+#: scopescontexts.xml:234
 #, no-c-format
 msgid ""
 "Dependent Web Bean instances are destroyed when the instance they depend "
@@ -531,47 +607,57 @@
 msgstr "의존하는 인스턴스가 삭제되면 의존적 Web Bean 인스턴스가 삭제됩니다.   "
 
 #. Tag: para
-#: scopescontexts.xml:243
+#: scopescontexts.xml:242
 #, no-c-format
 msgid ""
 "Web Beans makes it easy to obtain a dependent instance of a Java class or "
 "EJB bean, even if the class or EJB bean is already declared as a Web Bean "
 "with some other scope type."
-msgstr "클래스 또는 EJB bean이 일부 다른 범위 유형과 함께 Web Bean으로 명시되어 있어도, Web Beans는 Java 클래스 또는 EJB bean의 의존적 인스턴스를 쉽게 획득할 수 있게 합니다.   "
+msgstr ""
+"클래스 또는 EJB bean이 일부 다른 범위 유형과 함께 Web Bean으로 명시되어 있어"
+"도, Web Beans는 Java 클래스 또는 EJB bean의 의존적 인스턴스를 쉽게 획득할 수 "
+"있게 합니다.   "
 
 #. Tag: title
-#: scopescontexts.xml:248
+#: scopescontexts.xml:247
 #, no-c-format
 msgid "The <literal>@New</literal> annotation"
 msgstr "<literal>@New</literal> 어노테이션 "
 
 #. Tag: para
-#: scopescontexts.xml:250
+#: scopescontexts.xml:249
 #, no-c-format
 msgid ""
 "The built-in <literal>@New</literal> binding annotation allows "
 "<emphasis>implicit</emphasis> definition of a dependent Web Bean at an "
 "injection point. Suppose we declare the following injected field:"
-msgstr "내장된 <literal>@New</literal> 바인딩 어노테이션은 삽입 지점에서 의존적 Web Bean의 <emphasis>암시적</emphasis> 정의를 허용합니다. 다음과 같은 삽입 영역을 명시한다고 가정합시다:  "
+msgstr ""
+"내장된 <literal>@New</literal> 바인딩 어노테이션은 삽입 지점에서 의존적 Web "
+"Bean의 <emphasis>암시적</emphasis> 정의를 허용합니다. 다음과 같은 삽입 영역"
+"을 명시한다고 가정합시다:  "
 
 #. Tag: programlisting
-#: scopescontexts.xml:254
+#: scopescontexts.xml:253
 #, no-c-format
 msgid "<![CDATA[@New Calculator calculator;]]>"
 msgstr "<![CDATA[@New Calculator calculator;]]>"
 
 #. Tag: para
-#: scopescontexts.xml:256
+#: scopescontexts.xml:255
 #, no-c-format
 msgid ""
 "Then a Web Bean with scope <literal>@Dependent</literal>, binding type "
 "<literal>@New</literal>, API type <literal>Calculator</literal>, "
 "implementation class <literal>Calculator</literal> and deployment type "
 "<literal>@Standard</literal> is implicitly defined."
-msgstr "<literal>@Dependent</literal> 범위, <literal>@New</literal> 바인딩 유형, <literal>Calculator</literal> API 유형, <literal>Calculator</literal> 구현 클래스, <literal>@Standard</literal> 배치 유형과 함께 Web Bean은 암시적으로 정의됩니다.  "
+msgstr ""
+"<literal>@Dependent</literal> 범위, <literal>@New</literal> 바인딩 유형, "
+"<literal>Calculator</literal> API 유형, <literal>Calculator</literal> 구현 클"
+"래스, <literal>@Standard</literal> 배치 유형과 함께 Web Bean은 암시적으로 정"
+"의됩니다.  "
 
 #. Tag: para
-#: scopescontexts.xml:261
+#: scopescontexts.xml:260
 #, no-c-format
 msgid ""
 "This is true even if <literal>Calculator</literal> is <emphasis>already</"
@@ -581,7 +667,7 @@
 "emphasis> 명시되어 있어도 이는 사실입니다, 예:  "
 
 #. Tag: programlisting
-#: scopescontexts.xml:264
+#: scopescontexts.xml:263
 #, no-c-format
 msgid ""
 "<![CDATA[@ConversationScoped\n"
@@ -591,15 +677,16 @@
 "public class Calculator { ... }]]>"
 
 #. Tag: para
-#: scopescontexts.xml:266
+#: scopescontexts.xml:265
 #, no-c-format
 msgid ""
 "So the following injected attributes each get a different instance of "
 "<literal>Calculator</literal>:"
-msgstr "다음의 삽입 속성은 다른 <literal>Calculator</literal> 인스턴스를 갖습니다:  "
+msgstr ""
+"다음의 삽입 속성은 다른 <literal>Calculator</literal> 인스턴스를 갖습니다:  "
 
 #. Tag: programlisting
-#: scopescontexts.xml:269
+#: scopescontexts.xml:268
 #, no-c-format
 msgid ""
 "<![CDATA[public class PaymentCalc {\n"
@@ -617,20 +704,23 @@
 "}]]>"
 
 #. Tag: para
-#: scopescontexts.xml:271
+#: scopescontexts.xml:270
 #, no-c-format
 msgid ""
 "The <literal>calculator</literal> field has a conversation-scoped instance "
 "of <literal>Calculator</literal> injected. The <literal>newCalculator</"
 "literal> field has a new instance of <literal>Calculator</literal> injected, "
 "with a lifecycle that is bound to the owning <literal>PaymentCalc</literal>."
-msgstr "<literal>calculator</literal> 영역에는 <literal>Calculator</literal>의 컨버세이션 범위 인스턴스가 삽입되어 있습니다. <literal>newCalculator</literal> 영역에는 <literal>PaymentCalc</literal> 소유로 바운딩된 수명 주기와 함께 <literal>Calculator</literal>의 새로운 인스턴스가 삽입되어 있습니다.  "
+msgstr ""
+"<literal>calculator</literal> 영역에는 <literal>Calculator</literal>의 컨버세"
+"이션 범위 인스턴스가 삽입되어 있습니다. <literal>newCalculator</literal> 영역"
+"에는 <literal>PaymentCalc</literal> 소유로 바운딩된 수명 주기와 함께 "
+"<literal>Calculator</literal>의 새로운 인스턴스가 삽입되어 있습니다.  "
 
 #. Tag: para
-#: scopescontexts.xml:276
+#: scopescontexts.xml:275
 #, no-c-format
 msgid ""
 "This feature is particularly useful with producer methods, as we'll see in "
 "the next chapter."
 msgstr "특히 이러한 기능은 다음 장에서 다루게 될 생산자 방식에서 유용합니다.  "
-

Added: doc/trunk/reference/ko-KR/viewlayers.po
===================================================================
--- doc/trunk/reference/ko-KR/viewlayers.po	                        (rev 0)
+++ doc/trunk/reference/ko-KR/viewlayers.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,160 @@
+# Language ko-KR translations for Web_Beans:_Java_Contexts_and_Dependency_Injection package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2009-04-19 20:36+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: viewlayers.xml:4
+#, no-c-format
+msgid "Alternative view layers"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:7
+#, no-c-format
+msgid "Using Web Beans with Wicket"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:10
+#, no-c-format
+msgid "The <literal>WebApplication</literal> class"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:12
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass; Web Beans provides, for your utility, a subclass of this which "
+"sets up the Wicket/JSR-299 integration. You should subclass <literal>org."
+"jboss.webbeans.wicket.WebBeansApplication</literal>."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:21
+#, no-c-format
+msgid ""
+"If you would prefer not to subclass <literal>WebBeansApplication</literal>, "
+"you can manually add a (small!) number of overrides and listeners to your "
+"own <literal>WebApplication</literal> subclass. The javadocs of "
+"<literal>WebBeansApplication</literal>detail this."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:30
+#, no-c-format
+msgid "For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: viewlayers.xml:33
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:37
+#, no-c-format
+msgid "Conversations with Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:38
+#, no-c-format
+msgid ""
+"The conversation scope can be used in Web Beans with the Apache Wicket web "
+"framework, through the <literal>webbeans-wicket</literal> module. This "
+"module takes care of:"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:45
+#, no-c-format
+msgid ""
+"Setting up the conversation context at the beginning of a Wicket request, "
+"and tearing it down afterwards"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:51
+#, no-c-format
+msgid ""
+"Storing the id of any long-running conversation in Wicket's metadata when "
+"the page response is complete"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:57
+#, no-c-format
+msgid ""
+"Activating the correct long-running conversation based upon which page is "
+"being accessed"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:63
+#, no-c-format
+msgid ""
+"Propagating the conversation context for any long-running conversation to "
+"new pages"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:70
+#, no-c-format
+msgid "Starting and stopping conversations in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:71
+#, no-c-format
+msgid ""
+"As JSF applications, a conversation <emphasis>always</emphasis> exists for "
+"any request, but its lifetime is only that of the current request unless it "
+"is marked as <emphasis>long-running</emphasis>. For Wicket applications this "
+"is accomplished as in JSF applications, by injecting the <literal>@Current "
+"Conversation</literal> and then invoking <literal>conversation.begin()</"
+"literal>. Likewise, conversations are ended with <literal>conversation.end()"
+"</literal>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:85
+#, no-c-format
+msgid "Long running conversation propagation in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:86
+#, no-c-format
+msgid ""
+"When a conversation is marked as long-running, the id of that conversation "
+"will be stored in Wicket's metadata for the current page. If a new page is "
+"created and set as the response target through <literal>setResponsePage</"
+"literal>, this new page will also participate in this conversation. This "
+"occurs for both directly instantiated pages (<literal>setResponsePage(new "
+"OtherPage())</literal>), as well as for bookmarkable pages created with "
+"<literal>setResponsePage(OtherPage.class)</literal> where <literal>OtherPage."
+"class</literal> is mounted as bookmarkable from your "
+"<literal>WebApplication</literal> subclass (or through annotations). In the "
+"latter case, because the new page instance is not created until after a "
+"redirect, the conversation id will be propagated through a request "
+"parameter, and then stored in page metadata after the redirect."
+msgstr ""

Modified: doc/trunk/reference/pot/Author_Group.pot
===================================================================
--- doc/trunk/reference/pot/Author_Group.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/Author_Group.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/Book_Info.pot
===================================================================
--- doc/trunk/reference/pot/Book_Info.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/Book_Info.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/decorators.pot
===================================================================
--- doc/trunk/reference/pot/decorators.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/decorators.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/ee.pot
===================================================================
--- doc/trunk/reference/pot/ee.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/ee.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/environments.pot
===================================================================
--- doc/trunk/reference/pot/environments.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/environments.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"
@@ -96,13 +96,15 @@
 #. Tag: title
 #: environments.xml:53
 #, no-c-format
-msgid "Tomcat (or any plain Servlet container)"
+msgid "Servlet Containers (such as Tomcat or Jetty)"
 msgstr ""
 
 #. Tag: para
 #: environments.xml:55
 #, no-c-format
-msgid "Web Beans can be used in Tomcat 6.0."
+msgid ""
+"Web Beans can be used in any Servlet container such as Tomcat 6.0 or Jetty "
+"6.1."
 msgstr ""
 
 #. Tag: para
@@ -111,17 +113,18 @@
 msgid ""
 "Web Beans doesn't support deploying session beans, injection using "
 "<literal>@EJB</literal>, or <literal>@PersistenceContext</literal> or using "
-"transactional events on Tomcat."
+"transactional events in Servlet containers."
 msgstr ""
 
 #. Tag: para
 #: environments.xml:66
 #, no-c-format
 msgid ""
-"Web Beans should be used as a web application library in Tomcat. You should "
-"place <literal>webbeans-tomcat.jar</literal> in <literal>WEB-INF/lib</"
-"literal>. <literal>webbeans-tomcat.jar</literal> is an \"uber-jar\" provided "
-"for your convenience. Instead, you could use its component jars:"
+"Web Beans should be used as a web application library in a servlet "
+"container. You should place <literal>webbeans-servlet.jar</literal> in "
+"<literal>WEB-INF/lib</literal>. <literal>webbeans-serv;et.jar</literal> is "
+"an \"uber-jar\" provided for your convenience. Instead, you could use its "
+"component jars:"
 msgstr ""
 
 #. Tag: literal
@@ -157,7 +160,7 @@
 #. Tag: literal
 #: environments.xml:102
 #, no-c-format
-msgid "webbeans-tomcat-int.jar"
+msgid "webbeans-servlet-int.jar"
 msgstr ""
 
 #. Tag: literal
@@ -176,9 +179,9 @@
 #: environments.xml:117
 #, no-c-format
 msgid ""
-"You also need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control its interaction with requests) in <literal>web."
-"xml</literal>:"
+"You also need to explicitly specify the servlet listener (used to boot Web "
+"Beans, and control its interaction with requests) in <literal>web.xml</"
+"literal>:"
 msgstr ""
 
 #. Tag: programlisting
@@ -191,8 +194,14 @@
 "</listener>]]>"
 msgstr ""
 
+#. Tag: title
+#: environments.xml:126
+#, no-c-format
+msgid "Tomcat"
+msgstr ""
+
 #. Tag: para
-#: environments.xml:125
+#: environments.xml:128
 #, no-c-format
 msgid ""
 "Tomcat has a read-only JNDI, so Web Beans can't automatically bind the "
@@ -201,7 +210,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:131
+#: environments.xml:134
 #, no-c-format
 msgid ""
 "<![CDATA[<Resource name=\"app/Manager\" \n"
@@ -212,7 +221,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:133
+#: environments.xml:136
 #, no-c-format
 msgid ""
 "and make it available to your deployment by adding this to <literal>web.xml</"
@@ -220,7 +229,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:138
+#: environments.xml:141
 #, no-c-format
 msgid ""
 "<![CDATA[<resource-env-ref>\n"
@@ -234,7 +243,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:140
+#: environments.xml:143
 #, no-c-format
 msgid ""
 "Tomcat only allows you to bind entries to <literal>java:comp/env</literal>, "
@@ -243,7 +252,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:146
+#: environments.xml:149
 #, no-c-format
 msgid ""
 "Web Beans also supports Servlet injection in Tomcat. To enable this, place "
@@ -253,7 +262,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:153
+#: environments.xml:156
 #, no-c-format
 msgid ""
 "<![CDATA[<Listener className=\"org.jboss.webbeans.environment.tomcat."
@@ -261,13 +270,13 @@
 msgstr ""
 
 #. Tag: title
-#: environments.xml:158
+#: environments.xml:163
 #, no-c-format
 msgid "Java SE"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:160
+#: environments.xml:165
 #, no-c-format
 msgid ""
 "Apart from improved integration of the Enterprise Java stack, Web Beans also "
@@ -279,7 +288,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:168
+#: environments.xml:173
 #, no-c-format
 msgid ""
 "When executing in the SE environment the following features of Web Beans are "
@@ -287,61 +296,49 @@
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:174
+#: environments.xml:179
 #, no-c-format
 msgid "Simple Web Beans (POJOs)"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:179
+#: environments.xml:184
 #, no-c-format
 msgid "Typesafe Dependency Injection"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:184
+#: environments.xml:189
 #, no-c-format
 msgid "Application and Dependent Contexts"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:189
+#: environments.xml:194
 #, no-c-format
 msgid "Binding Types"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:194
+#: environments.xml:199
 #, no-c-format
 msgid "Stereotypes"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:199
-#, no-c-format
-msgid "Decorators"
-msgstr ""
-
-#. Tag: literal
 #: environments.xml:204
 #, no-c-format
-msgid "(TODO: Interceptors ?)"
-msgstr ""
-
-#. Tag: literal
-#: environments.xml:209
-#, no-c-format
 msgid "Typesafe Event Model"
 msgstr ""
 
 #. Tag: title
-#: environments.xml:215
+#: environments.xml:210
 #, no-c-format
 msgid "Web Beans SE Module"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:217
+#: environments.xml:212
 #, no-c-format
 msgid ""
 "To make life easy for developers Web Beans provides a special module with a "
@@ -354,7 +351,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:226
+#: environments.xml:221
 #, no-c-format
 msgid ""
 "<![CDATA[@Parameters List<String> params;\n"
@@ -363,13 +360,13 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:227
+#: environments.xml:222
 #, no-c-format
 msgid "Here's an example of a simple Web Beans SE application:"
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:231
+#: environments.xml:226
 #, no-c-format
 msgid ""
 "<![CDATA[@ApplicationScoped\n"
@@ -385,20 +382,20 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:233
+#: environments.xml:228
 #, no-c-format
 msgid ""
 "Web Beans SE applications are started by running the following main method."
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:235
+#: environments.xml:230
 #, no-c-format
 msgid "<![CDATA[java org.jboss.webbeans.environments.se.StartMain <args>]]>"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:237
+#: environments.xml:232
 #, no-c-format
 msgid ""
 "If you need to do any custom initialization of the Web Beans manager, for "
@@ -408,7 +405,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:242
+#: environments.xml:237
 #, no-c-format
 msgid ""
 "<![CDATA[public class PerformSetup\n"
@@ -422,7 +419,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:246
+#: environments.xml:240
 #, no-c-format
 msgid ""
 "The command line parameters do not become available for injection until the "

Modified: doc/trunk/reference/pot/events.pot
===================================================================
--- doc/trunk/reference/pot/events.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/events.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/example.pot
===================================================================
--- doc/trunk/reference/pot/example.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/example.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/extend.pot
===================================================================
--- doc/trunk/reference/pot/extend.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/extend.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/extensions.pot
===================================================================
--- doc/trunk/reference/pot/extensions.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/extensions.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"
@@ -34,13 +34,68 @@
 msgstr ""
 
 #. Tag: para
-#: extensions.xml:17 extensions.xml:26
+#: extensions.xml:17
 #, no-c-format
-msgid "TODO"
+msgid ""
+"Adding logging to your application is now even easier with simple injection "
+"of a logger object into any JSR-299 bean. Simply annotate a org.jboss."
+"webbeans.log.Log type member with <emphasis>@Logger</emphasis> and an "
+"appropriate logger object will be injected into any instance of the bean."
 msgstr ""
 
-#. Tag: title
-#: extensions.xml:24
+#. Tag: programlisting
+#: extensions.xml:25
 #, no-c-format
-msgid "XSD Generator for JSR-299 XML deployment descriptors"
+msgid ""
+"<![CDATA[public class Checkout {\n"
+"    import org.jboss.webbeans.annotation.Logger;\n"
+"    import org.jboss.webbeans.log.Log;\n"
+"    \n"
+"    @Logger\n"
+"    private Log log;\n"
+"\n"
+"    void invoiceItems() {\n"
+"        ShoppingCart cart;\n"
+"        . . .\n"
+"        log.debug(\"Items invoiced for {0}\", cart);\n"
+"    }\n"
+"    \n"
+"}]]>"
 msgstr ""
+
+#. Tag: para
+#: extensions.xml:27
+#, no-c-format
+msgid ""
+"The example shows how objects can be interpolated into a message. This "
+"interpolation is done using <emphasis>java.text.MessageFormat</emphasis>, so "
+"see the JavaDoc for that class for more details. In this case, the "
+"ShoppingCart should have implemented the <emphasis>toString()</emphasis> "
+"method to produce a human readable value that is meaningful in messages. "
+"Normally, this call would have involved evaluating cart.toString() with "
+"String concatenation to produce a single String argument. Thus it was "
+"necessary to surround the call with an if-statement using the condition "
+"<emphasis>log.isDebugEnabled()</emphasis> to avoid the expensive String "
+"concatenation if the message was not actually going to be used. However, "
+"when using @Logger injected logging, the conditional test can be left out "
+"since the object arguments are not evaluated unless the message is going to "
+"be logged."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:44
+#, no-c-format
+msgid ""
+"You can add the Web Beans Logger to your project by including webbeans-"
+"logger.jar and webbeans-logging.jar to your project. Alternatively, express "
+"a dependency on the <literal>org.jboss.webbeans:webbeans-logger</literal> "
+"Maven artifact."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:51
+#, no-c-format
+msgid ""
+"If you are using Web Beans as your JSR-299 implementation, there is no need "
+"to include <literal>webbeans-logging.jar</literal> as it's already included."
+msgstr ""

Added: doc/trunk/reference/pot/gettingstarted.pot
===================================================================
--- doc/trunk/reference/pot/gettingstarted.pot	                        (rev 0)
+++ doc/trunk/reference/pot/gettingstarted.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,1734 @@
+# SOME DESCRIPTIVE TITLE.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: application/x-xml2pot; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: gettingstarted.xml:4
+#, no-c-format
+msgid "Getting started with Web Beans, the Reference Implementation of JSR-299"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:6
+#, no-c-format
+msgid ""
+"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
+"WebBeans\">the Seam project</ulink>. You can download the latest developer "
+"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
+"\">the downloads page</ulink>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:13
+#, no-c-format
+msgid ""
+"Web Beans comes with a two deployable example applications: "
+"<literal>webbeans-numberguess</literal>, a war example, containing only "
+"simple beans, and <literal>webbeans-translator</literal> an ear example, "
+"containing enterprise beans. There are also two variations on the "
+"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
+"and the jsf2 example, which you can use if you are running JSF2. To run the "
+"examples you'll need the following:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:25
+#, no-c-format
+msgid "the latest release of Web Beans,"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:28
+#, no-c-format
+msgid "JBoss AS 5.0.1.GA, or"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:31
+#, no-c-format
+msgid "Apache Tomcat 6.0.x, and"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:34
+#, no-c-format
+msgid "Ant 1.7.0."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:39
+#, no-c-format
+msgid "Using JBoss AS 5"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:41
+#, no-c-format
+msgid ""
+"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
+"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:47
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.1.GA.zip]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:49 gettingstarted.xml:170
+#, no-c-format
+msgid ""
+"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
+"\">seamframework.org</ulink>, and unzip it. For example"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:55 gettingstarted.xml:176
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-$VERSION.zip]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:58
+#, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>jboss.home</literal> "
+"property. For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:64
+#, no-c-format
+msgid "jboss.home=/Applications/jboss-5.0.1.GA"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:66
+#, no-c-format
+msgid ""
+"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
+"<literal>ANT_HOME</literal> environment variable set. For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:71
+#, no-c-format
+msgid ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:73
+#, no-c-format
+msgid ""
+"Then, you can install the update. The update script will use Maven to "
+"download Web Beans automatically."
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:78
+#, no-c-format
+msgid ""
+"$ cd webbeans-$VERSION/jboss-as\n"
+"$ ant update"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:80
+#, no-c-format
+msgid "Now, you're ready to deploy your first example!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:85
+#, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for JBoss AS, "
+"these are:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:91
+#, no-c-format
+msgid "<literal>ant restart</literal> - deploy the example in exploded format"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:97
+#, no-c-format
+msgid ""
+"<literal>ant explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:103
+#, no-c-format
+msgid ""
+"<literal>ant deploy</literal> - deploy the example in compressed jar format"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:108
+#, no-c-format
+msgid "<literal>ant undeploy</literal> - remove the example from the server"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:113
+#, no-c-format
+msgid "<literal>ant clean</literal> - clean the example"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:120
+#, no-c-format
+msgid "To deploy the numberguess example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:124
+#, no-c-format
+msgid ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:126
+#, no-c-format
+msgid "Start JBoss AS:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:130
+#, no-c-format
+msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:133
+#, no-c-format
+msgid "If you use Windows, use the <literal>run.bat</literal>script."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:138 gettingstarted.xml:240
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
+"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:143
+#, no-c-format
+msgid ""
+"Web Beans includes a second simple example that will translate your text "
+"into Latin. The numberguess example is a war example, and uses only simple "
+"beans; the translator example is an ear example, and includes enterprise "
+"beans, packaged in an EJB module. To try it out:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:150
+#, no-c-format
+msgid ""
+"$ cd examples/translator\n"
+"ant deploy"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:152
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and visit <ulink url=\"http://"
+"localhost:8080/webbeans-translator\"></ulink>!"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:160
+#, no-c-format
+msgid "Using Apache Tomcat 6.0"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:162
+#, no-c-format
+msgid ""
+"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
+"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
+"For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:168
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:178
+#, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
+"property. For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:184
+#, no-c-format
+msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:187
+#, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for Tomcat, "
+"these are:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:193
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:199
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:205
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
+"format"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:210
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:215
+#, no-c-format
+msgid "<literal>ant tomcat.clean</literal> - clean the example"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:222
+#, no-c-format
+msgid "To deploy the numberguess example for tomcat:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:226
+#, no-c-format
+msgid ""
+"$ cd examples/tomcat\n"
+"ant tomcat.deploy"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:228
+#, no-c-format
+msgid "Start Tomcat:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:232
+#, no-c-format
+msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:235
+#, no-c-format
+msgid "If you use Windows, use the <literal>startup.bat</literal>script."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:248
+#, no-c-format
+msgid "Using GlassFish"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:250
+#, no-c-format
+msgid "TODO"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:254
+#, no-c-format
+msgid "The numberguess example"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:256
+#, no-c-format
+msgid ""
+"In the numberguess application you get given 10 attempts to guess a number "
+"between 1 and 100. After each attempt, you will be told whether you are too "
+"high, or too low."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:262
+#, no-c-format
+msgid ""
+"The numberguess example is comprised of a number of Web Beans, configuration "
+"files, and Facelet JSF pages, packaged as a war. Let's start with the "
+"configuration files."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:268
+#, no-c-format
+msgid ""
+"All the configuration files for this example are located in <literal>WEB-INF/"
+"</literal>, which is stored in <literal>WebContent</literal> in the source "
+"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
+"JSF to use Facelets:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:276
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:278
+#, no-c-format
+msgid ""
+"There is an empty <literal>web-beans.xml</literal> file, which marks this "
+"application as a Web Beans application."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:283
+#, no-c-format
+msgid "Finally there is <literal>web.xml</literal>:"
+msgstr ""
+
+#. Tag: section
+#: gettingstarted.xml:285
+#, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
+"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
+"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
+"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
+"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
+"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
+"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
+"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
+"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
+"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
+"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
+"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
+"session timeout of 10 minutes </para> </callout> </calloutlist> </"
+"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
+"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
+"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
+"id=\"template\" coords=\"8\"/> <area id=\"messages2\" coords=\"12\"/> <area "
+"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
+"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
+"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
+"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
+"dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
+"number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
+"number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game."
+"biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
+"{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
+"<para> Facelets is a templating language for JSF, here we are wrapping our "
+"page in a template which defines the header. </para> </callout> <callout "
+"arearefs=\"messages2\"> <para> There are a number of messages which can be "
+"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
+"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
+"range of numbers they can guess gets smaller - this sentance changes to make "
+"sure they know what range to guess in. </para> </callout> <callout arearefs="
+"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
+"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
+"range validator is used to make sure the user doesn't accidentally input a "
+"number outside of the range in which they can guess - if the validator "
+"wasn't here, the user might use up a guess on an out of range number. </"
+"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
+"must be a way for the user to send their guess to the server. Here we bind "
+"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
+"programlistingco>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:387
+#, no-c-format
+msgid ""
+"The example exists of 4 classes, the first two of which are binding types. "
+"First, there is the <literal>@Random</literal> binding type, used for "
+"injecting a random number:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:393
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:395
+#, no-c-format
+msgid ""
+"There is also the <literal>@MaxNumber</literal> binding type, used for "
+"injecting the maximum number that can be injected:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:400
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:402
+#, no-c-format
+msgid ""
+"The <literal>Generator</literal> class is responsible for creating the "
+"random number, via a producer method. It also exposes the maximum possible "
+"number via a producer method:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:408
+#, no-c-format
+msgid ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System."
+"currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:410
+#, no-c-format
+msgid ""
+"You'll notice that the <literal>Generator</literal> is application scoped; "
+"therefore we don't get a different random each time."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:415
+#, no-c-format
+msgid ""
+"The final Web Bean in the application is the session scoped <literal>Game</"
+"literal>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:420
+#, no-c-format
+msgid ""
+"You'll note that we've used the <literal>@Named</literal> annotation, so "
+"that we can use the bean through EL in the JSF page. Finally, we've used "
+"constructor injection to initialize the game with a random number. And of "
+"course, we need to tell the player when they've won, so we give feedback "
+"with a <literal>FacesMessage</literal>."
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:428
+#, no-c-format
+msgid ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
+"(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new "
+"AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:431
+#, no-c-format
+msgid "The numberguess example in Tomcat"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:433
+#, no-c-format
+msgid ""
+"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
+"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
+"literal>. For your convenience we provide a single jar suitable for running "
+"Web Beans in any servlet container <literal>webbeans-servlet.jar</literal>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:442
+#, no-c-format
+msgid ""
+"Of course, you must also include JSF and EL, as well common annotations "
+"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:449
+#, no-c-format
+msgid ""
+"Secondly, we need to explicitly specify the servlet listener (used to boot "
+"Web Beans, and control it's interaction with requests) in <literal>web.xml</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:455
+#, no-c-format
+msgid ""
+"<![CDATA[<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:460
+#, no-c-format
+msgid "The numberguess example for Apache Wicket"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:461
+#, no-c-format
+msgid ""
+"Whilst JSR-299 specifies integration with Java ServerFaces, Web Beans allows "
+"you to inject into Wicket components, and also allows you to use a "
+"conversation context with Wicket. In this section, we'll walk you through "
+"the Wicket version of the numberguess example."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:470
+#, no-c-format
+msgid ""
+"You may want to review the Wicket documentation at <ulink url=\"http://"
+"wicket.apache.org/\">http://wicket.apache.org/</ulink>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:476
+#, no-c-format
+msgid ""
+"Like the previous example, the Wicket WebBeans examples make use of the "
+"<literal>webbeans-servlet</literal> module. The use of the <ulink url="
+"\"http://jetty.mortbay.org/\">Jetty servlet container</ulink> is common in "
+"the Wicket community, and is chosen here as the runtime container in order "
+"to facilitate comparison between the standard Wicket examples and these "
+"examples, and also to show how the webbeans-servlet integration is not "
+"dependent upon Tomcat as the servlet container."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:487
+#, no-c-format
+msgid ""
+"These examples make use of the Eclipse IDE; instructions are also given to "
+"deploy the application from the command line."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:493
+#, no-c-format
+msgid "Creating the Eclipse project"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:495
+#, no-c-format
+msgid "To generate an Eclipse project from the example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:499
+#, no-c-format
+msgid ""
+"<![CDATA[cd examples/wicket/numberguess\n"
+"mvn eclipse:eclipse]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:501
+#, no-c-format
+msgid ""
+"Then, from eclipse, choose <emphasis>File -> Import -> General -> Existing "
+"Projects into Workspace</emphasis>, select the root directory of the "
+"numberguess example, and click finish. This will create a project in your "
+"workspace called <literal>webbeans-wicket-numberguess</literal>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:516
+#, no-c-format
+msgid "Running the example from Eclipse"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:518
+#, no-c-format
+msgid ""
+"This project follows the <literal>wicket-quickstart</literal> approach of "
+"creating an instance of Jetty in the <literal>Start</literal> class. So "
+"running the example is as simple as right-clicking on that Start class in "
+"<literal>src/test/java</literal> in the <emphasis>Package Explorer</"
+"emphasis> and choosing <emphasis>Run as Java Application</emphasis>. You "
+"should see console output related to Jetty starting up; then visit able "
+"<literal>http://localhost:8080</literal> to view the app. To debug choose "
+"<emphasis>Debug as Java Application</emphasis>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:533
+#, no-c-format
+msgid "Running the example from the command line in JBoss AS or Tomcat"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:535
+#, no-c-format
+msgid ""
+"This example can also be deployed from the command line in a (similar to the "
+"other examples). Assuming you have set up the <literal>build.properties</"
+"literal> file in the <literal>examples</literal> directory to specify the "
+"location of JBoss AS or Tomcat, as previously described, you can run "
+"<literal>ant deploy</literal> from the <literal>examples/wicket/numberguess</"
+"literal> directory, and access the application at <literal>http://"
+"localhost:8080/webbeans-numberguess-wicket</literal>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:549
+#, no-c-format
+msgid "Understanding the code"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:551
+#, no-c-format
+msgid ""
+"JSF uses Unified EL expressions to bind view layer components in JSP or "
+"Facelet views to beans, Wicket defines it's components in Java. The markup "
+"is plain html with a one-to-one mapping between html elements and the view "
+"components. All view logic, including binding of components to models and "
+"controlling the response of view actions, is handled in Java. The "
+"integration of Web Beans with Wicket takes advantage of the same binding "
+"annotations used in your business layer to provide injection into your "
+"WebPage subclass (or into other custom wicket component subclasses)."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:563
+#, no-c-format
+msgid ""
+"The code in the wicket numberguess example is very similar to the JSF-based "
+"numberguess example. The business layer is identical!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:568
+#, no-c-format
+msgid "Differences are:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:573
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass, In our case, our application class is <literal>SampleApplication</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:579
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:580
+#, no-c-format
+msgid ""
+"This class specifies which page wicket should treat as our home page, in our "
+"case, <literal>HomePage.class</literal>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:586
+#, no-c-format
+msgid ""
+"In <literal>HomePage</literal> we see typical wicket code to set up page "
+"elements. The bit that is interesting is the injection of the <literal>Game</"
+"literal> bean:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:592
+#, no-c-format
+msgid "<![CDATA[ @Current Game game;]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:594
+#, no-c-format
+msgid ""
+"The <literal>Game</literal> bean is can then be used, for example, by the "
+"code for submitting a guess:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:599
+#, no-c-format
+msgid ""
+"<![CDATA[final Component guessButton = new AjaxButton(\"GuessButton\") { \n"
+"   protected void onSubmit(AjaxRequestTarget target, Form form) {\n"
+"      if (game.check()) {]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:602
+#, no-c-format
+msgid ""
+"All injections may be serialized; actual storage of the bean is managed by "
+"JSR-299. Note that Wicket components, like the HomePage and it "
+"subcomponents, are <emphasis>not</emphasis> JSR-299 beans."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:608
+#, no-c-format
+msgid ""
+"Wicket components allow injection, but they <emphasis>cannot</emphasis> use "
+"interceptors, decorators and lifecycle callbacks such as "
+"<literal>@PostConstruct</literal> or <literal>@Initializer</literal> methods."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:618
+#, no-c-format
+msgid ""
+"The example uses AJAX for processing of button events, and dynamically hides "
+"buttons that are no longer relevant, for example when the user has won the "
+"game."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:626
+#, no-c-format
+msgid ""
+"In order to activate wicket for this webapp, the Wicket filter is added to "
+"web.xml, and our application class is specified:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:631
+#, no-c-format
+msgid ""
+"<![CDATA[<filter>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-"
+"class>\n"
+"   <init-param>\n"
+"      <param-name>applicationClassName</param-name>\n"
+"      <param-value>org.jboss.webbeans.examples.wicket.SampleApplication</"
+"param-value>\n"
+"   </init-param>\n"
+"</filter>\n"
+"\n"
+"<filter-mapping>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <url-pattern>/*</url-pattern>\n"
+"</filter-mapping>\n"
+" \n"
+"<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:632
+#, no-c-format
+msgid ""
+"Note that the servlet listener is also added, as in the Tomcat example, in "
+"order to boostrap Web Beans when Jetty starts, and to hook Web Beans into "
+"the Jetty servlet request and session lifecycles."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:645
+#, no-c-format
+msgid "The numberguess example for Java SE with Swing"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:647
+#, no-c-format
+msgid ""
+"This example can be found in the <literal>examples/se/numberguess</literal> "
+"folder of the Web Beans distribution."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:654
+#, no-c-format
+msgid "To run this example:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:660
+#, no-c-format
+msgid ""
+"Open a command line/terminal window in the <literal>examples/se/numberguess</"
+"literal> directory"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:666
+#, no-c-format
+msgid "Ensure that Maven 2 is installed and in your PATH"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:671
+#, no-c-format
+msgid ""
+"Ensure that the <literal>JAVA_HOME</literal> environment variable is "
+"pointing to your JDK installation"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:677
+#, no-c-format
+msgid "execute the following command"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:680
+#, no-c-format
+msgid "mvn -Drun"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:686
+#, no-c-format
+msgid ""
+"There is an empty <literal>beans.xml</literal> file in the root package "
+"(<literal>src/main/resources/beans.xml</literal>), which marks this "
+"application as a Web Beans application."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:692
+#, no-c-format
+msgid ""
+"The game's main logic is located in <literal>Game.java</literal>. Here is "
+"the code for that class, highlighting the changes made from the web "
+"application version:"
+msgstr ""
+
+#. Tag: section
+#: gettingstarted.xml:696
+#, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"scope\" coords=\"1\"/> <area id="
+"\"name\" coords=\"1\"/> <area id=\"messages1\" coords=\"26\"/> <area id="
+"\"validation\" coords=\"39\"/> <area id=\"reset\" coords=\"68\"/> </"
+"areaspec> <programlisting role=\"JAVA\"><![CDATA[@ApplicationScoped\n"
+"public class Game implements Serializable\n"
+"{\n"
+"\n"
+"    private int number;\n"
+"    private int guess;\n"
+"    private int smallest;\n"
+"\n"
+"    @MaxNumber\n"
+"    private int maxNumber;\n"
+"\n"
+"    private int biggest;\n"
+"    private int remainingGuesses;\n"
+"    private boolean validNumberRange = true;\n"
+"\n"
+"    @Current Generator rndGenerator;\n"
+"\n"
+"    ...\n"
+"\n"
+"    public boolean isValidNumberRange()\n"
+"    {\n"
+"        return validNumberRange;\n"
+"    }\n"
+"\n"
+"    public boolean isGameWon()\n"
+"    {\n"
+"        return guess == number;\n"
+"    }\n"
+"\n"
+"    public boolean isGameLost()\n"
+"    {\n"
+"        return guess != number && remainingGuesses <= 0;\n"
+"    }\n"
+"\n"
+"    public boolean check()\n"
+"    {\n"
+"        boolean result = false;\n"
+"\n"
+"        if ( checkNewNumberRangeIsValid() )\n"
+"        {\n"
+"            if ( guess > number )\n"
+"            {\n"
+"                biggest = guess - 1;\n"
+"            }\n"
+"\n"
+"            if ( guess < number )\n"
+"            {\n"
+"                smallest = guess + 1;\n"
+"            }\n"
+"\n"
+"            if ( guess == number )\n"
+"            {\n"
+"                result = true;\n"
+"            }\n"
+"\n"
+"            remainingGuesses--;\n"
+"        }\n"
+"\n"
+"        return result;\n"
+"    }\n"
+"\n"
+"    private boolean checkNewNumberRangeIsValid()\n"
+"    {\n"
+"        return validNumberRange = ( ( guess >= smallest ) && ( guess <= "
+"biggest ) );\n"
+"    }\n"
+"\n"
+"    @PostConstruct\n"
+"    public void reset()\n"
+"    {\n"
+"        this.smallest = 0;\n"
+"        ...\n"
+"        this.number = rndGenerator.next();\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"scope\"> <para> The "
+"bean is application scoped instead of session scoped, since an instance of "
+"the application represents a single 'session'. </para> </callout> <callout "
+"arearefs=\"name\"> <para> The bean is not named, since it doesn't need to be "
+"accessed via EL </para> </callout> <callout arearefs=\"messages1\"> <para> "
+"There is no JSF <literal>FacesContext</literal> to add messages to. Instead "
+"the <literal>Game</literal> class provides additional information about the "
+"state of the current game including: </para> <itemizedlist> <listitem> "
+"<para> If the game has been won or lost </para> </listitem> <listitem> "
+"<para> If the most recent guess was invalid </para> </listitem> </"
+"itemizedlist> <para> This allows the Swing UI to query the state of the "
+"game, which it does indirectly via a class called <literal>MessageGenerator,"
+"</literal> in order to determine the appropriate messages to display to the "
+"user during the game. </para> </callout> <callout arearefs=\"validation\"> "
+"<para> Validation of user input is performed during the <literal>check()</"
+"literal> method, since there is no dedicated validation phase </para> </"
+"callout> <callout arearefs=\"reset\"> <para> The <literal>reset()</literal> "
+"method makes a call to the injected <literal>rndGenerator</literal> in order "
+"to get the random number at the start of each game. It cannot use "
+"<literal>manager.getInstanceByType(Integer.class, new AnnotationLiteral&lt;"
+"Random&gt;(){})</literal> as the JSF example does because there will not be "
+"any active contexts like there is during a JSF request. </para> </callout> </"
+"calloutlist> </programlistingco> <para> The <literal>MessageGenerator</"
+"literal> class depends on the current instance of <literal>Game</literal>, "
+"and queries its state in order to determine the appropriate messages to "
+"provide as the prompt for the user's next guess and the response to the "
+"previous guess. The code for <literal>MessageGenerator</literal> is as "
+"follows: </para> <programlistingco> <areaspec> <area id=\"game\" coords=\"3"
+"\"/> <area id=\"challenge\" coords=\"5\"/> <area id=\"result\" coords=\"16\"/"
+"> </areaspec> <programlisting role=\"JAVA\"><![CDATA[public class "
+"MessageGenerator\n"
+"{\n"
+"    @Current Game game;\n"
+"\n"
+"    public String getChallengeMessage()\n"
+"    {\n"
+"        StringBuilder challengeMsg = new StringBuilder( \"I'm thinking of a "
+"number between \" );\n"
+"        challengeMsg.append( game.getSmallest() );\n"
+"        challengeMsg.append( \" and \" );\n"
+"        challengeMsg.append( game.getBiggest() );\n"
+"        challengeMsg.append( \". Can you guess what it is?\" );\n"
+"\n"
+"        return challengeMsg.toString();\n"
+"    }\n"
+"\n"
+"    public String getResultMessage()\n"
+"    {\n"
+"        if ( game.isGameWon() )\n"
+"        {\n"
+"            return \"You guess it! The number was \" + game.getNumber();\n"
+"        } else if ( game.isGameLost() )\n"
+"        {\n"
+"            return \"You are fail! The number was \" + game.getNumber();\n"
+"        } else if ( ! game.isValidNumberRange() )\n"
+"        {\n"
+"            return \"Invalid number range!\";\n"
+"        } else if ( game.getRemainingGuesses() == Game.MAX_NUM_GUESSES )\n"
+"        {\n"
+"            return \"What is your first guess?\";\n"
+"        } else\n"
+"        {\n"
+"            String direction = null;\n"
+"\n"
+"            if ( game.getGuess() < game.getNumber() )\n"
+"            {\n"
+"                direction = \"Higher\";\n"
+"            } else\n"
+"            {\n"
+"                direction = \"Lower\";\n"
+"            }\n"
+"\n"
+"            return direction + \"! You have \" + game.getRemainingGuesses() "
+"+ \" guesses left.\";\n"
+"        }\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"game\"> <para> The "
+"instance of <literal>Game</literal> for the application is injected here. </"
+"para> </callout> <callout arearefs=\"challenge\"> <para> The <literal>Game</"
+"literal>'s state is interrogated to determine the appropriate challenge "
+"message. </para> </callout> <callout arearefs=\"result\"> <para> And again "
+"to determine whether to congratulate, console or encourage the user to "
+"continue. </para> </callout> </calloutlist> </programlistingco> <para> "
+"Finally we come to the <literal>NumberGuessFrame</literal> class which "
+"provides the Swing front end to our guessing game. </para> "
+"<programlistingco> <areaspec> <area id=\"gameIn\" coords=\"3\"/> <area id="
+"\"messagesIn\" coords=\"4\"/> <area id=\"start\" coords=\"6\"/> <area id="
+"\"init\" coords=\"18\"/> <area id=\"guess1\" coords=\"34\"/> <area id="
+"\"replay\" coords=\"44\"/> <area id=\"refresh\" coords=\"50\"/> </areaspec> "
+"<programlisting role=\"JAVA\"><![CDATA[public class NumberGuessFrame  "
+"extends javax.swing.JFrame\n"
+"{\n"
+"    private @Current Game game;\n"
+"    private @Current MessageGenerator msgGenerator;\n"
+"\n"
+"    public void start( @Observes @Deployed Manager manager )\n"
+"    {\n"
+"        java.awt.EventQueue.invokeLater( new Runnable()\n"
+"            {\n"
+"                public void run()\n"
+"                {\n"
+"                    initComponents();\n"
+"                    setVisible( true );\n"
+"                }\n"
+"            } );\n"
+"    }\n"
+"\n"
+"    private void initComponents() {\n"
+"\n"
+"        buttonPanel = new javax.swing.JPanel();\n"
+"        mainMsgPanel = new javax.swing.JPanel();\n"
+"        mainLabel = new javax.swing.JLabel();\n"
+"        messageLabel = new javax.swing.JLabel();\n"
+"        guessText = new javax.swing.JTextField();\n"
+"        ...\n"
+"        mainLabel.setText(msgGenerator.getChallengeMessage());\n"
+"        mainMsgPanel.add(mainLabel);\n"
+"\n"
+"        messageLabel.setText(msgGenerator.getResultMessage());\n"
+"        mainMsgPanel.add(messageLabel);\n"
+"        ...\n"
+"    }\n"
+"\n"
+"    private void guessButtonActionPerformed( java.awt.event.ActionEvent "
+"evt )\n"
+"    {\n"
+"        int guess =  Integer.parseInt(guessText.getText());\n"
+"\n"
+"        game.setGuess( guess );\n"
+"        game.check();\n"
+"        refreshUI();\n"
+"\n"
+"    }\n"
+"\n"
+"    private void replayBtnActionPerformed( java.awt.event.ActionEvent evt )\n"
+"    {\n"
+"       game.reset();\n"
+"       refreshUI();\n"
+"    }\n"
+"\n"
+"    private void refreshUI()\n"
+"    {\n"
+"        mainLabel.setText( msgGenerator.getChallengeMessage() );\n"
+"        messageLabel.setText( msgGenerator.getResultMessage() );\n"
+"        guessText.setText( \"\" );\n"
+"        guessesLeftBar.setValue( game.getRemainingGuesses() );\n"
+"        guessText.requestFocus();\n"
+"    }\n"
+"\n"
+"    // swing components\n"
+"    private javax.swing.JPanel borderPanel;\n"
+"    ...\n"
+"    private javax.swing.JButton replayBtn;\n"
+"\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"gameIn\"> <para> The "
+"injected instance of the game (logic and state). </para> </callout> <callout "
+"arearefs=\"messagesIn\"> <para> The injected message generator for UI "
+"messages. </para> </callout> <callout arearefs=\"start\"> <para> This "
+"application is started in the usual Web Beans SE way, by observing the "
+"<literal>@Deployed Manager</literal> event. </para> </callout> <callout "
+"arearefs=\"init\"> <para> This method initialises all of the Swing "
+"components. Note the use of the <literal>msgGenerator</literal>. </para> </"
+"callout> <callout arearefs=\"guess1\"> <para> "
+"<literal>guessButtonActionPerformed</literal> is called when the 'Guess' "
+"button is clicked, and it does the following: </para> <itemizedlist> "
+"<listitem> <para> Gets the guess entered by the user and sets it as the "
+"current guess in the <literal>Game</literal> </para> </listitem> <listitem> "
+"<para> Calls <literal>game.check()</literal> to validate and perform one "
+"'turn' of the game </para> </listitem> <listitem> <para> Calls "
+"<literal>refreshUI</literal>. If there were validation errors with the "
+"input, this will have been captured during <literal>game.check()</literal> "
+"and as such will be reflected in the messeges returned by "
+"<literal>MessageGenerator</literal> and subsequently presented to the user. "
+"If there are no validation errors then the user will be told to guess again "
+"(higher or lower) or that the game has ended either in a win (correct guess) "
+"or a loss (ran out of guesses). </para> </listitem> </itemizedlist> </"
+"callout> <callout arearefs=\"replay\"> <para> "
+"<literal>replayBtnActionPerformed</literal> simply calls <literal>game.reset"
+"()</literal> to start a new game and refreshes the messages in the UI. </"
+"para> </callout> <callout arearefs=\"refresh\"> <para> <literal>refreshUI</"
+"literal> uses the <literal>MessageGenerator</literal> to update the messages "
+"to the user based on the current state of the Game. </para> </callout> </"
+"calloutlist> </programlistingco>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:904
+#, no-c-format
+msgid "The translator example"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:906
+#, no-c-format
+msgid ""
+"The translator example will take any sentences you enter, and translate them "
+"to Latin."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:911
+#, no-c-format
+msgid ""
+"The translator example is built as an ear, and contains EJBs. As a result, "
+"it's structure is more complex than the numberguess example."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:917
+#, no-c-format
+msgid ""
+"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
+"this structure much simpler!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:923
+#, no-c-format
+msgid ""
+"First, let's take a look at the ear aggregator, which is located in "
+"<literal>webbeans-translator-ear</literal> module. Maven automatically "
+"generates the <literal>application.xml</literal> for us:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:929
+#, no-c-format
+msgid ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:931
+#, no-c-format
+msgid ""
+"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
+"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
+"translator</ulink>)."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:937
+#, no-c-format
+msgid ""
+"If you aren't using Maven to generate these files, you would need "
+"<literal>META-INF/application.xml</literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:942
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web "
+"Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:945
+#, no-c-format
+msgid ""
+"Next, lets look at the war. Just as in the numberguess example, we have a "
+"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
+"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:952
+#, no-c-format
+msgid ""
+"More intersting is the facelet used to translate text. Just as in the "
+"numberguess example we have a template, which surrounds the form (ommitted "
+"here for brevity):"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:958
+#, no-c-format
+msgid ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:960
+#, no-c-format
+msgid ""
+"The user can enter some text in the lefthand textarea, and hit the translate "
+"button to see the result to the right."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:965
+#, no-c-format
+msgid ""
+"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
+"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
+"empty <literal>web-beans.xml</literal>, used to mark the archive as "
+"containing Web Beans."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:973
+#, no-c-format
+msgid ""
+"We've saved the most interesting bit to last, the code! The project has two "
+"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
+"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
+"literal> and <literal>SentenceTranslator</literal>. You should be getting "
+"quite familiar with what a Web Bean looks like by now, so we'll just "
+"highlight the most interesting bits here."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:983
+#, no-c-format
+msgid ""
+"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
+"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
+"initialization:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:989
+#, no-c-format
+msgid ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator "
+"sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:991
+#, no-c-format
+msgid ""
+"<literal>TextTranslator</literal> is a stateless bean (with a local business "
+"interface), where the magic happens - of course, we couldn't develop a full "
+"translator, but we gave it a good go!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:997
+#, no-c-format
+msgid ""
+"Finally, there is UI orientated controller, that collects the text from the "
+"user, and dispatches it to the translator. This is a request scoped, named, "
+"stateful session bean, which injects the translator."
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:1003
+#, no-c-format
+msgid ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:1005
+#, no-c-format
+msgid "The bean also has getters and setters for all the fields on the page."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:1009
+#, no-c-format
+msgid "As this is a stateful session bean, we have to have a remove method:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:1013
+#, no-c-format
+msgid ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:1015
+#, no-c-format
+msgid ""
+"The Web Beans manager will call the remove method for you when the bean is "
+"destroyed; in this case at the end of the request."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:1021
+#, no-c-format
+msgid ""
+"That concludes our short tour of the Web Beans examples. For more on Web "
+"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
+"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
+"Development</ulink>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:1027
+#, no-c-format
+msgid ""
+"We need help in all areas - bug fixing, writing new features, writing "
+"examples and translating this reference guide."
+msgstr ""

Modified: doc/trunk/reference/pot/injection.pot
===================================================================
--- doc/trunk/reference/pot/injection.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/injection.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/interceptors.pot
===================================================================
--- doc/trunk/reference/pot/interceptors.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/interceptors.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/intro.pot
===================================================================
--- doc/trunk/reference/pot/intro.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/intro.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/master.pot
===================================================================
--- doc/trunk/reference/pot/master.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/master.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/next.pot
===================================================================
--- doc/trunk/reference/pot/next.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/next.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/part1.pot
===================================================================
--- doc/trunk/reference/pot/part1.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/part1.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/part2.pot
===================================================================
--- doc/trunk/reference/pot/part2.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/part2.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/part3.pot
===================================================================
--- doc/trunk/reference/pot/part3.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/part3.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/part4.pot
===================================================================
--- doc/trunk/reference/pot/part4.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/part4.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/part5.pot
===================================================================
--- doc/trunk/reference/pot/part5.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/part5.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/producermethods.pot
===================================================================
--- doc/trunk/reference/pot/producermethods.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/producermethods.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"
@@ -37,29 +37,83 @@
 msgid "According to the spec:"
 msgstr ""
 
-#. Tag: chapter
-#: producermethods.xml:12
+#. Tag: para
+#: producermethods.xml:16
 #, no-c-format
 msgid ""
-"<blockquote> <para>A Web Beans producer method acts as a source of objects "
-"to be injected, where:</para> <itemizedlist> <listitem> <para>the objects to "
-"be injected are not required to be instances of Web Beans,</para> </"
-"listitem> <listitem> <para>the concrete type of the objects to be injected "
-"may vary at runtime or</para> </listitem> <listitem> <para>the objects "
-"require some custom initialization that is not performed by the Web Bean "
-"constructor</para> </listitem> </itemizedlist> </blockquote> <para>For "
-"example, producer methods let us:</para> <itemizedlist> <listitem> "
-"<para>expose a JPA entity as a Web Bean,</para> </listitem> <listitem> "
-"<para>expose any JDK class as a Web Bean,</para> </listitem> <listitem> "
-"<para>define multiple Web Beans, with different scopes or initialization, "
-"for the same implementation class, or</para> </listitem> <listitem> "
-"<para>vary the implementation of an API type at runtime.</para> </listitem> "
-"</itemizedlist> <para>In particular, producer methods let us use runtime "
-"polymorphism with Web Beans. As we've seen, deployment types are a powerful "
-"solution to the problem of deployment-time polymorphism. But once the system "
-"is deployed, the Web Bean implementation is fixed. A producer method has no "
-"such limitation:</para> <programlisting role=\"JAVA\"><![CDATA"
-"[@SessionScoped\n"
+"A Web Beans producer method acts as a source of objects to be injected, "
+"where:"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:20
+#, no-c-format
+msgid ""
+"the objects to be injected are not required to be instances of Web Beans,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:23
+#, no-c-format
+msgid "the concrete type of the objects to be injected may vary at runtime or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:26
+#, no-c-format
+msgid ""
+"the objects require some custom initialization that is not performed by the "
+"Web Bean constructor"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:33
+#, no-c-format
+msgid "For example, producer methods let us:"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:37
+#, no-c-format
+msgid "expose a JPA entity as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:40
+#, no-c-format
+msgid "expose any JDK class as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:43
+#, no-c-format
+msgid ""
+"define multiple Web Beans, with different scopes or initialization, for the "
+"same implementation class, or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:47
+#, no-c-format
+msgid "vary the implementation of an API type at runtime."
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:51
+#, no-c-format
+msgid ""
+"In particular, producer methods let us use runtime polymorphism with Web "
+"Beans. As we've seen, deployment types are a powerful solution to the "
+"problem of deployment-time polymorphism. But once the system is deployed, "
+"the Web Bean implementation is fixed. A producer method has no such "
+"limitation:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:56
+#, no-c-format
+msgid ""
+"<![CDATA[@SessionScoped\n"
 "public class Preferences {\n"
 "    \n"
 "    private PaymentStrategyType paymentStrategy;\n"
@@ -76,15 +130,37 @@
 "        } \n"
 "    }\n"
 "    \n"
-"}]]></programlisting> <para>Consider an injection point:</para> "
-"<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
-"paymentStrat;]]></programlisting> <para>This injection point has the same "
-"type and binding annotations as the producer method, so it resolves to the "
-"producer method using the usual Web Beans injection rules. The producer "
-"method will be called by the Web Bean manager to obtain an instance to "
-"service this injection point.</para>."
+"}]]>"
 msgstr ""
 
+#. Tag: para
+#: producermethods.xml:58
+#, no-c-format
+msgid "Consider an injection point:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:60
+#, no-c-format
+msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:62
+#, no-c-format
+msgid ""
+"This injection point has the same type and binding annotations as the "
+"producer method, so it resolves to the producer method using the usual Web "
+"Beans injection rules. The producer method will be called by the Web Bean "
+"manager to obtain an instance to service this injection point."
+msgstr ""
+
+#. Tag: chapter
+#: producermethods.xml:65
+#, no-c-format
+msgid "<chapter>.</chapter>"
+msgstr ""
+
 #. Tag: title
 #: producermethods.xml:68
 #, no-c-format

Modified: doc/trunk/reference/pot/ri-spi.pot
===================================================================
--- doc/trunk/reference/pot/ri-spi.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/ri-spi.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"
@@ -17,127 +17,112 @@
 #. Tag: title
 #: ri-spi.xml:4
 #, no-c-format
-msgid "Integrating the Web Beans RI into other environments"
+msgid "Integrating Web Beans into other environments"
 msgstr ""
 
 #. Tag: para
 #: ri-spi.xml:6
 #, no-c-format
 msgid ""
-"Currently the Web Beans RI only runs in JBoss AS 5; integrating the RI into "
-"other EE environments (for example another application server like "
-"Glassfish), into a servlet container (like Tomcat), or with an Embedded "
-"EJB3.1 implementation is fairly easy. In this Appendix we will briefly "
-"discuss the steps needed."
+"Currently Web Beans only runs in JBoss AS 5; integrating the RI into other "
+"EE environments (for example another application server like Glassfish), "
+"into a servlet container (like Tomcat), or with an Embedded EJB3.1 "
+"implementation is fairly easy. In this Appendix we will briefly discuss the "
+"steps needed."
 msgstr ""
 
-#. Tag: para
+#. Tag: title
 #: ri-spi.xml:15
 #, no-c-format
-msgid ""
-"It should be possible to run Web Beans in an SE environment, but you'll to "
-"do more work, adding your own contexts and lifecycle. The Web Beans RI "
-"currently doesn't expose lifecycle extension points, so you would have to "
-"code directly against Web Beans RI classes."
+msgid "The Web Beans SPI"
 msgstr ""
 
-#. Tag: title
-#: ri-spi.xml:24
-#, no-c-format
-msgid "The Web Beans RI SPI"
-msgstr ""
-
 #. Tag: para
-#: ri-spi.xml:26
+#: ri-spi.xml:17
 #, no-c-format
 msgid ""
-"The Web Beans SPI is located in <literal>webbeans-spi</literal> module, and "
-"packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, if "
-"you need to override the default behavior, others are required."
+"The Web Beans SPI is located in the <literal>webbeans-spi</literal> module, "
+"and packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, "
+"if you need to override the default behavior, others are required."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:33
+#: ri-spi.xml:24
 #, no-c-format
 msgid ""
 "All interfaces in the SPI support the decorator pattern and provide a "
-"<literal>Forwarding</literal> class."
+"<literal>Forwarding</literal> class located in the <literal>helpers</"
+"literal> sub package. Additional, commonly used, utility classes, and "
+"standard implementations are also located in the <literal>helpers</literal> "
+"sub package."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:39
+#: ri-spi.xml:33
 #, no-c-format
 msgid "Web Bean Discovery"
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:41
+#: ri-spi.xml:35
 #, no-c-format
 msgid ""
-"<![CDATA[public interface WebBeanDiscovery {\n"
-"   /**\n"
-"    * Gets list of all classes in classpath archives with web-beans.xml "
-"files\n"
+"<![CDATA[/**\n"
+"    * Gets list of all classes in classpath archives with META-INF/beans.xml "
+"(or\n"
+"    * for WARs WEB-INF/beans.xml) files\n"
 "    * \n"
 "    * @return An iterable over the classes \n"
 "    */\n"
 "   public Iterable<Class<?>> discoverWebBeanClasses();\n"
 "   \n"
 "   /**\n"
-"    * Gets a list of all web-beans.xml files in the app classpath\n"
+"    * Gets a list of all deployment descriptors in the app classpath\n"
 "    * \n"
-"    * @return An iterable over the web-beans.xml files \n"
+"    * @return An iterable over the beans.xml files \n"
 "    */\n"
-"   public Iterable<URL> discoverWebBeansXml();\n"
-"   \n"
-"}]]>"
+"   public Iterable<URL> discoverWebBeansXml();]]>"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:43
+#: ri-spi.xml:37
 #, no-c-format
 msgid ""
-"The discovery of Web Bean classes and <literal>web-bean.xml</literal> files "
-"is self-explanatory (the algorithm is described in Section 11.1 of the JSR-"
-"299 specification, and isn't repeated here)."
+"The discovery of Web Bean classes and <literal>beans.xml</literal> files is "
+"self-explanatory (the algorithm is described in Section 11.1 of the JSR-299 "
+"specification, and isn't repeated here)."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:52
+#: ri-spi.xml:46
 #, no-c-format
 msgid "EJB services"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:54
+#: ri-spi.xml:49
 #, no-c-format
 msgid ""
-"The Web Beans RI also delegates EJB3 bean discovery to the container so that "
-"it doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
-"literal>. For each EJB in the application an EJBDescriptor should be "
-"discovered:"
+"Web Beans will run without an EJB container; in this case you don't need to "
+"implement the EJB SPI."
 msgstr ""
 
-#. Tag: programlisting
-#: ri-spi.xml:61
+#. Tag: para
+#: ri-spi.xml:55
 #, no-c-format
 msgid ""
-"<![CDATA[public interface EjbServices\n"
-"{\n"
-"   \n"
-"   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
+"Web Beans also delegates EJB3 bean discovery to the container so that it "
+"doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
+"literal>. For each EJB in the application an EJBDescriptor should be "
+"discovered:"
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:63
+#: ri-spi.xml:62
 #, no-c-format
 msgid ""
-"<![CDATA[public interface EjbDescriptor<T> {\n"
+"<![CDATA[public interface EjbDescriptor<T>\n"
+"{\n"
 "   \n"
 "   /**\n"
 "    * Gets the EJB type\n"
@@ -202,14 +187,11 @@
 "    * \n"
 "    * @return The name\n"
 "    */\n"
-"   public String getEjbName();\n"
-"   \n"
-"   \n"
-"}]]>"
+"   public String getEjbName();]]>"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:65
+#: ri-spi.xml:64
 #, no-c-format
 msgid ""
 "The <literal>EjbDescriptor</literal> is fairly self-explanatory, and should "
@@ -221,17 +203,32 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:74
+#: ri-spi.xml:73
 #, no-c-format
 msgid ""
-"The resolution of <literal>@EJB</literal> and <literal>@Resource</literal> "
-"is delegated to the container. You must provide an implementation of "
-"<literal>org.jboss.webbeans.ejb.spi.EjbServices</literal> which provides "
-"these operations. Web Beans passes in the <literal>javax.inject.manager."
-"InjectionPoint</literal> the resolution is for, as well as the "
-"<literal>NamingContext</literal> in use for each resolution request."
+"The resolution of <literal>@EJB</literal> (for injection into simple beans), "
+"the resolution of local EJBs (for backing session beans) and remote EJBs "
+"(for injection as a Java EE resource) is delegated to the container. You "
+"must provide an implementation of <literal>org.jboss.webbeans.ejb.spi."
+"EjbServices</literal> which provides these operations. For resolving the "
+"<literal>@EJB</literal> injection point, Web Beans will provide the "
+"<literal>InjectionPoint</literal>; for resolving local EJBs, the "
+"<literal>EjbDescriptor</literal> will be provided, and for remote EJBs the "
+"<literal>jndiName</literal>, <literal>mappedName</literal>, or "
+"<literal>ejbLink</literal> will be provided."
 msgstr ""
 
+#. Tag: para
+#: ri-spi.xml:87
+#, no-c-format
+msgid ""
+"When resolving local EJBs (used to back session beans) a wrapper "
+"(<literal>SessionObjectReference</literal>) around the EJB reference is "
+"returned. This wrapper allows Web Beans to request a reference that "
+"implements the given business interface, and, in the case of SFSBs, request "
+"the removal of the EJB from the container."
+msgstr ""
+
 #. Tag: title
 #: ri-spi.xml:98
 #, no-c-format
@@ -242,35 +239,59 @@
 #: ri-spi.xml:100
 #, no-c-format
 msgid ""
-"Just as resolution of <literal>@EJB</literal> is delegated to the container, "
-"so is resolution of <literal>@PersistenceContext</literal>."
+"Just as EJB resolution is delegated to the container, resolution of "
+"<literal>@PersistenceContext</literal> for injection into simple beans (with "
+"the <literal>InjectionPoint</literal> provided), and resolution of "
+"persistence contexts and persistence units (with the <literal>unitName</"
+"literal> provided) for injection as a Java EE resource is delegated to the "
+"container."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:106
+#: ri-spi.xml:109
 #, no-c-format
 msgid ""
-"OPEN ISSUE: Web Beans also requires the container to provide a list of "
-"entities in the deployment, so that they aren't discovered as simple beans."
+"To allow JPA integration, the <literal>JpaServices</literal> interface "
+"should be implemented."
 msgstr ""
 
-#. Tag: title
+#. Tag: para
 #: ri-spi.xml:114
 #, no-c-format
+msgid ""
+"Web Beans also needs to know what entities are in a deployment (so that they "
+"aren't managed by Web Beans). An implementation that detects entities "
+"through <literal>@Entity</literal> and <literal>orm.xml</literal> is "
+"provided by default. If you want to provide support for a entities defined "
+"by a JPA provider (such as Hibernate's <literal>.hbm.xml</literal> you can "
+"wrap or replace the default implementation."
+msgstr ""
+
+#. Tag: programlisting
+#: ri-spi.xml:124
+#, no-c-format
+msgid ""
+"<![CDATA[EntityDiscovery delegate = bootstrap.getServices().get"
+"(EntityDiscovery.class);]]>"
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:129
+#, no-c-format
 msgid "Transaction Services"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:116
+#: ri-spi.xml:131
 #, no-c-format
 msgid ""
-"The Web Beans RI must delegate JTA activities to the container. The SPI "
-"provides a couple hooks to easily achieve this with the "
-"<literal>TransactionServices</literal> interface."
+"Web Beans must delegate JTA activities to the container. The SPI provides a "
+"couple hooks to easily achieve this with the <literal>TransactionServices</"
+"literal> interface."
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:122
+#: ri-spi.xml:137
 #, no-c-format
 msgid ""
 "<![CDATA[public interface TransactionServices\n"
@@ -306,7 +327,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:124
+#: ri-spi.xml:139
 #, no-c-format
 msgid ""
 "The enumeration <literal>Status</literal> is a convenience for implementors "
@@ -316,7 +337,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:131
+#: ri-spi.xml:147
 #, no-c-format
 msgid ""
 "Any <literal>javax.transaction.Synchronization</literal> implementation may "
@@ -326,7 +347,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:138
+#: ri-spi.xml:155
 #, no-c-format
 msgid ""
 "To make it easier to determine whether or not a transaction is currently "
@@ -336,30 +357,99 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:147
+#: ri-spi.xml:165
 #, no-c-format
+msgid "JMS services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:167
+#, no-c-format
+msgid ""
+"A number of JMS operations are not container specific, and so should be "
+"provided via the SPI <literal>JmsServices</literal>. JMS does not specify "
+"how to obtain a <literal>ConnectionFactory</literal> so the SPI provides a "
+"method which should be used to look up a factory. Web Beans also delegates "
+"<literal>Destination</literal> lookup to the container via the SPI."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:178
+#, no-c-format
+msgid "Resource Services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:180
+#, no-c-format
+msgid ""
+"The resolution of <literal>@Resource</literal> (for injection into simple "
+"beans) and the resolution of resources (for injection as a Java EE resource) "
+"is delegated to the container. You must provide an implementation of "
+"<literal>ResourceServices</literal> which provides these operations. For "
+"resolving the <literal>@Resource</literal> injection, Web Beans will provide "
+"the <literal>InjectionPoint</literal>; and for Java EE resources, the "
+"<literal>jndiName</literal> or <literal>mappedName</literal> will be "
+"provided."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:194
+#, no-c-format
+msgid "Web Services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:196
+#, no-c-format
+msgid ""
+"The resolution of web service references (for injection as a Java EE "
+"resource) is delegated to the container. You must provide an implementation "
+"of <literal>WebServices</literal> whichprovides this operation. For "
+"resolving the Java EE resource, the <literal>jndiName</literal> or "
+"<literal>mappedName</literal> will be provided."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:207
+#, no-c-format
+msgid "The bean store"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:209
+#, no-c-format
+msgid ""
+"Web Beans uses a map like structure to store bean instances - <literal>org."
+"jboss.webbeans.context.api.BeanStore</literal>. You may find <literal>org."
+"jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore</literal> "
+"useful."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:219
+#, no-c-format
 msgid "The application context"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:149
+#: ri-spi.xml:221
 #, no-c-format
 msgid ""
 "Web Beans expects the Application Server or other container to provide the "
 "storage for each application's context. The <literal>org.jboss.webbeans."
 "context.api.BeanStore</literal> should be implemented to provide an "
-"application scoped storage. You may find <literal>org.jboss.webbeans.context."
-"api.helpers.ConcurrentHashMapBeanStore</literal> useful."
+"application scoped storage."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:162
+#: ri-spi.xml:231
 #, no-c-format
 msgid "Bootstrap and shutdown"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:163
+#: ri-spi.xml:232
 #, no-c-format
 msgid ""
 "The <literal>org.jboss.webbeans.bootstrap.api.Bootstrap</literal> interface "
@@ -370,7 +460,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:172
+#: ri-spi.xml:241
 #, no-c-format
 msgid ""
 "The bootstrap is split into phases, bootstrap initialization and boot and "
@@ -381,20 +471,32 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:180
+#: ri-spi.xml:249
 #, no-c-format
 msgid ""
-"The bootstrap supports multiple environments. Different environments require "
-"different services to be present (for example servlet doesn't require "
-"transaction, EJB or JPA services). By default an EE environment is assumed, "
-"but you can adjust the environment by calling <literal>bootstrap."
-"setEnvironment()</literal>."
+"The bootstrap supports multiple environments. An environment is defined by "
+"an implementation of the <literal>Environment</literal> interface. A number "
+"of standard envrionments are built in as the enumeration "
+"<literal>Environments</literal>. Different environments require different "
+"services to be present (for example servlet doesn't require transaction, EJB "
+"or JPA services). By default an EE environment is assumed, but you can "
+"adjust the environment by calling <literal>bootstrap.setEnvironment()</"
+"literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:188
+#: ri-spi.xml:260
 #, no-c-format
 msgid ""
+"Web Beans uses a generic-typed service registry to allow services to be "
+"registered. All services implement the <literal>Service</literal> interface. "
+"The service registry allows services to be added and retrieved."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:267
+#, no-c-format
+msgid ""
 "To initialize the bootstrap you call <literal>Bootstrap.initialize()</"
 "literal>. Before calling <literal>initialize()</literal>, you must register "
 "any services required by your environment. You can do this by calling "
@@ -403,7 +505,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:197
+#: ri-spi.xml:276
 #, no-c-format
 msgid ""
 "Having called <literal>initialize()</literal>, the <literal>Manager</"
@@ -412,81 +514,61 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:203
+#: ri-spi.xml:282
 #, no-c-format
 msgid "To boot the container you call <literal>Bootstrap.boot()</literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:207
+#: ri-spi.xml:286
 #, no-c-format
 msgid ""
-"To shutdown the container you call <literal>Bootstrap.shutdown()</literal>. "
-"This allows the container to perform any cleanup operations needed."
+"To shutdown the container you call <literal>Bootstrap.shutdown()</literal> "
+"or <literal>webBeansManager.shutdown()</literal>. This allows the container "
+"to perform any cleanup operations needed."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:216
+#: ri-spi.xml:296
 #, no-c-format
 msgid "JNDI"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:218
+#: ri-spi.xml:298
 #, no-c-format
 msgid ""
-"The Web Beans RI implements JNDI binding and lookup according to standards, "
-"however you may want to alter the binding and lookup (for example in an "
-"environment where JNDI isn't available). To do this, implement <literal>org."
-"jboss.webbeans.resources.spi.NamingContext</literal>:"
+"Web Beans delegates all JNDI operations to the container through the SPI."
 msgstr ""
 
-#. Tag: programlisting
-#: ri-spi.xml:226
+#. Tag: para
+#: ri-spi.xml:304
 #, no-c-format
 msgid ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
+"A number of the SPI interface require JNDI lookup, and the class "
+"<literal>AbstractResourceServices</literal> provides JNDI/Java EE spec "
+"compliant lookup methods."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:231
+#: ri-spi.xml:315
 #, no-c-format
 msgid "Resource loading"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:233
+#: ri-spi.xml:317
 #, no-c-format
 msgid ""
-"The Web Beans RI needs to load classes and resources from the classpath at "
-"various times. By default, they are loaded from the same classloader that "
-"was used to load the RI, however this may not be correct for some "
-"environments. If this is case, you can implement <literal>org.jboss.webbeans."
-"spi.ResourceLoader</literal>:"
+"Web Beans needs to load classes and resources from the classpath at various "
+"times. By default, they are loaded from the Thread Context ClassLoader if "
+"available, if not the same classloader that was used to load Web Beans, "
+"however this may not be correct for some environments. If this is case, you "
+"can implement <literal>org.jboss.webbeans.spi.ResourceLoader</literal>:"
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:241
+#: ri-spi.xml:326
 #, no-c-format
 msgid ""
 "<![CDATA[\n"
@@ -521,13 +603,13 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:246
+#: ri-spi.xml:331
 #, no-c-format
 msgid "Servlet injection"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:248
+#: ri-spi.xml:333
 #, no-c-format
 msgid ""
 "Java EE / Servlet does not provide any hooks which can be used to provide "
@@ -536,7 +618,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:254
+#: ri-spi.xml:339
 #, no-c-format
 msgid ""
 "To be compliant with JSR-299, the container should request servlet injection "
@@ -545,7 +627,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:260
+#: ri-spi.xml:345
 #, no-c-format
 msgid ""
 "To perform injection on a servlet call <literal>WebBeansManager.injectServlet"
@@ -554,13 +636,13 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:271
+#: ri-spi.xml:356
 #, no-c-format
 msgid "The contract with the container"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:273
+#: ri-spi.xml:358
 #, no-c-format
 msgid ""
 "There are a number of requirements that the Web Beans RI places on the "
@@ -568,13 +650,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:281
+#: ri-spi.xml:366
 #, no-c-format
 msgid "Classloader isolation"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:285
+#: ri-spi.xml:370
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans RI into an environment that supports "
@@ -584,13 +666,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:294
+#: ri-spi.xml:379
 #, no-c-format
-msgid "Servlet listener and filters"
+msgid "Servlet"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:298
+#: ri-spi.xml:383
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a Servlet environment you must "
@@ -599,25 +681,48 @@
 "each Web Beans application which uses Servlet."
 msgstr ""
 
+#. Tag: term
+#: ri-spi.xml:394
+#, no-c-format
+msgid "<term>JSF</term>"
+msgstr ""
+
 #. Tag: para
-#: ri-spi.xml:307
+#: ri-spi.xml:399
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a JSF environment you must "
+"register <literal>org.jboss.webbeans.jsf.WebBeansPhaseListener</literal> as "
+"a phase listener, and <literal>org.jboss.webbeans.el.WebBeansELREsolver</"
+"literal> as an EL resolver, either automatically, or through user "
+"configuration, for each Web Beans application which uses JSF."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:410
+#, no-c-format
+msgid ""
+"If you are integrating the Web Beans into a JSF environment you must "
 "register <literal>org.jboss.webbeans.servlet.ConversationPropagationFilter</"
 "literal> as a Servlet listener, either automatically, or through user "
 "configuration, for each Web Beans application which uses JSF. This filter "
 "can be registered for all Servlet deployment safely."
 msgstr ""
 
+#. Tag: para
+#: ri-spi.xml:421
+#, no-c-format
+msgid "Web Beans only supports JSF 1.2 and above."
+msgstr ""
+
 #. Tag: term
-#: ri-spi.xml:319
+#: ri-spi.xml:428
 #, no-c-format
 msgid "Session Bean Interceptor"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:323
+#: ri-spi.xml:432
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an EJB environment you must "
@@ -628,7 +733,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:333
+#: ri-spi.xml:442
 #, no-c-format
 msgid ""
 "You must register the <literal>SessionBeanInterceptor</literal> as the inner "
@@ -636,13 +741,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:341
+#: ri-spi.xml:450
 #, no-c-format
 msgid "The <literal>webbeans-core.jar</literal>"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:345
+#: ri-spi.xml:454
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an environment that supports "
@@ -650,3 +755,20 @@
 "literal> into the applications isolated classloader. It cannot be loaded "
 "from a shared classloader."
 msgstr ""
+
+#. Tag: term
+#: ri-spi.xml:464
+#, no-c-format
+msgid "Binding the manager in JNDI"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:468
+#, no-c-format
+msgid ""
+"You should bind a <literal>Reference</literal> to the Manager "
+"<literal>ObjectFactory</literal> into JNDI at <literal>java:app/Manager</"
+"literal>. The type should be <literal>javax.inject.manager.Manager</literal> "
+"and the factory class is <literal>org.jboss.webbeans.resources."
+"ManagerObjectFactory</literal>"
+msgstr ""

Deleted: doc/trunk/reference/pot/ri.pot
===================================================================
--- doc/trunk/reference/pot/ri.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/ri.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -1,1117 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: application/x-xml2pot; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Tag: title
-#: ri.xml:4
-#, no-c-format
-msgid "Web Beans, the Reference Implementation of JSR-299"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:6
-#, no-c-format
-msgid ""
-"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
-"WebBeans\">the Seam project</ulink>. You can download the latest developer "
-"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
-"\">the downloads page</ulink>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:13
-#, no-c-format
-msgid ""
-"Web Beans comes with a two deployable example applications: "
-"<literal>webbeans-numberguess</literal>, a war example, containing only "
-"simple beans, and <literal>webbeans-translator</literal> an ear example, "
-"containing enterprise beans. There are also two variations on the "
-"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
-"and the jsf2 example, which you can use if you are running JSF2. To run the "
-"examples you'll need the following:"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:25
-#, no-c-format
-msgid "the latest release of Web Beans,"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:28
-#, no-c-format
-msgid "JBoss AS 5.0.1.GA, or"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:31
-#, no-c-format
-msgid "Apache Tomcat 6.0.x, and"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:34
-#, no-c-format
-msgid "Ant 1.7.0."
-msgstr ""
-
-#. Tag: title
-#: ri.xml:39
-#, no-c-format
-msgid "Using JBoss AS 5"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:41
-#, no-c-format
-msgid ""
-"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
-"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:47
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.1.GA.zip]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:49 ri.xml:170
-#, no-c-format
-msgid ""
-"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
-"\">seamframework.org</ulink>, and unzip it. For example"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:55 ri.xml:176
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-$VERSION.zip]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:58
-#, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>jboss.home</literal> "
-"property. For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:64
-#, no-c-format
-msgid "jboss.home=/Applications/jboss-5.0.1.GA"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:66
-#, no-c-format
-msgid ""
-"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
-"<literal>ANT_HOME</literal> environment variable set. For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:71
-#, no-c-format
-msgid ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:73
-#, no-c-format
-msgid ""
-"Then, you can install the update. The update script will use Maven to "
-"download Web Beans automatically."
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:78
-#, no-c-format
-msgid ""
-"$ cd webbeans-$VERSION/jboss-as\n"
-"$ ant update"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:80
-#, no-c-format
-msgid "Now, you're ready to deploy your first example!"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:85
-#, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for JBoss AS, "
-"these are:"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:91
-#, no-c-format
-msgid "<literal>ant restart</literal> - deploy the example in exploded format"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:97
-#, no-c-format
-msgid ""
-"<literal>ant explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:103
-#, no-c-format
-msgid ""
-"<literal>ant deploy</literal> - deploy the example in compressed jar format"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:108
-#, no-c-format
-msgid "<literal>ant undeploy</literal> - remove the example from the server"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:113
-#, no-c-format
-msgid "<literal>ant clean</literal> - clean the example"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:120
-#, no-c-format
-msgid "To deploy the numberguess example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:124
-#, no-c-format
-msgid ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:126
-#, no-c-format
-msgid "Start JBoss AS:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:130
-#, no-c-format
-msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:133
-#, no-c-format
-msgid "If you use Windows, use the <literal>run.bat</literal>script."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:138 ri.xml:240
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
-"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:143
-#, no-c-format
-msgid ""
-"Web Beans includes a second simple example that will translate your text "
-"into Latin. The numberguess example is a war example, and uses only simple "
-"beans; the translator example is an ear example, and includes enterprise "
-"beans, packaged in an EJB module. To try it out:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:150
-#, no-c-format
-msgid ""
-"$ cd examples/translator\n"
-"ant deploy"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:152
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and visit <ulink url=\"http://"
-"localhost:8080/webbeans-translator\"></ulink>!"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:160
-#, no-c-format
-msgid "Using Apache Tomcat 6.0"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:162
-#, no-c-format
-msgid ""
-"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
-"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
-"For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:168
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:178
-#, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
-"property. For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:184
-#, no-c-format
-msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:187
-#, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for Tomcat, "
-"these are:"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:193
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:199
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:205
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
-"format"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:210
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:215
-#, no-c-format
-msgid "<literal>ant tomcat.clean</literal> - clean the example"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:222
-#, no-c-format
-msgid "To deploy the numberguess example for tomcat:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:226
-#, no-c-format
-msgid ""
-"$ cd examples/tomcat\n"
-"ant tomcat.deploy"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:228
-#, no-c-format
-msgid "Start Tomcat:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:232
-#, no-c-format
-msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:235
-#, no-c-format
-msgid "If you use Windows, use the <literal>startup.bat</literal>script."
-msgstr ""
-
-#. Tag: title
-#: ri.xml:248
-#, no-c-format
-msgid "Using GlassFish"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:250
-#, no-c-format
-msgid "TODO"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:254
-#, no-c-format
-msgid "The numberguess example"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:256
-#, no-c-format
-msgid ""
-"In the numberguess application you get given 10 attempts to guess a number "
-"between 1 and 100. After each attempt, you will be told whether you are too "
-"high, or too low."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:262
-#, no-c-format
-msgid ""
-"The numberguess example is comprised of a number of Web Beans, configuration "
-"files, and Facelet JSF pages, packaged as a war. Let's start with the "
-"configuration files."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:268
-#, no-c-format
-msgid ""
-"All the configuration files for this example are located in <literal>WEB-INF/"
-"</literal>, which is stored in <literal>WebContent</literal> in the source "
-"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
-"JSF to use Facelets:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:276
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:278
-#, no-c-format
-msgid ""
-"There is an empty <literal>web-beans.xml</literal> file, which marks this "
-"application as a Web Beans application."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:283
-#, no-c-format
-msgid "Finally there is <literal>web.xml</literal>:"
-msgstr ""
-
-#. Tag: section
-#: ri.xml:285
-#, no-c-format
-msgid ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
-"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
-"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
-"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
-"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
-"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
-"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
-"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
-"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
-"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
-"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
-"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
-"session timeout of 10 minutes </para> </callout> </calloutlist> </"
-"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
-"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
-"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
-"id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area "
-"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
-"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
-"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
-"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
-"dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
-"number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
-"number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game."
-"biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
-"{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
-"<para> Facelets is a templating language for JSF, here we are wrapping our "
-"page in a template which defines the header. </para> </callout> <callout "
-"arearefs=\"messages\"> <para> There are a number of messages which can be "
-"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
-"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
-"range of numbers they can guess gets smaller - this sentance changes to make "
-"sure they know what range to guess in. </para> </callout> <callout arearefs="
-"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
-"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
-"range validator is used to make sure the user doesn't accidentally input a "
-"number outside of the range in which they can guess - if the validator "
-"wasn't here, the user might use up a guess on an out of range number. </"
-"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
-"must be a way for the user to send their guess to the server. Here we bind "
-"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
-"programlistingco>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:387
-#, no-c-format
-msgid ""
-"The example exists of 4 classes, the first two of which are binding types. "
-"First, there is the <literal>@Random</literal> binding type, used for "
-"injecting a random number:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:393
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:395
-#, no-c-format
-msgid ""
-"There is also the <literal>@MaxNumber</literal> binding type, used for "
-"injecting the maximum number that can be injected:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:400
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:402
-#, no-c-format
-msgid ""
-"The <literal>Generator</literal> class is responsible for creating the "
-"random number, via a producer method. It also exposes the maximum possible "
-"number via a producer method:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:408
-#, no-c-format
-msgid ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System."
-"currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:410
-#, no-c-format
-msgid ""
-"You'll notice that the <literal>Generator</literal> is application scoped; "
-"therefore we don't get a different random each time."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:415
-#, no-c-format
-msgid ""
-"The final Web Bean in the application is the session scoped <literal>Game</"
-"literal>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:420
-#, no-c-format
-msgid ""
-"You'll note that we've used the <literal>@Named</literal> annotation, so "
-"that we can use the bean through EL in the JSF page. Finally, we've used "
-"constructor injection to initialize the game with a random number. And of "
-"course, we need to tell the player when they've won, so we give feedback "
-"with a <literal>FacesMessage</literal>."
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:428
-#, no-c-format
-msgid ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
-"(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new "
-"AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:431
-#, no-c-format
-msgid "The numberguess example for Tomcat"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:433
-#, no-c-format
-msgid ""
-"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
-"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
-"literal>. For your convenience we provide a single jar suitable for running "
-"Web Beans on Tomcat <literal>webbeans-tomcat.jar</literal>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:442
-#, no-c-format
-msgid ""
-"Of course, you must also include JSF and EL, as well common annotations "
-"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:449
-#, no-c-format
-msgid ""
-"Secondly, we need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control it's interaction with requests) in <literal>web."
-"xml</literal>:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:455
-#, no-c-format
-msgid ""
-"<![CDATA[<listener>\n"
-"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-"
-"class>\n"
-"</listener>]]>"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:461
-#, no-c-format
-msgid "The translator example"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:463
-#, no-c-format
-msgid ""
-"The translator example will take any sentences you enter, and translate them "
-"to Latin."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:468
-#, no-c-format
-msgid ""
-"The translator example is built as an ear, and contains EJBs. As a result, "
-"it's structure is more complex than the numberguess example."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:474
-#, no-c-format
-msgid ""
-"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
-"this structure much simpler!"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:480
-#, no-c-format
-msgid ""
-"First, let's take a look at the ear aggregator, which is located in "
-"<literal>webbeans-translator-ear</literal> module. Maven automatically "
-"generates the <literal>application.xml</literal> for us:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:486
-#, no-c-format
-msgid ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:488
-#, no-c-format
-msgid ""
-"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
-"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
-"translator</ulink>)."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:494
-#, no-c-format
-msgid ""
-"If you aren't using Maven to generate these files, you would need "
-"<literal>META-INF/application.xml</literal>:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:499
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web "
-"Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:502
-#, no-c-format
-msgid ""
-"Next, lets look at the war. Just as in the numberguess example, we have a "
-"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
-"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:509
-#, no-c-format
-msgid ""
-"More intersting is the facelet used to translate text. Just as in the "
-"numberguess example we have a template, which surrounds the form (ommitted "
-"here for brevity):"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:515
-#, no-c-format
-msgid ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
-"required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
-"{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:517
-#, no-c-format
-msgid ""
-"The user can enter some text in the lefthand textarea, and hit the translate "
-"button to see the result to the right."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:522
-#, no-c-format
-msgid ""
-"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
-"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
-"empty <literal>web-beans.xml</literal>, used to mark the archive as "
-"containing Web Beans."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:530
-#, no-c-format
-msgid ""
-"We've saved the most interesting bit to last, the code! The project has two "
-"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
-"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
-"literal> and <literal>SentenceTranslator</literal>. You should be getting "
-"quite familiar with what a Web Bean looks like by now, so we'll just "
-"highlight the most interesting bits here."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:540
-#, no-c-format
-msgid ""
-"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
-"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
-"initialization:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:546
-#, no-c-format
-msgid ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator "
-"sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:548
-#, no-c-format
-msgid ""
-"<literal>TextTranslator</literal> is a stateless bean (with a local business "
-"interface), where the magic happens - of course, we couldn't develop a full "
-"translator, but we gave it a good go!"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:554
-#, no-c-format
-msgid ""
-"Finally, there is UI orientated controller, that collects the text from the "
-"user, and dispatches it to the translator. This is a request scoped, named, "
-"stateful session bean, which injects the translator."
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:560
-#, no-c-format
-msgid ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:562
-#, no-c-format
-msgid "The bean also has getters and setters for all the fields on the page."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:566
-#, no-c-format
-msgid "As this is a stateful session bean, we have to have a remove method:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:570
-#, no-c-format
-msgid ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:572
-#, no-c-format
-msgid ""
-"The Web Beans manager will call the remove method for you when the bean is "
-"destroyed; in this case at the end of the request."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:578
-#, no-c-format
-msgid ""
-"That concludes our short tour of the Web Beans examples. For more on Web "
-"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
-"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
-"Development</ulink>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:584
-#, no-c-format
-msgid ""
-"We need help in all areas - bug fixing, writing new features, writing "
-"examples and translating this reference guide."
-msgstr ""

Modified: doc/trunk/reference/pot/scopescontexts.pot
===================================================================
--- doc/trunk/reference/pot/scopescontexts.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/scopescontexts.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"
@@ -442,13 +442,13 @@
 msgstr ""
 
 #. Tag: title
-#: scopescontexts.xml:219
+#: scopescontexts.xml:218
 #, no-c-format
 msgid "The dependent pseudo-scope"
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:221
+#: scopescontexts.xml:220
 #, no-c-format
 msgid ""
 "In addition to the four built-in scopes, Web Beans features the so-called "
@@ -457,20 +457,20 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:225
+#: scopescontexts.xml:224
 #, no-c-format
 msgid ""
 "For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
 msgstr ""
 
 #. Tag: programlisting
-#: scopescontexts.xml:227
+#: scopescontexts.xml:226
 #, no-c-format
 msgid "<![CDATA[public class Calculator { ... }]]>"
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:229
+#: scopescontexts.xml:228
 #, no-c-format
 msgid ""
 "When an injection point of a Web Bean resolves to a dependent Web Bean, a "
@@ -481,7 +481,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:235
+#: scopescontexts.xml:234
 #, no-c-format
 msgid ""
 "Dependent Web Bean instances are destroyed when the instance they depend "
@@ -489,7 +489,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:243
+#: scopescontexts.xml:242
 #, no-c-format
 msgid ""
 "Web Beans makes it easy to obtain a dependent instance of a Java class or "
@@ -498,13 +498,13 @@
 msgstr ""
 
 #. Tag: title
-#: scopescontexts.xml:248
+#: scopescontexts.xml:247
 #, no-c-format
 msgid "The <literal>@New</literal> annotation"
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:250
+#: scopescontexts.xml:249
 #, no-c-format
 msgid ""
 "The built-in <literal>@New</literal> binding annotation allows "
@@ -513,13 +513,13 @@
 msgstr ""
 
 #. Tag: programlisting
-#: scopescontexts.xml:254
+#: scopescontexts.xml:253
 #, no-c-format
 msgid "<![CDATA[@New Calculator calculator;]]>"
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:256
+#: scopescontexts.xml:255
 #, no-c-format
 msgid ""
 "Then a Web Bean with scope <literal>@Dependent</literal>, binding type "
@@ -529,7 +529,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:261
+#: scopescontexts.xml:260
 #, no-c-format
 msgid ""
 "This is true even if <literal>Calculator</literal> is <emphasis>already</"
@@ -537,7 +537,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: scopescontexts.xml:264
+#: scopescontexts.xml:263
 #, no-c-format
 msgid ""
 "<![CDATA[@ConversationScoped\n"
@@ -545,7 +545,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:266
+#: scopescontexts.xml:265
 #, no-c-format
 msgid ""
 "So the following injected attributes each get a different instance of "
@@ -553,7 +553,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: scopescontexts.xml:269
+#: scopescontexts.xml:268
 #, no-c-format
 msgid ""
 "<![CDATA[public class PaymentCalc {\n"
@@ -565,7 +565,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:271
+#: scopescontexts.xml:270
 #, no-c-format
 msgid ""
 "The <literal>calculator</literal> field has a conversation-scoped instance "
@@ -575,7 +575,7 @@
 msgstr ""
 
 #. Tag: para
-#: scopescontexts.xml:276
+#: scopescontexts.xml:275
 #, no-c-format
 msgid ""
 "This feature is particularly useful with producer methods, as we'll see in "

Modified: doc/trunk/reference/pot/specialization.pot
===================================================================
--- doc/trunk/reference/pot/specialization.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/specialization.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pot/stereotypes.pot
===================================================================
--- doc/trunk/reference/pot/stereotypes.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/stereotypes.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Added: doc/trunk/reference/pot/viewlayers.pot
===================================================================
--- doc/trunk/reference/pot/viewlayers.pot	                        (rev 0)
+++ doc/trunk/reference/pot/viewlayers.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,161 @@
+# SOME DESCRIPTIVE TITLE.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: application/x-xml2pot; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: viewlayers.xml:4
+#, no-c-format
+msgid "Alternative view layers"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:7
+#, no-c-format
+msgid "Using Web Beans with Wicket"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:10
+#, no-c-format
+msgid "The <literal>WebApplication</literal> class"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:12
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass; Web Beans provides, for your utility, a subclass of this which "
+"sets up the Wicket/JSR-299 integration. You should subclass <literal>org."
+"jboss.webbeans.wicket.WebBeansApplication</literal>."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:21
+#, no-c-format
+msgid ""
+"If you would prefer not to subclass <literal>WebBeansApplication</literal>, "
+"you can manually add a (small!) number of overrides and listeners to your "
+"own <literal>WebApplication</literal> subclass. The javadocs of "
+"<literal>WebBeansApplication</literal>detail this."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:30
+#, no-c-format
+msgid "For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: viewlayers.xml:33
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:37
+#, no-c-format
+msgid "Conversations with Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:38
+#, no-c-format
+msgid ""
+"The conversation scope can be used in Web Beans with the Apache Wicket web "
+"framework, through the <literal>webbeans-wicket</literal> module. This "
+"module takes care of:"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:45
+#, no-c-format
+msgid ""
+"Setting up the conversation context at the beginning of a Wicket request, "
+"and tearing it down afterwards"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:51
+#, no-c-format
+msgid ""
+"Storing the id of any long-running conversation in Wicket's metadata when "
+"the page response is complete"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:57
+#, no-c-format
+msgid ""
+"Activating the correct long-running conversation based upon which page is "
+"being accessed"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:63
+#, no-c-format
+msgid ""
+"Propagating the conversation context for any long-running conversation to "
+"new pages"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:70
+#, no-c-format
+msgid "Starting and stopping conversations in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:71
+#, no-c-format
+msgid ""
+"As JSF applications, a conversation <emphasis>always</emphasis> exists for "
+"any request, but its lifetime is only that of the current request unless it "
+"is marked as <emphasis>long-running</emphasis>. For Wicket applications this "
+"is accomplished as in JSF applications, by injecting the <literal>@Current "
+"Conversation</literal> and then invoking <literal>conversation.begin()</"
+"literal>. Likewise, conversations are ended with <literal>conversation.end()"
+"</literal>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:85
+#, no-c-format
+msgid "Long running conversation propagation in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:86
+#, no-c-format
+msgid ""
+"When a conversation is marked as long-running, the id of that conversation "
+"will be stored in Wicket's metadata for the current page. If a new page is "
+"created and set as the response target through <literal>setResponsePage</"
+"literal>, this new page will also participate in this conversation. This "
+"occurs for both directly instantiated pages (<literal>setResponsePage(new "
+"OtherPage())</literal>), as well as for bookmarkable pages created with "
+"<literal>setResponsePage(OtherPage.class)</literal> where <literal>OtherPage."
+"class</literal> is mounted as bookmarkable from your "
+"<literal>WebApplication</literal> subclass (or through annotations). In the "
+"latter case, because the new page instance is not created until after a "
+"redirect, the conversation id will be propagated through a request "
+"parameter, and then stored in page metadata after the redirect."
+msgstr ""

Modified: doc/trunk/reference/pot/xml.pot
===================================================================
--- doc/trunk/reference/pot/xml.pot	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pot/xml.pot	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"

Modified: doc/trunk/reference/pt-BR/environments.po
===================================================================
--- doc/trunk/reference/pt-BR/environments.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pt-BR/environments.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 "Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
 "VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-04-10 09:57-0300\n"
 "Last-Translator: João Paulo Viragine <joao.viragine at redhat.com>\n"
 "Language-Team: none\n"
@@ -111,13 +111,15 @@
 #. Tag: title
 #: environments.xml:53
 #, no-c-format
-msgid "Tomcat (or any plain Servlet container)"
+msgid "Servlet Containers (such as Tomcat or Jetty)"
 msgstr ""
 
 #. Tag: para
 #: environments.xml:55
-#, no-c-format
-msgid "Web Beans can be used in Tomcat 6.0."
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans can be used in any Servlet container such as Tomcat 6.0 or Jetty "
+"6.1."
 msgstr "A Web Beans pode ser utilizada no Tomcat 6.0."
 
 #. Tag: para
@@ -126,7 +128,7 @@
 msgid ""
 "Web Beans doesn't support deploying session beans, injection using "
 "<literal>@EJB</literal>, or <literal>@PersistenceContext</literal> or using "
-"transactional events on Tomcat."
+"transactional events in Servlet containers."
 msgstr ""
 "A Web Beans não suporta a implantação de session beans, injeção utilizando "
 "<literal>@EJB</literal>, <literal>@Resource</literal>, ou "
@@ -136,10 +138,11 @@
 #: environments.xml:66
 #, fuzzy, no-c-format
 msgid ""
-"Web Beans should be used as a web application library in Tomcat. You should "
-"place <literal>webbeans-tomcat.jar</literal> in <literal>WEB-INF/lib</"
-"literal>. <literal>webbeans-tomcat.jar</literal> is an \"uber-jar\" provided "
-"for your convenience. Instead, you could use its component jars:"
+"Web Beans should be used as a web application library in a servlet "
+"container. You should place <literal>webbeans-servlet.jar</literal> in "
+"<literal>WEB-INF/lib</literal>. <literal>webbeans-serv;et.jar</literal> is "
+"an \"uber-jar\" provided for your convenience. Instead, you could use its "
+"component jars:"
 msgstr ""
 "A Web Beans deveria ser utilizada como uma bibilioteca de aplicação web no "
 "Tomcat. Você deve colocar o <literal>webbeans-tomcat.jar</literal> em "
@@ -179,8 +182,8 @@
 
 #. Tag: literal
 #: environments.xml:102
-#, no-c-format
-msgid "webbeans-tomcat-int.jar"
+#, fuzzy, no-c-format
+msgid "webbeans-servlet-int.jar"
 msgstr "webbeans-tomcat-int.jar"
 
 #. Tag: literal
@@ -199,9 +202,9 @@
 #: environments.xml:117
 #, fuzzy, no-c-format
 msgid ""
-"You also need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control its interaction with requests) in <literal>web."
-"xml</literal>:"
+"You also need to explicitly specify the servlet listener (used to boot Web "
+"Beans, and control its interaction with requests) in <literal>web.xml</"
+"literal>:"
 msgstr ""
 "Você também precisa especificar explicitamente o Tomcat servlet listener "
 "(utilizado para \"bootar\" a Web Beans e controlar a interação com as "
@@ -221,8 +224,14 @@
 "class>\n"
 "</listener>]]>"
 
+#. Tag: title
+#: environments.xml:126
+#, no-c-format
+msgid "Tomcat"
+msgstr "Tomcat"
+
 #. Tag: para
-#: environments.xml:125
+#: environments.xml:128
 #, no-c-format
 msgid ""
 "Tomcat has a read-only JNDI, so Web Beans can't automatically bind the "
@@ -234,7 +243,7 @@
 "adicionar o seguinte ao seu <literal>META-INF/context.xml</literal>:"
 
 #. Tag: programlisting
-#: environments.xml:131
+#: environments.xml:134
 #, no-c-format
 msgid ""
 "<![CDATA[<Resource name=\"app/Manager\" \n"
@@ -250,7 +259,7 @@
 "]]>"
 
 #. Tag: para
-#: environments.xml:133
+#: environments.xml:136
 #, no-c-format
 msgid ""
 "and make it available to your deployment by adding this to <literal>web.xml</"
@@ -260,7 +269,7 @@
 "<literal>web.xml</literal>:"
 
 #. Tag: programlisting
-#: environments.xml:138
+#: environments.xml:141
 #, no-c-format
 msgid ""
 "<![CDATA[<resource-env-ref>\n"
@@ -282,7 +291,7 @@
 "</resource-env-ref>]]>"
 
 #. Tag: para
-#: environments.xml:140
+#: environments.xml:143
 #, fuzzy, no-c-format
 msgid ""
 "Tomcat only allows you to bind entries to <literal>java:comp/env</literal>, "
@@ -294,7 +303,7 @@
 "env/app/Manager</literal>"
 
 #. Tag: para
-#: environments.xml:146
+#: environments.xml:149
 #, no-c-format
 msgid ""
 "Web Beans also supports Servlet injection in Tomcat. To enable this, place "
@@ -304,7 +313,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:153
+#: environments.xml:156
 #, fuzzy, no-c-format
 msgid ""
 "<![CDATA[<Listener className=\"org.jboss.webbeans.environment.tomcat."
@@ -316,13 +325,13 @@
 "</listener>]]>"
 
 #. Tag: title
-#: environments.xml:158
+#: environments.xml:163
 #, no-c-format
 msgid "Java SE"
 msgstr "Java SE"
 
 #. Tag: para
-#: environments.xml:160
+#: environments.xml:165
 #, no-c-format
 msgid ""
 "Apart from improved integration of the Enterprise Java stack, Web Beans also "
@@ -334,7 +343,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:168
+#: environments.xml:173
 #, no-c-format
 msgid ""
 "When executing in the SE environment the following features of Web Beans are "
@@ -342,61 +351,49 @@
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:174
+#: environments.xml:179
 #, no-c-format
 msgid "Simple Web Beans (POJOs)"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:179
+#: environments.xml:184
 #, no-c-format
 msgid "Typesafe Dependency Injection"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:184
+#: environments.xml:189
 #, no-c-format
 msgid "Application and Dependent Contexts"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:189
+#: environments.xml:194
 #, no-c-format
 msgid "Binding Types"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:194
+#: environments.xml:199
 #, no-c-format
 msgid "Stereotypes"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:199
-#, no-c-format
-msgid "Decorators"
-msgstr ""
-
-#. Tag: literal
 #: environments.xml:204
 #, no-c-format
-msgid "(TODO: Interceptors ?)"
-msgstr ""
-
-#. Tag: literal
-#: environments.xml:209
-#, no-c-format
 msgid "Typesafe Event Model"
 msgstr ""
 
 #. Tag: title
-#: environments.xml:215
+#: environments.xml:210
 #, no-c-format
 msgid "Web Beans SE Module"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:217
+#: environments.xml:212
 #, no-c-format
 msgid ""
 "To make life easy for developers Web Beans provides a special module with a "
@@ -409,7 +406,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:226
+#: environments.xml:221
 #, no-c-format
 msgid ""
 "<![CDATA[@Parameters List<String> params;\n"
@@ -418,13 +415,13 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:227
+#: environments.xml:222
 #, no-c-format
 msgid "Here's an example of a simple Web Beans SE application:"
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:231
+#: environments.xml:226
 #, no-c-format
 msgid ""
 "<![CDATA[@ApplicationScoped\n"
@@ -440,20 +437,20 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:233
+#: environments.xml:228
 #, no-c-format
 msgid ""
 "Web Beans SE applications are started by running the following main method."
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:235
+#: environments.xml:230
 #, no-c-format
 msgid "<![CDATA[java org.jboss.webbeans.environments.se.StartMain <args>]]>"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:237
+#: environments.xml:232
 #, no-c-format
 msgid ""
 "If you need to do any custom initialization of the Web Beans manager, for "
@@ -463,7 +460,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:242
+#: environments.xml:237
 #, no-c-format
 msgid ""
 "<![CDATA[public class PerformSetup\n"
@@ -477,7 +474,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:246
+#: environments.xml:240
 #, no-c-format
 msgid ""
 "The command line parameters do not become available for injection until the "
@@ -486,6 +483,3 @@
 "static String getParameters()</literal> method in <literal>StartMain</"
 "literal>."
 msgstr ""
-
-#~ msgid "Tomcat"
-#~ msgstr "Tomcat"

Modified: doc/trunk/reference/pt-BR/extensions.po
===================================================================
--- doc/trunk/reference/pt-BR/extensions.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pt-BR/extensions.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -3,9 +3,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
+"VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-03-28 17:09+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-04-10 12:50-0300\n"
 "Last-Translator: João Paulo Viragine <joao.viragine at redhat.com>\n"
 "Language-Team: none\n"
@@ -22,8 +23,11 @@
 #. Tag: para
 #: extensions.xml:7
 #, no-c-format
-msgid "These modules are usable on any JSR-299 implementation, not just Web Beans!"
-msgstr "Estes módulos são utilizáveis em qualquer implementação da JSR-299, e não apenas na Web Beans!"
+msgid ""
+"These modules are usable on any JSR-299 implementation, not just Web Beans!"
+msgstr ""
+"Estes módulos são utilizáveis em qualquer implementação da JSR-299, e não "
+"apenas na Web Beans!"
 
 #. Tag: title
 #: extensions.xml:15
@@ -33,14 +37,73 @@
 
 #. Tag: para
 #: extensions.xml:17
-#: extensions.xml:26
 #, no-c-format
-msgid "TODO"
-msgstr "TODO"
+msgid ""
+"Adding logging to your application is now even easier with simple injection "
+"of a logger object into any JSR-299 bean. Simply annotate a org.jboss."
+"webbeans.log.Log type member with <emphasis>@Logger</emphasis> and an "
+"appropriate logger object will be injected into any instance of the bean."
+msgstr ""
 
-#. Tag: title
-#: extensions.xml:24
+#. Tag: programlisting
+#: extensions.xml:25
 #, no-c-format
-msgid "XSD Generator for JSR-299 XML deployment descriptors"
-msgstr "Gerador XSD para descritores de implantação XML da JSR-299   "
+msgid ""
+"<![CDATA[public class Checkout {\n"
+"    import org.jboss.webbeans.annotation.Logger;\n"
+"    import org.jboss.webbeans.log.Log;\n"
+"    \n"
+"    @Logger\n"
+"    private Log log;\n"
+"\n"
+"    void invoiceItems() {\n"
+"        ShoppingCart cart;\n"
+"        . . .\n"
+"        log.debug(\"Items invoiced for {0}\", cart);\n"
+"    }\n"
+"    \n"
+"}]]>"
+msgstr ""
 
+#. Tag: para
+#: extensions.xml:27
+#, no-c-format
+msgid ""
+"The example shows how objects can be interpolated into a message. This "
+"interpolation is done using <emphasis>java.text.MessageFormat</emphasis>, so "
+"see the JavaDoc for that class for more details. In this case, the "
+"ShoppingCart should have implemented the <emphasis>toString()</emphasis> "
+"method to produce a human readable value that is meaningful in messages. "
+"Normally, this call would have involved evaluating cart.toString() with "
+"String concatenation to produce a single String argument. Thus it was "
+"necessary to surround the call with an if-statement using the condition "
+"<emphasis>log.isDebugEnabled()</emphasis> to avoid the expensive String "
+"concatenation if the message was not actually going to be used. However, "
+"when using @Logger injected logging, the conditional test can be left out "
+"since the object arguments are not evaluated unless the message is going to "
+"be logged."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:44
+#, no-c-format
+msgid ""
+"You can add the Web Beans Logger to your project by including webbeans-"
+"logger.jar and webbeans-logging.jar to your project. Alternatively, express "
+"a dependency on the <literal>org.jboss.webbeans:webbeans-logger</literal> "
+"Maven artifact."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:51
+#, no-c-format
+msgid ""
+"If you are using Web Beans as your JSR-299 implementation, there is no need "
+"to include <literal>webbeans-logging.jar</literal> as it's already included."
+msgstr ""
+
+#~ msgid "TODO"
+#~ msgstr "TODO"
+
+#~ msgid "XSD Generator for JSR-299 XML deployment descriptors"
+#~ msgstr "Gerador XSD para descritores de implantação XML da JSR-299   "

Copied: doc/trunk/reference/pt-BR/gettingstarted.po (from rev 2516, doc/trunk/reference/pt-BR/ri.po)
===================================================================
--- doc/trunk/reference/pt-BR/gettingstarted.po	                        (rev 0)
+++ doc/trunk/reference/pt-BR/gettingstarted.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,2267 @@
+# Language pt-BR translations for Introduction_to_Web_Beans package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Introduction_to_Web_Beans VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2009-04-10 16:32-0300\n"
+"Last-Translator: João Paulo Viragine <joao.viragine at redhat.com>\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: gettingstarted.xml:4
+#, fuzzy, no-c-format
+msgid "Getting started with Web Beans, the Reference Implementation of JSR-299"
+msgstr "Web Beans, a Implementação de Referência da JSR-299"
+
+#. Tag: para
+#: gettingstarted.xml:6
+#, no-c-format
+msgid ""
+"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
+"WebBeans\">the Seam project</ulink>. You can download the latest developer "
+"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
+"\">the downloads page</ulink>."
+msgstr ""
+"A Web Beans está sendo desenvolvida no <ulink url=\"http://seamframework.org/"
+"WebBeans\">projeto Seam</ulink>. Você pode baixar a última versão da Web "
+"Beans na <ulink url=\"http://seamframework.org/Download\">página de "
+"downloads</ulink>."
+
+#. Tag: para
+#: gettingstarted.xml:13
+#, no-c-format
+msgid ""
+"Web Beans comes with a two deployable example applications: "
+"<literal>webbeans-numberguess</literal>, a war example, containing only "
+"simple beans, and <literal>webbeans-translator</literal> an ear example, "
+"containing enterprise beans. There are also two variations on the "
+"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
+"and the jsf2 example, which you can use if you are running JSF2. To run the "
+"examples you'll need the following:"
+msgstr ""
+"A Web Beans vem com duas aplicações de exemplo: <literal>webbeans-"
+"numberguess</literal> - um war, contendo apenas beans simples (simple "
+"beans)  e <literal>webbeans-translator</literal>, e um ear, contendo beans "
+"corporativos (enterprise beans) -. Existem ,ainda, duas variações do exemplo "
+"numberguess: o exemplo tomcat (adequado para a implantação no Tomcat) e o "
+"exemplo jsf2, que você pode usar se estiver utilizando JSF2. Para executar "
+"os exemplos, você precisará do seguinte:"
+
+#. Tag: para
+#: gettingstarted.xml:25
+#, no-c-format
+msgid "the latest release of Web Beans,"
+msgstr "a última versão da Web Beans,"
+
+#. Tag: para
+#: gettingstarted.xml:28
+#, no-c-format
+msgid "JBoss AS 5.0.1.GA, or"
+msgstr "JBoss AS 5.0.1.GA, e"
+
+#. Tag: para
+#: gettingstarted.xml:31
+#, no-c-format
+msgid "Apache Tomcat 6.0.x, and"
+msgstr "Apache Tomcat 6.0.x, e"
+
+#. Tag: para
+#: gettingstarted.xml:34
+#, no-c-format
+msgid "Ant 1.7.0."
+msgstr "Ant 1.7.0."
+
+#. Tag: title
+#: gettingstarted.xml:39
+#, no-c-format
+msgid "Using JBoss AS 5"
+msgstr "Utilizando o JBoss AS 5"
+
+#. Tag: para
+#: gettingstarted.xml:41
+#, no-c-format
+msgid ""
+"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
+"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
+msgstr ""
+"Você precisará fazer o download do JBoss AS 5.0.1.GA em <ulink url=\"http://"
+"www.jboss.org/jbossas/downloads/\">jboss.org</ulink> e descompactá-lo. Por "
+"exemplo:\""
+
+#. Tag: programlisting
+#: gettingstarted.xml:47
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.1.GA.zip]]>"
+msgstr ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.1.GA.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:49 gettingstarted.xml:170
+#, no-c-format
+msgid ""
+"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
+"\">seamframework.org</ulink>, and unzip it. For example"
+msgstr ""
+"Depois, faça o download da Web Beans em <ulink url=\"http://seamframework."
+"org/Download\">seamframework.org</ulink> e descompacte-o. Por exemplo"
+
+#. Tag: programlisting
+#: gettingstarted.xml:55 gettingstarted.xml:176
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-$VERSION.zip]]>"
+msgstr ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-1.0.0.ALPHA1.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:58
+#, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>jboss.home</literal> "
+"property. For example:"
+msgstr ""
+"Em seguida, temos de dizer aos Web Beans onde o JBoss está localizado. "
+"Editar o <literal>jboss-as/build.properties</literal> e definir a "
+"propriedade <literal>jboss.home</literal>. Por exemplo:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:64
+#, no-c-format
+msgid "jboss.home=/Applications/jboss-5.0.1.GA"
+msgstr "jboss.home=/Applications/jboss-5.0.1.GA"
+
+#. Tag: para
+#: gettingstarted.xml:66
+#, no-c-format
+msgid ""
+"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
+"<literal>ANT_HOME</literal> environment variable set. For example:"
+msgstr ""
+"Para instalar a Web Beans, você precisará do Ant 1.7.0 instalado e a "
+"variável de ambiente <literal>ANT_HOME</literal> setada. Por exemplo:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:71
+#, no-c-format
+msgid ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+msgstr ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+
+#. Tag: para
+#: gettingstarted.xml:73
+#, no-c-format
+msgid ""
+"Then, you can install the update. The update script will use Maven to "
+"download Web Beans automatically."
+msgstr ""
+"Então, você pode instalar a atualização. O script de atualização  utilizará "
+"o Maven para fazer o download da Web Beans automaticamente."
+
+#. Tag: programlisting
+#: gettingstarted.xml:78
+#, no-c-format
+msgid ""
+"$ cd webbeans-$VERSION/jboss-as\n"
+"$ ant update"
+msgstr ""
+"$ cd webbeans-1.0.0.ALPHA1/jboss-as\n"
+"$ ant update"
+
+#. Tag: para
+#: gettingstarted.xml:80
+#, no-c-format
+msgid "Now, you're ready to deploy your first example!"
+msgstr ""
+"Agora, você está pronto para fazer a publicação do seu primeiro exemplo!"
+
+#. Tag: para
+#: gettingstarted.xml:85
+#, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for JBoss AS, "
+"these are:"
+msgstr ""
+"Os scripts para criar os exemplos oferecem uma série de alvos para JBoss AS, "
+"entre eles:"
+
+#. Tag: para
+#: gettingstarted.xml:91
+#, no-c-format
+msgid "<literal>ant restart</literal> - deploy the example in exploded format"
+msgstr ""
+"<literal>ant restart</literal> - implanta o exemplo no formato explodido"
+
+#. Tag: para
+#: gettingstarted.xml:97
+#, no-c-format
+msgid ""
+"<literal>ant explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+"<literal>ant explode</literal> - atualiza o exemplo explodido, sem reiniciar "
+
+#. Tag: para
+#: gettingstarted.xml:103
+#, no-c-format
+msgid ""
+"<literal>ant deploy</literal> - deploy the example in compressed jar format"
+msgstr ""
+"<literal>ant deploy</literal> - implanta o exemplo no formato jar compactado"
+
+#. Tag: para
+#: gettingstarted.xml:108
+#, no-c-format
+msgid "<literal>ant undeploy</literal> - remove the example from the server"
+msgstr "<literal>ant undeploy</literal> - remove o exemplo do servidor"
+
+#. Tag: para
+#: gettingstarted.xml:113
+#, no-c-format
+msgid "<literal>ant clean</literal> - clean the example"
+msgstr "<literal>ant clean</literal> - limpa o exemplo"
+
+#. Tag: para
+#: gettingstarted.xml:120
+#, no-c-format
+msgid "To deploy the numberguess example:"
+msgstr "Para implantar o exemplo numberguess:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:124
+#, no-c-format
+msgid ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+msgstr ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:126
+#, no-c-format
+msgid "Start JBoss AS:"
+msgstr "Inicializando o JBoss AS:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:130
+#, no-c-format
+msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
+msgstr "$ /Application/jboss-5.0.0.GA/bin/run.sh"
+
+#. Tag: para
+#: gettingstarted.xml:133
+#, no-c-format
+msgid "If you use Windows, use the <literal>run.bat</literal>script."
+msgstr ""
+"Se você utiliza o Windows, utilize o script <literal>run.bat</literal>."
+
+#. Tag: para
+#: gettingstarted.xml:138 gettingstarted.xml:240
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
+"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
+msgstr ""
+"Aguarde até que a aplicação seja implantada, e desfrute de horas de diversão "
+"em <ulink url=\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
+
+#. Tag: para
+#: gettingstarted.xml:143
+#, no-c-format
+msgid ""
+"Web Beans includes a second simple example that will translate your text "
+"into Latin. The numberguess example is a war example, and uses only simple "
+"beans; the translator example is an ear example, and includes enterprise "
+"beans, packaged in an EJB module. To try it out:"
+msgstr ""
+"Web Beans inclui um segundo exemplo simples que irá traduzir o seu texto "
+"para o Latim. O exemplo numberguess é um war e usa apenas beans simples; o "
+"exemplo translator é um exemplo ear e inclui benas corporativos, empacotados "
+"em um módulo EJB. Para experimentá-lo:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:150
+#, no-c-format
+msgid ""
+"$ cd examples/translator\n"
+"ant deploy"
+msgstr ""
+"$ cd examples/translator\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:152
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and visit <ulink url=\"http://"
+"localhost:8080/webbeans-translator\"></ulink>!"
+msgstr ""
+"Aguarde até que a aplicação seja implantada, e acesse  <ulink url=\"http://"
+"localhost:8080/webbeans-translator\"></ulink>!"
+
+#. Tag: title
+#: gettingstarted.xml:160
+#, no-c-format
+msgid "Using Apache Tomcat 6.0"
+msgstr "Utilizando o Apache Tomcat 6.0"
+
+#. Tag: para
+#: gettingstarted.xml:162
+#, no-c-format
+msgid ""
+"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
+"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
+"For example:"
+msgstr ""
+"Depois, faça o download do Tomcat 6.0.18 ou posterior em <ulink url=\"http://"
+"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, e descompacte-"
+"o. Por exemplo"
+
+#. Tag: programlisting
+#: gettingstarted.xml:168
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
+msgstr ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:178
+#, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
+"property. For example:"
+msgstr ""
+"Em seguida, temos de dizer aos Web Beans onde o Tomcat está localizado. "
+"Editar o <literal>jboss-as/build.properties</literal> e definir a "
+"propriedade <literal>tomcat.home</literal>. Por exemplo:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:184
+#, no-c-format
+msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
+msgstr "tomcat.home=/Applications/apache-tomcat-6.0.18"
+
+#. Tag: para
+#: gettingstarted.xml:187
+#, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for Tomcat, "
+"these are:"
+msgstr ""
+"Os scripts para criar os exemplos oferecem uma série de alvos para Tomcat. "
+"São eles:"
+
+#. Tag: para
+#: gettingstarted.xml:193
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
+msgstr ""
+"<literal>ant tomcat.restart</literal> - publica o exemplo no formato "
+"explodido"
+
+#. Tag: para
+#: gettingstarted.xml:199
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+"<literal>ant tomcat.explode</literal> - atualiza o exemplo explodido, sem "
+"reiniciar "
+
+#. Tag: para
+#: gettingstarted.xml:205
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
+"format"
+msgstr ""
+"<literal>ant tomcat.deploy</literal> - publica o exemplo no formato jar "
+"compactado"
+
+#. Tag: para
+#: gettingstarted.xml:210
+#, no-c-format
+msgid ""
+"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
+msgstr "<literal>ant tomcat.undeploy</literal> - remove o exemplo do servidor"
+
+#. Tag: para
+#: gettingstarted.xml:215
+#, no-c-format
+msgid "<literal>ant tomcat.clean</literal> - clean the example"
+msgstr "<literal>ant tomcat.clean</literal> - clean the example"
+
+#. Tag: para
+#: gettingstarted.xml:222
+#, no-c-format
+msgid "To deploy the numberguess example for tomcat:"
+msgstr "Para implantar o exemplo numberguess no tomcat:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:226
+#, no-c-format
+msgid ""
+"$ cd examples/tomcat\n"
+"ant tomcat.deploy"
+msgstr ""
+"$ cd examples/tomcat\n"
+"ant tomcat.deploy"
+
+#. Tag: para
+#: gettingstarted.xml:228
+#, no-c-format
+msgid "Start Tomcat:"
+msgstr "Inicializando o Tomcat:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:232
+#, no-c-format
+msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
+msgstr "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
+
+#. Tag: para
+#: gettingstarted.xml:235
+#, no-c-format
+msgid "If you use Windows, use the <literal>startup.bat</literal>script."
+msgstr ""
+"Se você utiliza o Windows, utilize o script <literal>startup.bat</literal>."
+
+#. Tag: title
+#: gettingstarted.xml:248
+#, no-c-format
+msgid "Using GlassFish"
+msgstr "Utilizando o GlassFish"
+
+#. Tag: para
+#: gettingstarted.xml:250
+#, no-c-format
+msgid "TODO"
+msgstr "TODO"
+
+#. Tag: title
+#: gettingstarted.xml:254
+#, no-c-format
+msgid "The numberguess example"
+msgstr "O exemplo numberguess"
+
+#. Tag: para
+#: gettingstarted.xml:256
+#, no-c-format
+msgid ""
+"In the numberguess application you get given 10 attempts to guess a number "
+"between 1 and 100. After each attempt, you will be told whether you are too "
+"high, or too low."
+msgstr ""
+"Na aplicação numberguess você terá 10 tentativas para adivinhar um número "
+"entre 1 e 100. Após cada tentativa, você será informado se você disse muito "
+"acima, ou muito abaixo."
+
+#. Tag: para
+#: gettingstarted.xml:262
+#, no-c-format
+msgid ""
+"The numberguess example is comprised of a number of Web Beans, configuration "
+"files, and Facelet JSF pages, packaged as a war. Let's start with the "
+"configuration files."
+msgstr ""
+"O exemplo numberguess é composto de um número de Web Beans, arquivos de "
+"configuração e páginas Facelet JSF , empacotados como um war. Vamos começar "
+"com os arquivos de configuração."
+
+#. Tag: para
+#: gettingstarted.xml:268
+#, no-c-format
+msgid ""
+"All the configuration files for this example are located in <literal>WEB-INF/"
+"</literal>, which is stored in <literal>WebContent</literal> in the source "
+"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
+"JSF to use Facelets:"
+msgstr ""
+"Todos os arquivos de configuração para este exemplo estão localizados no "
+"<literal>WEB-INF/</literal>, que é armazenado no <literal>WebContent</"
+"literal> na árvore de fontes. Primeiro, temos  <literal>faces-config.xml</"
+"literal>, onde dizemos para o JSF usar o Facelets:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:276
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+msgstr ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:278
+#, no-c-format
+msgid ""
+"There is an empty <literal>web-beans.xml</literal> file, which marks this "
+"application as a Web Beans application."
+msgstr ""
+"Existe um arquivo <literal>web-beans.xml</literal> vazio, que assinala essa "
+"aplicação como uma aplicação Web Beans."
+
+#. Tag: para
+#: gettingstarted.xml:283
+#, no-c-format
+msgid "Finally there is <literal>web.xml</literal>:"
+msgstr "Finalmente no <literal>web.xml</literal>:"
+
+#. Tag: section
+#: gettingstarted.xml:285
+#, fuzzy, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
+"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
+"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
+"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
+"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
+"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
+"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
+"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
+"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
+"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
+"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
+"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
+"session timeout of 10 minutes </para> </callout> </calloutlist> </"
+"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
+"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
+"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
+"id=\"template\" coords=\"8\"/> <area id=\"messages2\" coords=\"12\"/> <area "
+"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
+"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
+"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
+"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
+"dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
+"number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
+"number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game."
+"biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
+"{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
+"<para> Facelets is a templating language for JSF, here we are wrapping our "
+"page in a template which defines the header. </para> </callout> <callout "
+"arearefs=\"messages2\"> <para> There are a number of messages which can be "
+"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
+"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
+"range of numbers they can guess gets smaller - this sentance changes to make "
+"sure they know what range to guess in. </para> </callout> <callout arearefs="
+"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
+"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
+"range validator is used to make sure the user doesn't accidentally input a "
+"number outside of the range in which they can guess - if the validator "
+"wasn't here, the user might use up a guess on an out of range number. </"
+"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
+"must be a way for the user to send their guess to the server. Here we bind "
+"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
+"programlistingco>"
+msgstr ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
+"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
+"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
+"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
+"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
+"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
+"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
+"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
+"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
+"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
+"giving our source files (facelets) an extension of <literal>.jsf</literal> </"
+"para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
+"session timeout of 10 minutes </para> </callout> </calloutlist> </"
+"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
+"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
+"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
+"id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area "
+"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
+"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
+"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
+"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
+"dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
+"number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
+"number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game."
+"biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
+"{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
+"<para> Facelets is a templating language for JSF, here we are wrapping our "
+"page in a template which defines the header. </para> </callout> <callout "
+"arearefs=\"messages\"> <para> There are a number of messages which can be "
+"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
+"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
+"range of numbers they can guess gets smaller - this sentance changes to make "
+"sure they know what range to guess in. </para> </callout> <callout arearefs="
+"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
+"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
+"range validator is used to make sure the user doesn't accidentally input a "
+"number outside of the range in which they can guess - if the validator "
+"wasn't here, the user might use up a guess on an out of range number. </"
+"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
+"must be a way for the user to send their guess to the server. Here we bind "
+"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
+"programlistingco>"
+
+#. Tag: para
+#: gettingstarted.xml:387
+#, no-c-format
+msgid ""
+"The example exists of 4 classes, the first two of which are binding types. "
+"First, there is the <literal>@Random</literal> binding type, used for "
+"injecting a random number:"
+msgstr ""
+"No exemplo, existem 4 classes: as duas primeiras são tipos de binding. "
+"Primeiro, há o tipo de binding <literal>@Random</literal>, utilizado para a "
+"injeção de um número aleatório:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:393
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+msgstr ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+
+#. Tag: para
+#: gettingstarted.xml:395
+#, no-c-format
+msgid ""
+"There is also the <literal>@MaxNumber</literal> binding type, used for "
+"injecting the maximum number that can be injected:"
+msgstr ""
+"Há também o binding type <literal>@MaxNumber</literal>, utilizado para "
+"injetar o número máximo que pode ser injetado:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:400
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+msgstr ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+
+#. Tag: para
+#: gettingstarted.xml:402
+#, no-c-format
+msgid ""
+"The <literal>Generator</literal> class is responsible for creating the "
+"random number, via a producer method. It also exposes the maximum possible "
+"number via a producer method:"
+msgstr ""
+"A classe <literal>Generator</literal> é responsável por criar um número "
+"aleatório, através de um método produtor. Ela também expõe o número máximo "
+"possível através de um método produtor:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:408
+#, no-c-format
+msgid ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System."
+"currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+msgstr ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System."
+"currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+
+#. Tag: para
+#: gettingstarted.xml:410
+#, no-c-format
+msgid ""
+"You'll notice that the <literal>Generator</literal> is application scoped; "
+"therefore we don't get a different random each time."
+msgstr ""
+"Você perceberá que o <literal>Generator</literal> está no escopo de "
+"aplicação; portanto, não obtemos um número aleatório diferente a cada vez."
+
+#. Tag: para
+#: gettingstarted.xml:415
+#, no-c-format
+msgid ""
+"The final Web Bean in the application is the session scoped <literal>Game</"
+"literal>."
+msgstr ""
+"O Web Bean final da aplicação é o <literal>Game</literal> em escopo de "
+"sessão."
+
+#. Tag: para
+#: gettingstarted.xml:420
+#, no-c-format
+msgid ""
+"You'll note that we've used the <literal>@Named</literal> annotation, so "
+"that we can use the bean through EL in the JSF page. Finally, we've used "
+"constructor injection to initialize the game with a random number. And of "
+"course, we need to tell the player when they've won, so we give feedback "
+"with a <literal>FacesMessage</literal>."
+msgstr ""
+"Você  notará que nós utilizamos a  anotação  <literal>@Named</literal>, para "
+"que possamos utilizar o bean através EL na página JSF. Finalmente, "
+"utilizamos injeção de construtor para inicializar o jogo com um número "
+"aleatório. E, claro, precisamos de dizer ao jogador quando ele venceu. Por "
+"isso, informaremos através do <literal>FacesMessage</literal>."
+
+#. Tag: programlisting
+#: gettingstarted.xml:428
+#, no-c-format
+msgid ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
+"(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new "
+"AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+msgstr ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
+"(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new "
+"AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+
+#. Tag: title
+#: gettingstarted.xml:431
+#, fuzzy, no-c-format
+msgid "The numberguess example in Tomcat"
+msgstr "O exemplo numberguess para o Tomcat"
+
+#. Tag: para
+#: gettingstarted.xml:433
+#, fuzzy, no-c-format
+msgid ""
+"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
+"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
+"literal>. For your convenience we provide a single jar suitable for running "
+"Web Beans in any servlet container <literal>webbeans-servlet.jar</literal>."
+msgstr ""
+"O numberguess para Tomcat difere em várias maneiras. Em primeiro lugar, Web "
+"Beans devem ser implementados como uma biblioteca de aplicação Web em "
+"<literal>WEB-INF/lib</literal>. Para sua comodidade, fornecemos um único jar "
+"adequado para executar Web Beans no Tomcat <literal>webbeans-tomcat.jar</"
+"literal>."
+
+#. Tag: para
+#: gettingstarted.xml:442
+#, no-c-format
+msgid ""
+"Of course, you must also include JSF and EL, as well common annotations "
+"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
+msgstr ""
+"Claro, você também deve incluir JSF e EL, bem como anotações comuns (common "
+"annotations)  (<literal>jsr250-api.jar</literal>), que um servidor JEE "
+"inclui por padrão."
+
+#. Tag: para
+#: gettingstarted.xml:449
+#, fuzzy, no-c-format
+msgid ""
+"Secondly, we need to explicitly specify the servlet listener (used to boot "
+"Web Beans, and control it's interaction with requests) in <literal>web.xml</"
+"literal>:"
+msgstr ""
+"Em segundo lugar, precisamos indicar explicitamente o Tomcat servlet "
+"listener (utilizado para \"bootar\" a Web Beans, e controlar sua interação "
+"com as requisições) no  <literal>web.xml</literal>:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:455
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+"<![CDATA[<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+
+#. Tag: title
+#: gettingstarted.xml:460
+#, fuzzy, no-c-format
+msgid "The numberguess example for Apache Wicket"
+msgstr "O exemplo numberguess para o Tomcat"
+
+#. Tag: para
+#: gettingstarted.xml:461
+#, no-c-format
+msgid ""
+"Whilst JSR-299 specifies integration with Java ServerFaces, Web Beans allows "
+"you to inject into Wicket components, and also allows you to use a "
+"conversation context with Wicket. In this section, we'll walk you through "
+"the Wicket version of the numberguess example."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:470
+#, no-c-format
+msgid ""
+"You may want to review the Wicket documentation at <ulink url=\"http://"
+"wicket.apache.org/\">http://wicket.apache.org/</ulink>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:476
+#, no-c-format
+msgid ""
+"Like the previous example, the Wicket WebBeans examples make use of the "
+"<literal>webbeans-servlet</literal> module. The use of the <ulink url="
+"\"http://jetty.mortbay.org/\">Jetty servlet container</ulink> is common in "
+"the Wicket community, and is chosen here as the runtime container in order "
+"to facilitate comparison between the standard Wicket examples and these "
+"examples, and also to show how the webbeans-servlet integration is not "
+"dependent upon Tomcat as the servlet container."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:487
+#, no-c-format
+msgid ""
+"These examples make use of the Eclipse IDE; instructions are also given to "
+"deploy the application from the command line."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:493
+#, no-c-format
+msgid "Creating the Eclipse project"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:495
+#, no-c-format
+msgid "To generate an Eclipse project from the example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:499
+#, no-c-format
+msgid ""
+"<![CDATA[cd examples/wicket/numberguess\n"
+"mvn eclipse:eclipse]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:501
+#, no-c-format
+msgid ""
+"Then, from eclipse, choose <emphasis>File -> Import -> General -> Existing "
+"Projects into Workspace</emphasis>, select the root directory of the "
+"numberguess example, and click finish. This will create a project in your "
+"workspace called <literal>webbeans-wicket-numberguess</literal>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:516
+#, no-c-format
+msgid "Running the example from Eclipse"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:518
+#, no-c-format
+msgid ""
+"This project follows the <literal>wicket-quickstart</literal> approach of "
+"creating an instance of Jetty in the <literal>Start</literal> class. So "
+"running the example is as simple as right-clicking on that Start class in "
+"<literal>src/test/java</literal> in the <emphasis>Package Explorer</"
+"emphasis> and choosing <emphasis>Run as Java Application</emphasis>. You "
+"should see console output related to Jetty starting up; then visit able "
+"<literal>http://localhost:8080</literal> to view the app. To debug choose "
+"<emphasis>Debug as Java Application</emphasis>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:533
+#, no-c-format
+msgid "Running the example from the command line in JBoss AS or Tomcat"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:535
+#, no-c-format
+msgid ""
+"This example can also be deployed from the command line in a (similar to the "
+"other examples). Assuming you have set up the <literal>build.properties</"
+"literal> file in the <literal>examples</literal> directory to specify the "
+"location of JBoss AS or Tomcat, as previously described, you can run "
+"<literal>ant deploy</literal> from the <literal>examples/wicket/numberguess</"
+"literal> directory, and access the application at <literal>http://"
+"localhost:8080/webbeans-numberguess-wicket</literal>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:549
+#, no-c-format
+msgid "Understanding the code"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:551
+#, no-c-format
+msgid ""
+"JSF uses Unified EL expressions to bind view layer components in JSP or "
+"Facelet views to beans, Wicket defines it's components in Java. The markup "
+"is plain html with a one-to-one mapping between html elements and the view "
+"components. All view logic, including binding of components to models and "
+"controlling the response of view actions, is handled in Java. The "
+"integration of Web Beans with Wicket takes advantage of the same binding "
+"annotations used in your business layer to provide injection into your "
+"WebPage subclass (or into other custom wicket component subclasses)."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:563
+#, no-c-format
+msgid ""
+"The code in the wicket numberguess example is very similar to the JSF-based "
+"numberguess example. The business layer is identical!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:568
+#, no-c-format
+msgid "Differences are:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:573
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass, In our case, our application class is <literal>SampleApplication</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:579
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:580
+#, no-c-format
+msgid ""
+"This class specifies which page wicket should treat as our home page, in our "
+"case, <literal>HomePage.class</literal>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:586
+#, no-c-format
+msgid ""
+"In <literal>HomePage</literal> we see typical wicket code to set up page "
+"elements. The bit that is interesting is the injection of the <literal>Game</"
+"literal> bean:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:592
+#, no-c-format
+msgid "<![CDATA[ @Current Game game;]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:594
+#, no-c-format
+msgid ""
+"The <literal>Game</literal> bean is can then be used, for example, by the "
+"code for submitting a guess:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:599
+#, no-c-format
+msgid ""
+"<![CDATA[final Component guessButton = new AjaxButton(\"GuessButton\") { \n"
+"   protected void onSubmit(AjaxRequestTarget target, Form form) {\n"
+"      if (game.check()) {]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:602
+#, no-c-format
+msgid ""
+"All injections may be serialized; actual storage of the bean is managed by "
+"JSR-299. Note that Wicket components, like the HomePage and it "
+"subcomponents, are <emphasis>not</emphasis> JSR-299 beans."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:608
+#, no-c-format
+msgid ""
+"Wicket components allow injection, but they <emphasis>cannot</emphasis> use "
+"interceptors, decorators and lifecycle callbacks such as "
+"<literal>@PostConstruct</literal> or <literal>@Initializer</literal> methods."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:618
+#, no-c-format
+msgid ""
+"The example uses AJAX for processing of button events, and dynamically hides "
+"buttons that are no longer relevant, for example when the user has won the "
+"game."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:626
+#, no-c-format
+msgid ""
+"In order to activate wicket for this webapp, the Wicket filter is added to "
+"web.xml, and our application class is specified:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:631
+#, no-c-format
+msgid ""
+"<![CDATA[<filter>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-"
+"class>\n"
+"   <init-param>\n"
+"      <param-name>applicationClassName</param-name>\n"
+"      <param-value>org.jboss.webbeans.examples.wicket.SampleApplication</"
+"param-value>\n"
+"   </init-param>\n"
+"</filter>\n"
+"\n"
+"<filter-mapping>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <url-pattern>/*</url-pattern>\n"
+"</filter-mapping>\n"
+" \n"
+"<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:632
+#, no-c-format
+msgid ""
+"Note that the servlet listener is also added, as in the Tomcat example, in "
+"order to boostrap Web Beans when Jetty starts, and to hook Web Beans into "
+"the Jetty servlet request and session lifecycles."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:645
+#, fuzzy, no-c-format
+msgid "The numberguess example for Java SE with Swing"
+msgstr "O exemplo numberguess para o Tomcat"
+
+#. Tag: para
+#: gettingstarted.xml:647
+#, no-c-format
+msgid ""
+"This example can be found in the <literal>examples/se/numberguess</literal> "
+"folder of the Web Beans distribution."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:654
+#, fuzzy, no-c-format
+msgid "To run this example:"
+msgstr "O exemplo translator"
+
+#. Tag: para
+#: gettingstarted.xml:660
+#, no-c-format
+msgid ""
+"Open a command line/terminal window in the <literal>examples/se/numberguess</"
+"literal> directory"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:666
+#, no-c-format
+msgid "Ensure that Maven 2 is installed and in your PATH"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:671
+#, no-c-format
+msgid ""
+"Ensure that the <literal>JAVA_HOME</literal> environment variable is "
+"pointing to your JDK installation"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:677
+#, no-c-format
+msgid "execute the following command"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:680
+#, no-c-format
+msgid "mvn -Drun"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:686
+#, fuzzy, no-c-format
+msgid ""
+"There is an empty <literal>beans.xml</literal> file in the root package "
+"(<literal>src/main/resources/beans.xml</literal>), which marks this "
+"application as a Web Beans application."
+msgstr ""
+"Existe um arquivo <literal>web-beans.xml</literal> vazio, que assinala essa "
+"aplicação como uma aplicação Web Beans."
+
+#. Tag: para
+#: gettingstarted.xml:692
+#, no-c-format
+msgid ""
+"The game's main logic is located in <literal>Game.java</literal>. Here is "
+"the code for that class, highlighting the changes made from the web "
+"application version:"
+msgstr ""
+
+#. Tag: section
+#: gettingstarted.xml:696
+#, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"scope\" coords=\"1\"/> <area id="
+"\"name\" coords=\"1\"/> <area id=\"messages1\" coords=\"26\"/> <area id="
+"\"validation\" coords=\"39\"/> <area id=\"reset\" coords=\"68\"/> </"
+"areaspec> <programlisting role=\"JAVA\"><![CDATA[@ApplicationScoped\n"
+"public class Game implements Serializable\n"
+"{\n"
+"\n"
+"    private int number;\n"
+"    private int guess;\n"
+"    private int smallest;\n"
+"\n"
+"    @MaxNumber\n"
+"    private int maxNumber;\n"
+"\n"
+"    private int biggest;\n"
+"    private int remainingGuesses;\n"
+"    private boolean validNumberRange = true;\n"
+"\n"
+"    @Current Generator rndGenerator;\n"
+"\n"
+"    ...\n"
+"\n"
+"    public boolean isValidNumberRange()\n"
+"    {\n"
+"        return validNumberRange;\n"
+"    }\n"
+"\n"
+"    public boolean isGameWon()\n"
+"    {\n"
+"        return guess == number;\n"
+"    }\n"
+"\n"
+"    public boolean isGameLost()\n"
+"    {\n"
+"        return guess != number && remainingGuesses <= 0;\n"
+"    }\n"
+"\n"
+"    public boolean check()\n"
+"    {\n"
+"        boolean result = false;\n"
+"\n"
+"        if ( checkNewNumberRangeIsValid() )\n"
+"        {\n"
+"            if ( guess > number )\n"
+"            {\n"
+"                biggest = guess - 1;\n"
+"            }\n"
+"\n"
+"            if ( guess < number )\n"
+"            {\n"
+"                smallest = guess + 1;\n"
+"            }\n"
+"\n"
+"            if ( guess == number )\n"
+"            {\n"
+"                result = true;\n"
+"            }\n"
+"\n"
+"            remainingGuesses--;\n"
+"        }\n"
+"\n"
+"        return result;\n"
+"    }\n"
+"\n"
+"    private boolean checkNewNumberRangeIsValid()\n"
+"    {\n"
+"        return validNumberRange = ( ( guess >= smallest ) && ( guess <= "
+"biggest ) );\n"
+"    }\n"
+"\n"
+"    @PostConstruct\n"
+"    public void reset()\n"
+"    {\n"
+"        this.smallest = 0;\n"
+"        ...\n"
+"        this.number = rndGenerator.next();\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"scope\"> <para> The "
+"bean is application scoped instead of session scoped, since an instance of "
+"the application represents a single 'session'. </para> </callout> <callout "
+"arearefs=\"name\"> <para> The bean is not named, since it doesn't need to be "
+"accessed via EL </para> </callout> <callout arearefs=\"messages1\"> <para> "
+"There is no JSF <literal>FacesContext</literal> to add messages to. Instead "
+"the <literal>Game</literal> class provides additional information about the "
+"state of the current game including: </para> <itemizedlist> <listitem> "
+"<para> If the game has been won or lost </para> </listitem> <listitem> "
+"<para> If the most recent guess was invalid </para> </listitem> </"
+"itemizedlist> <para> This allows the Swing UI to query the state of the "
+"game, which it does indirectly via a class called <literal>MessageGenerator,"
+"</literal> in order to determine the appropriate messages to display to the "
+"user during the game. </para> </callout> <callout arearefs=\"validation\"> "
+"<para> Validation of user input is performed during the <literal>check()</"
+"literal> method, since there is no dedicated validation phase </para> </"
+"callout> <callout arearefs=\"reset\"> <para> The <literal>reset()</literal> "
+"method makes a call to the injected <literal>rndGenerator</literal> in order "
+"to get the random number at the start of each game. It cannot use "
+"<literal>manager.getInstanceByType(Integer.class, new AnnotationLiteral&lt;"
+"Random&gt;(){})</literal> as the JSF example does because there will not be "
+"any active contexts like there is during a JSF request. </para> </callout> </"
+"calloutlist> </programlistingco> <para> The <literal>MessageGenerator</"
+"literal> class depends on the current instance of <literal>Game</literal>, "
+"and queries its state in order to determine the appropriate messages to "
+"provide as the prompt for the user's next guess and the response to the "
+"previous guess. The code for <literal>MessageGenerator</literal> is as "
+"follows: </para> <programlistingco> <areaspec> <area id=\"game\" coords=\"3"
+"\"/> <area id=\"challenge\" coords=\"5\"/> <area id=\"result\" coords=\"16\"/"
+"> </areaspec> <programlisting role=\"JAVA\"><![CDATA[public class "
+"MessageGenerator\n"
+"{\n"
+"    @Current Game game;\n"
+"\n"
+"    public String getChallengeMessage()\n"
+"    {\n"
+"        StringBuilder challengeMsg = new StringBuilder( \"I'm thinking of a "
+"number between \" );\n"
+"        challengeMsg.append( game.getSmallest() );\n"
+"        challengeMsg.append( \" and \" );\n"
+"        challengeMsg.append( game.getBiggest() );\n"
+"        challengeMsg.append( \". Can you guess what it is?\" );\n"
+"\n"
+"        return challengeMsg.toString();\n"
+"    }\n"
+"\n"
+"    public String getResultMessage()\n"
+"    {\n"
+"        if ( game.isGameWon() )\n"
+"        {\n"
+"            return \"You guess it! The number was \" + game.getNumber();\n"
+"        } else if ( game.isGameLost() )\n"
+"        {\n"
+"            return \"You are fail! The number was \" + game.getNumber();\n"
+"        } else if ( ! game.isValidNumberRange() )\n"
+"        {\n"
+"            return \"Invalid number range!\";\n"
+"        } else if ( game.getRemainingGuesses() == Game.MAX_NUM_GUESSES )\n"
+"        {\n"
+"            return \"What is your first guess?\";\n"
+"        } else\n"
+"        {\n"
+"            String direction = null;\n"
+"\n"
+"            if ( game.getGuess() < game.getNumber() )\n"
+"            {\n"
+"                direction = \"Higher\";\n"
+"            } else\n"
+"            {\n"
+"                direction = \"Lower\";\n"
+"            }\n"
+"\n"
+"            return direction + \"! You have \" + game.getRemainingGuesses() "
+"+ \" guesses left.\";\n"
+"        }\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"game\"> <para> The "
+"instance of <literal>Game</literal> for the application is injected here. </"
+"para> </callout> <callout arearefs=\"challenge\"> <para> The <literal>Game</"
+"literal>'s state is interrogated to determine the appropriate challenge "
+"message. </para> </callout> <callout arearefs=\"result\"> <para> And again "
+"to determine whether to congratulate, console or encourage the user to "
+"continue. </para> </callout> </calloutlist> </programlistingco> <para> "
+"Finally we come to the <literal>NumberGuessFrame</literal> class which "
+"provides the Swing front end to our guessing game. </para> "
+"<programlistingco> <areaspec> <area id=\"gameIn\" coords=\"3\"/> <area id="
+"\"messagesIn\" coords=\"4\"/> <area id=\"start\" coords=\"6\"/> <area id="
+"\"init\" coords=\"18\"/> <area id=\"guess1\" coords=\"34\"/> <area id="
+"\"replay\" coords=\"44\"/> <area id=\"refresh\" coords=\"50\"/> </areaspec> "
+"<programlisting role=\"JAVA\"><![CDATA[public class NumberGuessFrame  "
+"extends javax.swing.JFrame\n"
+"{\n"
+"    private @Current Game game;\n"
+"    private @Current MessageGenerator msgGenerator;\n"
+"\n"
+"    public void start( @Observes @Deployed Manager manager )\n"
+"    {\n"
+"        java.awt.EventQueue.invokeLater( new Runnable()\n"
+"            {\n"
+"                public void run()\n"
+"                {\n"
+"                    initComponents();\n"
+"                    setVisible( true );\n"
+"                }\n"
+"            } );\n"
+"    }\n"
+"\n"
+"    private void initComponents() {\n"
+"\n"
+"        buttonPanel = new javax.swing.JPanel();\n"
+"        mainMsgPanel = new javax.swing.JPanel();\n"
+"        mainLabel = new javax.swing.JLabel();\n"
+"        messageLabel = new javax.swing.JLabel();\n"
+"        guessText = new javax.swing.JTextField();\n"
+"        ...\n"
+"        mainLabel.setText(msgGenerator.getChallengeMessage());\n"
+"        mainMsgPanel.add(mainLabel);\n"
+"\n"
+"        messageLabel.setText(msgGenerator.getResultMessage());\n"
+"        mainMsgPanel.add(messageLabel);\n"
+"        ...\n"
+"    }\n"
+"\n"
+"    private void guessButtonActionPerformed( java.awt.event.ActionEvent "
+"evt )\n"
+"    {\n"
+"        int guess =  Integer.parseInt(guessText.getText());\n"
+"\n"
+"        game.setGuess( guess );\n"
+"        game.check();\n"
+"        refreshUI();\n"
+"\n"
+"    }\n"
+"\n"
+"    private void replayBtnActionPerformed( java.awt.event.ActionEvent evt )\n"
+"    {\n"
+"       game.reset();\n"
+"       refreshUI();\n"
+"    }\n"
+"\n"
+"    private void refreshUI()\n"
+"    {\n"
+"        mainLabel.setText( msgGenerator.getChallengeMessage() );\n"
+"        messageLabel.setText( msgGenerator.getResultMessage() );\n"
+"        guessText.setText( \"\" );\n"
+"        guessesLeftBar.setValue( game.getRemainingGuesses() );\n"
+"        guessText.requestFocus();\n"
+"    }\n"
+"\n"
+"    // swing components\n"
+"    private javax.swing.JPanel borderPanel;\n"
+"    ...\n"
+"    private javax.swing.JButton replayBtn;\n"
+"\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"gameIn\"> <para> The "
+"injected instance of the game (logic and state). </para> </callout> <callout "
+"arearefs=\"messagesIn\"> <para> The injected message generator for UI "
+"messages. </para> </callout> <callout arearefs=\"start\"> <para> This "
+"application is started in the usual Web Beans SE way, by observing the "
+"<literal>@Deployed Manager</literal> event. </para> </callout> <callout "
+"arearefs=\"init\"> <para> This method initialises all of the Swing "
+"components. Note the use of the <literal>msgGenerator</literal>. </para> </"
+"callout> <callout arearefs=\"guess1\"> <para> "
+"<literal>guessButtonActionPerformed</literal> is called when the 'Guess' "
+"button is clicked, and it does the following: </para> <itemizedlist> "
+"<listitem> <para> Gets the guess entered by the user and sets it as the "
+"current guess in the <literal>Game</literal> </para> </listitem> <listitem> "
+"<para> Calls <literal>game.check()</literal> to validate and perform one "
+"'turn' of the game </para> </listitem> <listitem> <para> Calls "
+"<literal>refreshUI</literal>. If there were validation errors with the "
+"input, this will have been captured during <literal>game.check()</literal> "
+"and as such will be reflected in the messeges returned by "
+"<literal>MessageGenerator</literal> and subsequently presented to the user. "
+"If there are no validation errors then the user will be told to guess again "
+"(higher or lower) or that the game has ended either in a win (correct guess) "
+"or a loss (ran out of guesses). </para> </listitem> </itemizedlist> </"
+"callout> <callout arearefs=\"replay\"> <para> "
+"<literal>replayBtnActionPerformed</literal> simply calls <literal>game.reset"
+"()</literal> to start a new game and refreshes the messages in the UI. </"
+"para> </callout> <callout arearefs=\"refresh\"> <para> <literal>refreshUI</"
+"literal> uses the <literal>MessageGenerator</literal> to update the messages "
+"to the user based on the current state of the Game. </para> </callout> </"
+"calloutlist> </programlistingco>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:904
+#, no-c-format
+msgid "The translator example"
+msgstr "O exemplo translator"
+
+#. Tag: para
+#: gettingstarted.xml:906
+#, no-c-format
+msgid ""
+"The translator example will take any sentences you enter, and translate them "
+"to Latin."
+msgstr ""
+"O exemplo translator pegará qualquer frase que você fornecer e a  traduzirá "
+"para o Latim."
+
+#. Tag: para
+#: gettingstarted.xml:911
+#, no-c-format
+msgid ""
+"The translator example is built as an ear, and contains EJBs. As a result, "
+"it's structure is more complex than the numberguess example."
+msgstr ""
+"O exemplo translator é construído como um ear e contém EJBs. Como resultado, "
+"a sua estrutura é mais complexa do que o exemplo numberguess."
+
+#. Tag: para
+#: gettingstarted.xml:917
+#, no-c-format
+msgid ""
+"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
+"this structure much simpler!"
+msgstr ""
+"EJB 3.1 e Java EE 6 permitem a você empacotar EJBs em um war, o que tornará "
+"esta estrutura muito mais simples!"
+
+#. Tag: para
+#: gettingstarted.xml:923
+#, no-c-format
+msgid ""
+"First, let's take a look at the ear aggregator, which is located in "
+"<literal>webbeans-translator-ear</literal> module. Maven automatically "
+"generates the <literal>application.xml</literal> for us:"
+msgstr ""
+"Primeiro, vamos dar uma olhada no ear aggregator, que está localizado módulo "
+"<literal>webbeans-translator-ear</literal>. Maven gera automaticamente "
+"o<literal>application.xml</literal> para nós:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:929
+#, no-c-format
+msgid ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+msgstr ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:931
+#, no-c-format
+msgid ""
+"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
+"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
+"translator</ulink>)."
+msgstr ""
+"Aqui nós definiremos o caminho do contexto, que nos dá uma url amigável "
+"(<ulink url=\"http://localhost:8080/webbeans-translator\">http://"
+"localhost:8080/webbeans-translator</ulink>). ulink&gt;) ."
+
+#. Tag: para
+#: gettingstarted.xml:937
+#, no-c-format
+msgid ""
+"If you aren't using Maven to generate these files, you would need "
+"<literal>META-INF/application.xml</literal>:"
+msgstr ""
+"Se você não está usando o Maven para gerar esses arquivos, você precisaria "
+"<literal>META-INF/application.xml</literal>:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:942
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web "
+"Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+msgstr ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web "
+"Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:945
+#, no-c-format
+msgid ""
+"Next, lets look at the war. Just as in the numberguess example, we have a "
+"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
+"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
+msgstr ""
+"Em seguida, vamos ver o war. Tal como no exemplo numberguess, temos um "
+"<literal>faces-config.xml</literal> (para habilitar o Facelets) e um "
+"<literal>web.xml</literal> (para habilitar o JSF) no <literal>WebContent/WEB-"
+"INF</literal>."
+
+#. Tag: para
+#: gettingstarted.xml:952
+#, no-c-format
+msgid ""
+"More intersting is the facelet used to translate text. Just as in the "
+"numberguess example we have a template, which surrounds the form (ommitted "
+"here for brevity):"
+msgstr ""
+"Mais interessante é o facelet utilizado para traduzir texto. Tal como no "
+"exemplo numberguess, temos um template, que envolve o formulário (omitido "
+"aqui por brevitude):"
+
+#. Tag: programlisting
+#: gettingstarted.xml:958
+#, no-c-format
+msgid ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+msgstr ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:960
+#, no-c-format
+msgid ""
+"The user can enter some text in the lefthand textarea, and hit the translate "
+"button to see the result to the right."
+msgstr ""
+"O usuário pode digitar um texto no textarea esquerdo e clicar no botão "
+"traduzir para ver o resultado à direita."
+
+#. Tag: para
+#: gettingstarted.xml:965
+#, no-c-format
+msgid ""
+"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
+"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
+"empty <literal>web-beans.xml</literal>, used to mark the archive as "
+"containing Web Beans."
+msgstr ""
+"Por fim, vamos olhar  o módulo EJB <literal>webbeans-translator-ejb</"
+"literal>. Em <literal>src/main/resources/META-INF</literal> existe apenas um "
+"<literal>web-beans.xml</literal> vazio, utilizado para marcar o arquivo como "
+"contendo Web Beans."
+
+#. Tag: para
+#: gettingstarted.xml:973
+#, no-c-format
+msgid ""
+"We've saved the most interesting bit to last, the code! The project has two "
+"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
+"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
+"literal> and <literal>SentenceTranslator</literal>. You should be getting "
+"quite familiar with what a Web Bean looks like by now, so we'll just "
+"highlight the most interesting bits here."
+msgstr ""
+"Deixamos o pedaço mais interessante para o final: o código! O projeto tem "
+"dois beans simples, <literal>SentenceParser</literal> e "
+"<literal>TextTranslator</literal> e dois beans "
+"corporativos<literal>TranslatorControllerBean</literal> e "
+"<literal>SentenceTranslator</literal>. Você deve estar bastante "
+"familiarizado com o que um Web Bean parece até agora. Então, vamos apenas "
+"destacar as partes mais interessantes aqui."
+
+#. Tag: para
+#: gettingstarted.xml:983
+#, no-c-format
+msgid ""
+"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
+"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
+"initialization:"
+msgstr ""
+"Tanto <literal>SentenceParser</literal> quanto <literal>TextTranslator</"
+"literal> são beans dependentes, e <literal>TextTranslator</literal> usa "
+"inicialização por construtor :"
+
+#. Tag: programlisting
+#: gettingstarted.xml:989
+#, no-c-format
+msgid ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator "
+"sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+msgstr ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:991
+#, no-c-format
+msgid ""
+"<literal>TextTranslator</literal> is a stateless bean (with a local business "
+"interface), where the magic happens - of course, we couldn't develop a full "
+"translator, but we gave it a good go!"
+msgstr ""
+"<literal>TextTranslator</literal> é um bean stateless (com uma interface de "
+"negócios local), onde a mágica acontece . Obviamente, não poderíamos "
+"desenvolver um tradutor completo, mas lhe demos um bom caminho!"
+
+#. Tag: para
+#: gettingstarted.xml:997
+#, no-c-format
+msgid ""
+"Finally, there is UI orientated controller, that collects the text from the "
+"user, and dispatches it to the translator. This is a request scoped, named, "
+"stateful session bean, which injects the translator."
+msgstr ""
+"Finalmente, há um controlador orientado à interface, que recolhe o texto do "
+"usuário e despacha para o tradutor. Esse é um escopo de requisição, com o "
+"nome, stateful session bean, que injeta o tradutor."
+
+#. Tag: programlisting
+#: gettingstarted.xml:1003
+#, no-c-format
+msgid ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+msgstr ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+
+#. Tag: para
+#: gettingstarted.xml:1005
+#, no-c-format
+msgid "The bean also has getters and setters for all the fields on the page."
+msgstr "O bean também tem getters e setters para todos os campos da página."
+
+#. Tag: para
+#: gettingstarted.xml:1009
+#, no-c-format
+msgid "As this is a stateful session bean, we have to have a remove method:"
+msgstr ""
+"Como esse é um stateful session bean, temos de ter um método de remoção:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:1013
+#, no-c-format
+msgid ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+msgstr ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+
+#. Tag: para
+#: gettingstarted.xml:1015
+#, no-c-format
+msgid ""
+"The Web Beans manager will call the remove method for you when the bean is "
+"destroyed; in this case at the end of the request."
+msgstr ""
+"O gerenciador do Web Beans chamará o método remover para você quando o bean "
+"for destruído - neste caso, no final da requisição."
+
+#. Tag: para
+#: gettingstarted.xml:1021
+#, no-c-format
+msgid ""
+"That concludes our short tour of the Web Beans examples. For more on Web "
+"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
+"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
+"Development</ulink>."
+msgstr ""
+"Está encerrado o nosso curto passeio pelos exemplos de Web Beans. Para mais "
+"informações sobre a Web Beans, ou para ajudar, por favor visite <ulink url="
+"\"http://www.seamframework.org/WebBeans/Development\">http://www."
+"seamframework.org/WebBeans/Development</ulink>."
+
+#. Tag: para
+#: gettingstarted.xml:1027
+#, no-c-format
+msgid ""
+"We need help in all areas - bug fixing, writing new features, writing "
+"examples and translating this reference guide."
+msgstr ""
+"Precisamos de ajuda em todas as áreas - correção de bugs, escrita de novas "
+"funcionalidades, escrita de exemplos e tradução deste guia de referência."
+
+#~ msgid ""
+#~ "As Web Beans is a new piece of software, you need to update JBoss AS to "
+#~ "run the Web Beans RI. Future versions of JBoss AS will include these "
+#~ "updates, and this step won't be necessary."
+#~ msgstr ""
+#~ "Como o Web Beabs é uma nova peça de software, você de fazer a atualização "
+#~ "do JBoss AS para poder executar a implementação de referência de Web "
+#~ "Beans (Web Beans RI). Futuras versões do JBoss AS incluirão essas "
+#~ "atualizações e esse passo será desnecessário."


Property changes on: doc/trunk/reference/pt-BR/gettingstarted.po
___________________________________________________________________
Name: svn:mergeinfo
   + 

Modified: doc/trunk/reference/pt-BR/producermethods.po
===================================================================
--- doc/trunk/reference/pt-BR/producermethods.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pt-BR/producermethods.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: Introduction_to_Web_Beans VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-04-10 16:06-0300\n"
 "Last-Translator: João Paulo Viragine <joao.viragine at redhat.com>\n"
 "Language-Team: none\n"
@@ -41,29 +41,98 @@
 msgid "According to the spec:"
 msgstr "De acordo com a especificação:"
 
-#. Tag: chapter
-#: producermethods.xml:12
+#. Tag: para
+#: producermethods.xml:16
 #, no-c-format
 msgid ""
-"<blockquote> <para>A Web Beans producer method acts as a source of objects "
-"to be injected, where:</para> <itemizedlist> <listitem> <para>the objects to "
-"be injected are not required to be instances of Web Beans,</para> </"
-"listitem> <listitem> <para>the concrete type of the objects to be injected "
-"may vary at runtime or</para> </listitem> <listitem> <para>the objects "
-"require some custom initialization that is not performed by the Web Bean "
-"constructor</para> </listitem> </itemizedlist> </blockquote> <para>For "
-"example, producer methods let us:</para> <itemizedlist> <listitem> "
-"<para>expose a JPA entity as a Web Bean,</para> </listitem> <listitem> "
-"<para>expose any JDK class as a Web Bean,</para> </listitem> <listitem> "
-"<para>define multiple Web Beans, with different scopes or initialization, "
-"for the same implementation class, or</para> </listitem> <listitem> "
-"<para>vary the implementation of an API type at runtime.</para> </listitem> "
-"</itemizedlist> <para>In particular, producer methods let us use runtime "
-"polymorphism with Web Beans. As we've seen, deployment types are a powerful "
-"solution to the problem of deployment-time polymorphism. But once the system "
-"is deployed, the Web Bean implementation is fixed. A producer method has no "
-"such limitation:</para> <programlisting role=\"JAVA\"><![CDATA"
-"[@SessionScoped\n"
+"A Web Beans producer method acts as a source of objects to be injected, "
+"where:"
+msgstr ""
+"Um método produtor Web Beans funciona como uma fonte de objetos a ser "
+"injetado, quando:"
+
+#. Tag: para
+#: producermethods.xml:20
+#, no-c-format
+msgid ""
+"the objects to be injected are not required to be instances of Web Beans,"
+msgstr ""
+"os objetos a serem injetados não forem obrigados a ser instâncias de Web "
+"Beans,"
+
+#. Tag: para
+#: producermethods.xml:23
+#, no-c-format
+msgid "the concrete type of the objects to be injected may vary at runtime or"
+msgstr ""
+"o tipo concreto dos objetos a serem injetados pode variar em tempo de "
+"execução ou"
+
+#. Tag: para
+#: producermethods.xml:26
+#, no-c-format
+msgid ""
+"the objects require some custom initialization that is not performed by the "
+"Web Bean constructor"
+msgstr ""
+"os objetos requerem alguma inicialização personalizada que não é realizada "
+"pelo construtor do Web Bean"
+
+#. Tag: para
+#: producermethods.xml:33
+#, no-c-format
+msgid "For example, producer methods let us:"
+msgstr "Por exemplo, métodos produtores permitem:"
+
+#. Tag: para
+#: producermethods.xml:37
+#, no-c-format
+msgid "expose a JPA entity as a Web Bean,"
+msgstr "expor uma entidade JPA como um Web Bean,"
+
+#. Tag: para
+#: producermethods.xml:40
+#, no-c-format
+msgid "expose any JDK class as a Web Bean,"
+msgstr "expor qualquer classe do JDK como um Web Bean,"
+
+#. Tag: para
+#: producermethods.xml:43
+#, no-c-format
+msgid ""
+"define multiple Web Beans, with different scopes or initialization, for the "
+"same implementation class, or"
+msgstr ""
+"definir vários Web Beans, com diferentes escopos ou inicialização, para a "
+"mesma implementação da classe, ou"
+
+#. Tag: para
+#: producermethods.xml:47
+#, no-c-format
+msgid "vary the implementation of an API type at runtime."
+msgstr "variar a implementação de um tipo da API em tempo de execução."
+
+#. Tag: para
+#: producermethods.xml:51
+#, no-c-format
+msgid ""
+"In particular, producer methods let us use runtime polymorphism with Web "
+"Beans. As we've seen, deployment types are a powerful solution to the "
+"problem of deployment-time polymorphism. But once the system is deployed, "
+"the Web Bean implementation is fixed. A producer method has no such "
+"limitation:"
+msgstr ""
+"Em particular, métodos produtores permite-nos utilizar o polimorfismo em "
+"tempo de execução com Web Beans. Como vimos, os tipo de implantação são uma "
+"poderosa solução para o problema do polimorfismo em tempo de implantação. "
+"Mas, uma vez que o sistema está implantado, a implementação do Web Bean é "
+"fixada. Um método produtor não tem essa limitação:"
+
+#. Tag: programlisting
+#: producermethods.xml:56
+#, no-c-format
+msgid ""
+"<![CDATA[@SessionScoped\n"
 "public class Preferences {\n"
 "    \n"
 "    private PaymentStrategyType paymentStrategy;\n"
@@ -80,15 +149,59 @@
 "        } \n"
 "    }\n"
 "    \n"
-"}]]></programlisting> <para>Consider an injection point:</para> "
-"<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
-"paymentStrat;]]></programlisting> <para>This injection point has the same "
-"type and binding annotations as the producer method, so it resolves to the "
-"producer method using the usual Web Beans injection rules. The producer "
-"method will be called by the Web Bean manager to obtain an instance to "
-"service this injection point.</para>."
+"}]]>"
 msgstr ""
+"<![CDATA[@SessionScoped\n"
+"public class Preferences {\n"
+"    \n"
+"    private PaymentStrategyType paymentStrategy;\n"
+"    \n"
+"    ...\n"
+"    \n"
+"    @Produces @Preferred \n"
+"    public PaymentStrategy getPaymentStrategy() {\n"
+"        switch (paymentStrategy) {\n"
+"            case CREDIT_CARD: return new CreditCardPaymentStrategy();\n"
+"            case CHEQUE: return new ChequePaymentStrategy();\n"
+"            case PAYPAL: return new PayPalPaymentStrategy();\n"
+"            default: return null;\n"
+"        } \n"
+"    }\n"
+"    \n"
+"}]]>"
 
+#. Tag: para
+#: producermethods.xml:58
+#, no-c-format
+msgid "Consider an injection point:"
+msgstr "Considere o ponto de injeção:"
+
+#. Tag: programlisting
+#: producermethods.xml:60
+#, no-c-format
+msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
+msgstr "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
+
+#. Tag: para
+#: producermethods.xml:62
+#, no-c-format
+msgid ""
+"This injection point has the same type and binding annotations as the "
+"producer method, so it resolves to the producer method using the usual Web "
+"Beans injection rules. The producer method will be called by the Web Bean "
+"manager to obtain an instance to service this injection point."
+msgstr ""
+"Esse ponto de injeção tem o mesmo tipo e anotações de binding que o método "
+"produtor. Assim, resolve para o método produtor utilizando as regras de "
+"injeção da Web Beans. O método produtor será invocado pelo gerenciador do "
+"Bean Web para obter uma instância para servir esse ponto de injeção."
+
+#. Tag: chapter
+#: producermethods.xml:65
+#, no-c-format
+msgid "<chapter>.</chapter>"
+msgstr "<chapter>.</chapter>"
+
 #. Tag: title
 #: producermethods.xml:68
 #, no-c-format
@@ -315,121 +428,3 @@
 "método produtor, retornada pelo método produtor e, finalmente, associada ao "
 "contexto de sessão. O objeto dependente não será destruído até que o objeto "
 "<literal>Preferences</literal> seja destruído, no término da sessão."
-
-#~ msgid ""
-#~ "A Web Beans producer method acts as a source of objects to be injected, "
-#~ "where:"
-#~ msgstr ""
-#~ "Um método produtor Web Beans funciona como uma fonte de objetos a ser "
-#~ "injetado, quando:"
-
-#~ msgid ""
-#~ "the objects to be injected are not required to be instances of Web Beans,"
-#~ msgstr ""
-#~ "os objetos a serem injetados não forem obrigados a ser instâncias de Web "
-#~ "Beans,"
-
-#~ msgid ""
-#~ "the concrete type of the objects to be injected may vary at runtime or"
-#~ msgstr ""
-#~ "o tipo concreto dos objetos a serem injetados pode variar em tempo de "
-#~ "execução ou"
-
-#~ msgid ""
-#~ "the objects require some custom initialization that is not performed by "
-#~ "the Web Bean constructor"
-#~ msgstr ""
-#~ "os objetos requerem alguma inicialização personalizada que não é "
-#~ "realizada pelo construtor do Web Bean"
-
-#~ msgid "For example, producer methods let us:"
-#~ msgstr "Por exemplo, métodos produtores permitem:"
-
-#~ msgid "expose a JPA entity as a Web Bean,"
-#~ msgstr "expor uma entidade JPA como um Web Bean,"
-
-#~ msgid "expose any JDK class as a Web Bean,"
-#~ msgstr "expor qualquer classe do JDK como um Web Bean,"
-
-#~ msgid ""
-#~ "define multiple Web Beans, with different scopes or initialization, for "
-#~ "the same implementation class, or"
-#~ msgstr ""
-#~ "definir vários Web Beans, com diferentes escopos ou inicialização, para a "
-#~ "mesma implementação da classe, ou"
-
-#~ msgid "vary the implementation of an API type at runtime."
-#~ msgstr "variar a implementação de um tipo da API em tempo de execução."
-
-#~ msgid ""
-#~ "In particular, producer methods let us use runtime polymorphism with Web "
-#~ "Beans. As we've seen, deployment types are a powerful solution to the "
-#~ "problem of deployment-time polymorphism. But once the system is deployed, "
-#~ "the Web Bean implementation is fixed. A producer method has no such "
-#~ "limitation:"
-#~ msgstr ""
-#~ "Em particular, métodos produtores permite-nos utilizar o polimorfismo em "
-#~ "tempo de execução com Web Beans. Como vimos, os tipo de implantação são "
-#~ "uma poderosa solução para o problema do polimorfismo em tempo de "
-#~ "implantação. Mas, uma vez que o sistema está implantado, a implementação "
-#~ "do Web Bean é fixada. Um método produtor não tem essa limitação:"
-
-#~ msgid ""
-#~ "<![CDATA[@SessionScoped\n"
-#~ "public class Preferences {\n"
-#~ "    \n"
-#~ "    private PaymentStrategyType paymentStrategy;\n"
-#~ "    \n"
-#~ "    ...\n"
-#~ "    \n"
-#~ "    @Produces @Preferred \n"
-#~ "    public PaymentStrategy getPaymentStrategy() {\n"
-#~ "        switch (paymentStrategy) {\n"
-#~ "            case CREDIT_CARD: return new CreditCardPaymentStrategy();\n"
-#~ "            case CHEQUE: return new ChequePaymentStrategy();\n"
-#~ "            case PAYPAL: return new PayPalPaymentStrategy();\n"
-#~ "            default: return null;\n"
-#~ "        } \n"
-#~ "    }\n"
-#~ "    \n"
-#~ "}]]>"
-#~ msgstr ""
-#~ "<![CDATA[@SessionScoped\n"
-#~ "public class Preferences {\n"
-#~ "    \n"
-#~ "    private PaymentStrategyType paymentStrategy;\n"
-#~ "    \n"
-#~ "    ...\n"
-#~ "    \n"
-#~ "    @Produces @Preferred \n"
-#~ "    public PaymentStrategy getPaymentStrategy() {\n"
-#~ "        switch (paymentStrategy) {\n"
-#~ "            case CREDIT_CARD: return new CreditCardPaymentStrategy();\n"
-#~ "            case CHEQUE: return new ChequePaymentStrategy();\n"
-#~ "            case PAYPAL: return new PayPalPaymentStrategy();\n"
-#~ "            default: return null;\n"
-#~ "        } \n"
-#~ "    }\n"
-#~ "    \n"
-#~ "}]]>"
-
-#~ msgid "Consider an injection point:"
-#~ msgstr "Considere o ponto de injeção:"
-
-#~ msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
-#~ msgstr "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
-
-#~ msgid ""
-#~ "This injection point has the same type and binding annotations as the "
-#~ "producer method, so it resolves to the producer method using the usual "
-#~ "Web Beans injection rules. The producer method will be called by the Web "
-#~ "Bean manager to obtain an instance to service this injection point."
-#~ msgstr ""
-#~ "Esse ponto de injeção tem o mesmo tipo e anotações de binding que o "
-#~ "método produtor. Assim, resolve para o método produtor utilizando as "
-#~ "regras de injeção da Web Beans. O método produtor será invocado pelo "
-#~ "gerenciador do Bean Web para obter uma instância para servir esse ponto "
-#~ "de injeção."
-
-#~ msgid "<chapter>.</chapter>"
-#~ msgstr "<chapter>.</chapter>"

Modified: doc/trunk/reference/pt-BR/ri-spi.po
===================================================================
--- doc/trunk/reference/pt-BR/ri-spi.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pt-BR/ri-spi.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: Introduction_to_Web_Beans VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-04-06 08:33-0300\n"
 "Last-Translator: João Paulo Viragine <joao.viragine at redhat.com>\n"
 "Language-Team: none\n"
@@ -15,83 +15,72 @@
 
 #. Tag: title
 #: ri-spi.xml:4
-#, no-c-format
-msgid "Integrating the Web Beans RI into other environments"
+#, fuzzy, no-c-format
+msgid "Integrating Web Beans into other environments"
 msgstr "Integrando a Web Beans RI em outros ambientes"
 
 #. Tag: para
 #: ri-spi.xml:6
 #, no-c-format
 msgid ""
-"Currently the Web Beans RI only runs in JBoss AS 5; integrating the RI into "
-"other EE environments (for example another application server like "
-"Glassfish), into a servlet container (like Tomcat), or with an Embedded "
-"EJB3.1 implementation is fairly easy. In this Appendix we will briefly "
-"discuss the steps needed."
+"Currently Web Beans only runs in JBoss AS 5; integrating the RI into other "
+"EE environments (for example another application server like Glassfish), "
+"into a servlet container (like Tomcat), or with an Embedded EJB3.1 "
+"implementation is fairly easy. In this Appendix we will briefly discuss the "
+"steps needed."
 msgstr ""
 
-#. Tag: para
+#. Tag: title
 #: ri-spi.xml:15
-#, no-c-format
-msgid ""
-"It should be possible to run Web Beans in an SE environment, but you'll to "
-"do more work, adding your own contexts and lifecycle. The Web Beans RI "
-"currently doesn't expose lifecycle extension points, so you would have to "
-"code directly against Web Beans RI classes."
-msgstr ""
-
-#. Tag: title
-#: ri-spi.xml:24
-#, no-c-format
-msgid "The Web Beans RI SPI"
+#, fuzzy, no-c-format
+msgid "The Web Beans SPI"
 msgstr "A SPI da Web Beans RI (The Web Beans RI SPI)"
 
 #. Tag: para
-#: ri-spi.xml:26
+#: ri-spi.xml:17
 #, no-c-format
 msgid ""
-"The Web Beans SPI is located in <literal>webbeans-spi</literal> module, and "
-"packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, if "
-"you need to override the default behavior, others are required."
+"The Web Beans SPI is located in the <literal>webbeans-spi</literal> module, "
+"and packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, "
+"if you need to override the default behavior, others are required."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:33
+#: ri-spi.xml:24
 #, no-c-format
 msgid ""
 "All interfaces in the SPI support the decorator pattern and provide a "
-"<literal>Forwarding</literal> class."
+"<literal>Forwarding</literal> class located in the <literal>helpers</"
+"literal> sub package. Additional, commonly used, utility classes, and "
+"standard implementations are also located in the <literal>helpers</literal> "
+"sub package."
 msgstr ""
-"Todas as interfaces na SPI suportam o padrão decorator e provêm a classe "
-"<literal>Forwarding</literal>."
 
 #. Tag: title
-#: ri-spi.xml:39
+#: ri-spi.xml:33
 #, no-c-format
 msgid "Web Bean Discovery"
 msgstr "Descoberta de Web Bean (Web Bean Discovery)"
 
 #. Tag: programlisting
-#: ri-spi.xml:41
-#, no-c-format
+#: ri-spi.xml:35
+#, fuzzy, no-c-format
 msgid ""
-"<![CDATA[public interface WebBeanDiscovery {\n"
-"   /**\n"
-"    * Gets list of all classes in classpath archives with web-beans.xml "
-"files\n"
+"<![CDATA[/**\n"
+"    * Gets list of all classes in classpath archives with META-INF/beans.xml "
+"(or\n"
+"    * for WARs WEB-INF/beans.xml) files\n"
 "    * \n"
 "    * @return An iterable over the classes \n"
 "    */\n"
 "   public Iterable<Class<?>> discoverWebBeanClasses();\n"
 "   \n"
 "   /**\n"
-"    * Gets a list of all web-beans.xml files in the app classpath\n"
+"    * Gets a list of all deployment descriptors in the app classpath\n"
 "    * \n"
-"    * @return An iterable over the web-beans.xml files \n"
+"    * @return An iterable over the beans.xml files \n"
 "    */\n"
-"   public Iterable<URL> discoverWebBeansXml();\n"
-"   \n"
-"}]]>"
+"   public Iterable<URL> discoverWebBeansXml();]]>"
 msgstr ""
 "<![CDATA[public interface WebBeanDiscovery {\n"
 "   /**\n"
@@ -112,59 +101,44 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:43
+#: ri-spi.xml:37
 #, no-c-format
 msgid ""
-"The discovery of Web Bean classes and <literal>web-bean.xml</literal> files "
-"is self-explanatory (the algorithm is described in Section 11.1 of the JSR-"
-"299 specification, and isn't repeated here)."
+"The discovery of Web Bean classes and <literal>beans.xml</literal> files is "
+"self-explanatory (the algorithm is described in Section 11.1 of the JSR-299 "
+"specification, and isn't repeated here)."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:52
+#: ri-spi.xml:46
 #, no-c-format
 msgid "EJB services"
 msgstr "Serviços EJB"
 
 #. Tag: para
-#: ri-spi.xml:54
+#: ri-spi.xml:49
 #, no-c-format
 msgid ""
-"The Web Beans RI also delegates EJB3 bean discovery to the container so that "
-"it doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
-"literal>. For each EJB in the application an EJBDescriptor should be "
-"discovered:"
+"Web Beans will run without an EJB container; in this case you don't need to "
+"implement the EJB SPI."
 msgstr ""
 
-#. Tag: programlisting
-#: ri-spi.xml:61
+#. Tag: para
+#: ri-spi.xml:55
 #, no-c-format
 msgid ""
-"<![CDATA[public interface EjbServices\n"
-"{\n"
-"   \n"
-"   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
+"Web Beans also delegates EJB3 bean discovery to the container so that it "
+"doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
+"literal>. For each EJB in the application an EJBDescriptor should be "
+"discovered:"
 msgstr ""
-"<![CDATA[public interface EjbServices\n"
-"{\n"
-"   \n"
-"   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
 
 #. Tag: programlisting
-#: ri-spi.xml:63
-#, no-c-format
+#: ri-spi.xml:62
+#, fuzzy, no-c-format
 msgid ""
-"<![CDATA[public interface EjbDescriptor<T> {\n"
+"<![CDATA[public interface EjbDescriptor<T>\n"
+"{\n"
 "   \n"
 "   /**\n"
 "    * Gets the EJB type\n"
@@ -229,10 +203,7 @@
 "    * \n"
 "    * @return The name\n"
 "    */\n"
-"   public String getEjbName();\n"
-"   \n"
-"   \n"
-"}]]>"
+"   public String getEjbName();]]>"
 msgstr ""
 "<![CDATA[public interface EjbDescriptor<T> {\n"
 "   \n"
@@ -305,7 +276,7 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:65
+#: ri-spi.xml:64
 #, no-c-format
 msgid ""
 "The <literal>EjbDescriptor</literal> is fairly self-explanatory, and should "
@@ -317,17 +288,32 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:74
+#: ri-spi.xml:73
 #, no-c-format
 msgid ""
-"The resolution of <literal>@EJB</literal> and <literal>@Resource</literal> "
-"is delegated to the container. You must provide an implementation of "
-"<literal>org.jboss.webbeans.ejb.spi.EjbServices</literal> which provides "
-"these operations. Web Beans passes in the <literal>javax.inject.manager."
-"InjectionPoint</literal> the resolution is for, as well as the "
-"<literal>NamingContext</literal> in use for each resolution request."
+"The resolution of <literal>@EJB</literal> (for injection into simple beans), "
+"the resolution of local EJBs (for backing session beans) and remote EJBs "
+"(for injection as a Java EE resource) is delegated to the container. You "
+"must provide an implementation of <literal>org.jboss.webbeans.ejb.spi."
+"EjbServices</literal> which provides these operations. For resolving the "
+"<literal>@EJB</literal> injection point, Web Beans will provide the "
+"<literal>InjectionPoint</literal>; for resolving local EJBs, the "
+"<literal>EjbDescriptor</literal> will be provided, and for remote EJBs the "
+"<literal>jndiName</literal>, <literal>mappedName</literal>, or "
+"<literal>ejbLink</literal> will be provided."
 msgstr ""
 
+#. Tag: para
+#: ri-spi.xml:87
+#, no-c-format
+msgid ""
+"When resolving local EJBs (used to back session beans) a wrapper "
+"(<literal>SessionObjectReference</literal>) around the EJB reference is "
+"returned. This wrapper allows Web Beans to request a reference that "
+"implements the given business interface, and, in the case of SFSBs, request "
+"the removal of the EJB from the container."
+msgstr ""
+
 #. Tag: title
 #: ri-spi.xml:98
 #, no-c-format
@@ -338,41 +324,62 @@
 #: ri-spi.xml:100
 #, no-c-format
 msgid ""
-"Just as resolution of <literal>@EJB</literal> is delegated to the container, "
-"so is resolution of <literal>@PersistenceContext</literal>."
+"Just as EJB resolution is delegated to the container, resolution of "
+"<literal>@PersistenceContext</literal> for injection into simple beans (with "
+"the <literal>InjectionPoint</literal> provided), and resolution of "
+"persistence contexts and persistence units (with the <literal>unitName</"
+"literal> provided) for injection as a Java EE resource is delegated to the "
+"container."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:106
+#: ri-spi.xml:109
 #, no-c-format
 msgid ""
-"OPEN ISSUE: Web Beans also requires the container to provide a list of "
-"entities in the deployment, so that they aren't discovered as simple beans."
+"To allow JPA integration, the <literal>JpaServices</literal> interface "
+"should be implemented."
 msgstr ""
-"Questão aberta: Web Beans também exige que o container forneça uma lista de "
-"entidades na implantação, de forma que eles não são descobertos como web "
-"beans simples."
 
-#. Tag: title
+#. Tag: para
 #: ri-spi.xml:114
 #, no-c-format
+msgid ""
+"Web Beans also needs to know what entities are in a deployment (so that they "
+"aren't managed by Web Beans). An implementation that detects entities "
+"through <literal>@Entity</literal> and <literal>orm.xml</literal> is "
+"provided by default. If you want to provide support for a entities defined "
+"by a JPA provider (such as Hibernate's <literal>.hbm.xml</literal> you can "
+"wrap or replace the default implementation."
+msgstr ""
+
+#. Tag: programlisting
+#: ri-spi.xml:124
+#, no-c-format
+msgid ""
+"<![CDATA[EntityDiscovery delegate = bootstrap.getServices().get"
+"(EntityDiscovery.class);]]>"
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:129
+#, no-c-format
 msgid "Transaction Services"
 msgstr "Servicos de transação"
 
 #. Tag: para
-#: ri-spi.xml:116
-#, no-c-format
+#: ri-spi.xml:131
+#, fuzzy, no-c-format
 msgid ""
-"The Web Beans RI must delegate JTA activities to the container. The SPI "
-"provides a couple hooks to easily achieve this with the "
-"<literal>TransactionServices</literal> interface."
+"Web Beans must delegate JTA activities to the container. The SPI provides a "
+"couple hooks to easily achieve this with the <literal>TransactionServices</"
+"literal> interface."
 msgstr ""
 "A Web Beans RI deve delegar as atividades JTA para o container. A SPI "
 "fornece vários ganchos para facilmente conseguir isso com a interface "
 "<literal>TransactionServices</literal>."
 
 #. Tag: programlisting
-#: ri-spi.xml:122
+#: ri-spi.xml:137
 #, no-c-format
 msgid ""
 "<![CDATA[public interface TransactionServices\n"
@@ -438,7 +445,7 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:124
+#: ri-spi.xml:139
 #, no-c-format
 msgid ""
 "The enumeration <literal>Status</literal> is a convenience for implementors "
@@ -448,7 +455,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:131
+#: ri-spi.xml:147
 #, no-c-format
 msgid ""
 "Any <literal>javax.transaction.Synchronization</literal> implementation may "
@@ -458,7 +465,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:138
+#: ri-spi.xml:155
 #, no-c-format
 msgid ""
 "To make it easier to determine whether or not a transaction is currently "
@@ -468,30 +475,99 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:147
+#: ri-spi.xml:165
+#, fuzzy, no-c-format
+msgid "JMS services"
+msgstr "Serviços EJB"
+
+#. Tag: para
+#: ri-spi.xml:167
 #, no-c-format
+msgid ""
+"A number of JMS operations are not container specific, and so should be "
+"provided via the SPI <literal>JmsServices</literal>. JMS does not specify "
+"how to obtain a <literal>ConnectionFactory</literal> so the SPI provides a "
+"method which should be used to look up a factory. Web Beans also delegates "
+"<literal>Destination</literal> lookup to the container via the SPI."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:178
+#, fuzzy, no-c-format
+msgid "Resource Services"
+msgstr "Carregando recursos"
+
+#. Tag: para
+#: ri-spi.xml:180
+#, no-c-format
+msgid ""
+"The resolution of <literal>@Resource</literal> (for injection into simple "
+"beans) and the resolution of resources (for injection as a Java EE resource) "
+"is delegated to the container. You must provide an implementation of "
+"<literal>ResourceServices</literal> which provides these operations. For "
+"resolving the <literal>@Resource</literal> injection, Web Beans will provide "
+"the <literal>InjectionPoint</literal>; and for Java EE resources, the "
+"<literal>jndiName</literal> or <literal>mappedName</literal> will be "
+"provided."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:194
+#, fuzzy, no-c-format
+msgid "Web Services"
+msgstr "Serviços EJB"
+
+#. Tag: para
+#: ri-spi.xml:196
+#, no-c-format
+msgid ""
+"The resolution of web service references (for injection as a Java EE "
+"resource) is delegated to the container. You must provide an implementation "
+"of <literal>WebServices</literal> whichprovides this operation. For "
+"resolving the Java EE resource, the <literal>jndiName</literal> or "
+"<literal>mappedName</literal> will be provided."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:207
+#, no-c-format
+msgid "The bean store"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:209
+#, no-c-format
+msgid ""
+"Web Beans uses a map like structure to store bean instances - <literal>org."
+"jboss.webbeans.context.api.BeanStore</literal>. You may find <literal>org."
+"jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore</literal> "
+"useful."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:219
+#, no-c-format
 msgid "The application context"
 msgstr "O contexto de aplicação"
 
 #. Tag: para
-#: ri-spi.xml:149
+#: ri-spi.xml:221
 #, no-c-format
 msgid ""
 "Web Beans expects the Application Server or other container to provide the "
 "storage for each application's context. The <literal>org.jboss.webbeans."
 "context.api.BeanStore</literal> should be implemented to provide an "
-"application scoped storage. You may find <literal>org.jboss.webbeans.context."
-"api.helpers.ConcurrentHashMapBeanStore</literal> useful."
+"application scoped storage."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:162
+#: ri-spi.xml:231
 #, no-c-format
 msgid "Bootstrap and shutdown"
 msgstr "Bootstrap e shutdown"
 
 #. Tag: para
-#: ri-spi.xml:163
+#: ri-spi.xml:232
 #, no-c-format
 msgid ""
 "The <literal>org.jboss.webbeans.bootstrap.api.Bootstrap</literal> interface "
@@ -502,7 +578,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:172
+#: ri-spi.xml:241
 #, no-c-format
 msgid ""
 "The bootstrap is split into phases, bootstrap initialization and boot and "
@@ -513,20 +589,32 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:180
+#: ri-spi.xml:249
 #, no-c-format
 msgid ""
-"The bootstrap supports multiple environments. Different environments require "
-"different services to be present (for example servlet doesn't require "
-"transaction, EJB or JPA services). By default an EE environment is assumed, "
-"but you can adjust the environment by calling <literal>bootstrap."
-"setEnvironment()</literal>."
+"The bootstrap supports multiple environments. An environment is defined by "
+"an implementation of the <literal>Environment</literal> interface. A number "
+"of standard envrionments are built in as the enumeration "
+"<literal>Environments</literal>. Different environments require different "
+"services to be present (for example servlet doesn't require transaction, EJB "
+"or JPA services). By default an EE environment is assumed, but you can "
+"adjust the environment by calling <literal>bootstrap.setEnvironment()</"
+"literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:188
+#: ri-spi.xml:260
 #, no-c-format
 msgid ""
+"Web Beans uses a generic-typed service registry to allow services to be "
+"registered. All services implement the <literal>Service</literal> interface. "
+"The service registry allows services to be added and retrieved."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:267
+#, no-c-format
+msgid ""
 "To initialize the bootstrap you call <literal>Bootstrap.initialize()</"
 "literal>. Before calling <literal>initialize()</literal>, you must register "
 "any services required by your environment. You can do this by calling "
@@ -535,7 +623,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:197
+#: ri-spi.xml:276
 #, no-c-format
 msgid ""
 "Having called <literal>initialize()</literal>, the <literal>Manager</"
@@ -544,103 +632,62 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:203
+#: ri-spi.xml:282
 #, no-c-format
 msgid "To boot the container you call <literal>Bootstrap.boot()</literal>."
 msgstr ""
 "Para iniciar o container é chamado <literal>Bootstrap.boot()</literal>."
 
 #. Tag: para
-#: ri-spi.xml:207
+#: ri-spi.xml:286
 #, no-c-format
 msgid ""
-"To shutdown the container you call <literal>Bootstrap.shutdown()</literal>. "
-"This allows the container to perform any cleanup operations needed."
+"To shutdown the container you call <literal>Bootstrap.shutdown()</literal> "
+"or <literal>webBeansManager.shutdown()</literal>. This allows the container "
+"to perform any cleanup operations needed."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:216
+#: ri-spi.xml:296
 #, no-c-format
 msgid "JNDI"
 msgstr "JNDI"
 
 #. Tag: para
-#: ri-spi.xml:218
+#: ri-spi.xml:298
 #, no-c-format
 msgid ""
-"The Web Beans RI implements JNDI binding and lookup according to standards, "
-"however you may want to alter the binding and lookup (for example in an "
-"environment where JNDI isn't available). To do this, implement <literal>org."
-"jboss.webbeans.resources.spi.NamingContext</literal>:"
+"Web Beans delegates all JNDI operations to the container through the SPI."
 msgstr ""
 
-#. Tag: programlisting
-#: ri-spi.xml:226
+#. Tag: para
+#: ri-spi.xml:304
 #, no-c-format
 msgid ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
+"A number of the SPI interface require JNDI lookup, and the class "
+"<literal>AbstractResourceServices</literal> provides JNDI/Java EE spec "
+"compliant lookup methods."
 msgstr ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
 
 #. Tag: title
-#: ri-spi.xml:231
+#: ri-spi.xml:315
 #, no-c-format
 msgid "Resource loading"
 msgstr "Carregando recursos"
 
 #. Tag: para
-#: ri-spi.xml:233
+#: ri-spi.xml:317
 #, no-c-format
 msgid ""
-"The Web Beans RI needs to load classes and resources from the classpath at "
-"various times. By default, they are loaded from the same classloader that "
-"was used to load the RI, however this may not be correct for some "
-"environments. If this is case, you can implement <literal>org.jboss.webbeans."
-"spi.ResourceLoader</literal>:"
+"Web Beans needs to load classes and resources from the classpath at various "
+"times. By default, they are loaded from the Thread Context ClassLoader if "
+"available, if not the same classloader that was used to load Web Beans, "
+"however this may not be correct for some environments. If this is case, you "
+"can implement <literal>org.jboss.webbeans.spi.ResourceLoader</literal>:"
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:241
+#: ri-spi.xml:326
 #, no-c-format
 msgid ""
 "<![CDATA[\n"
@@ -704,13 +751,13 @@
 "         ]]>"
 
 #. Tag: title
-#: ri-spi.xml:246
+#: ri-spi.xml:331
 #, no-c-format
 msgid "Servlet injection"
 msgstr "Servlet injection"
 
 #. Tag: para
-#: ri-spi.xml:248
+#: ri-spi.xml:333
 #, no-c-format
 msgid ""
 "Java EE / Servlet does not provide any hooks which can be used to provide "
@@ -719,7 +766,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:254
+#: ri-spi.xml:339
 #, no-c-format
 msgid ""
 "To be compliant with JSR-299, the container should request servlet injection "
@@ -728,7 +775,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:260
+#: ri-spi.xml:345
 #, no-c-format
 msgid ""
 "To perform injection on a servlet call <literal>WebBeansManager.injectServlet"
@@ -737,13 +784,13 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:271
+#: ri-spi.xml:356
 #, no-c-format
 msgid "The contract with the container"
 msgstr "O contrato com o container"
 
 #. Tag: para
-#: ri-spi.xml:273
+#: ri-spi.xml:358
 #, no-c-format
 msgid ""
 "There are a number of requirements that the Web Beans RI places on the "
@@ -751,13 +798,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:281
+#: ri-spi.xml:366
 #, no-c-format
 msgid "Classloader isolation"
 msgstr "Isolamento de Classloader (Classloader isolation)"
 
 #. Tag: para
-#: ri-spi.xml:285
+#: ri-spi.xml:370
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans RI into an environment that supports "
@@ -767,13 +814,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:294
+#: ri-spi.xml:379
 #, no-c-format
-msgid "Servlet listener and filters"
-msgstr "Listener e filtros de servlets"
+msgid "Servlet"
+msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:298
+#: ri-spi.xml:383
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a Servlet environment you must "
@@ -782,25 +829,48 @@
 "each Web Beans application which uses Servlet."
 msgstr ""
 
+#. Tag: term
+#: ri-spi.xml:394
+#, no-c-format
+msgid "<term>JSF</term>"
+msgstr ""
+
 #. Tag: para
-#: ri-spi.xml:307
+#: ri-spi.xml:399
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a JSF environment you must "
+"register <literal>org.jboss.webbeans.jsf.WebBeansPhaseListener</literal> as "
+"a phase listener, and <literal>org.jboss.webbeans.el.WebBeansELREsolver</"
+"literal> as an EL resolver, either automatically, or through user "
+"configuration, for each Web Beans application which uses JSF."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:410
+#, no-c-format
+msgid ""
+"If you are integrating the Web Beans into a JSF environment you must "
 "register <literal>org.jboss.webbeans.servlet.ConversationPropagationFilter</"
 "literal> as a Servlet listener, either automatically, or through user "
 "configuration, for each Web Beans application which uses JSF. This filter "
 "can be registered for all Servlet deployment safely."
 msgstr ""
 
+#. Tag: para
+#: ri-spi.xml:421
+#, no-c-format
+msgid "Web Beans only supports JSF 1.2 and above."
+msgstr ""
+
 #. Tag: term
-#: ri-spi.xml:319
+#: ri-spi.xml:428
 #, no-c-format
 msgid "Session Bean Interceptor"
 msgstr "Interceptador de Session Bean (Session Bean Interceptor)"
 
 #. Tag: para
-#: ri-spi.xml:323
+#: ri-spi.xml:432
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an EJB environment you must "
@@ -811,7 +881,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:333
+#: ri-spi.xml:442
 #, no-c-format
 msgid ""
 "You must register the <literal>SessionBeanInterceptor</literal> as the inner "
@@ -819,13 +889,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:341
+#: ri-spi.xml:450
 #, no-c-format
 msgid "The <literal>webbeans-core.jar</literal>"
 msgstr "A <literal>webbeans-core.jar</literal>"
 
 #. Tag: para
-#: ri-spi.xml:345
+#: ri-spi.xml:454
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an environment that supports "
@@ -834,6 +904,108 @@
 "from a shared classloader."
 msgstr ""
 
+#. Tag: term
+#: ri-spi.xml:464
+#, no-c-format
+msgid "Binding the manager in JNDI"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:468
+#, no-c-format
+msgid ""
+"You should bind a <literal>Reference</literal> to the Manager "
+"<literal>ObjectFactory</literal> into JNDI at <literal>java:app/Manager</"
+"literal>. The type should be <literal>javax.inject.manager.Manager</literal> "
+"and the factory class is <literal>org.jboss.webbeans.resources."
+"ManagerObjectFactory</literal>"
+msgstr ""
+
+#~ msgid ""
+#~ "All interfaces in the SPI support the decorator pattern and provide a "
+#~ "<literal>Forwarding</literal> class."
+#~ msgstr ""
+#~ "Todas as interfaces na SPI suportam o padrão decorator e provêm a classe "
+#~ "<literal>Forwarding</literal>."
+
+#~ msgid ""
+#~ "<![CDATA[public interface EjbServices\n"
+#~ "{\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Gets a descriptor for each EJB in the application\n"
+#~ "    * \n"
+#~ "    * @return The bean class to descriptor map \n"
+#~ "    */\n"
+#~ "   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
+#~ msgstr ""
+#~ "<![CDATA[public interface EjbServices\n"
+#~ "{\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Gets a descriptor for each EJB in the application\n"
+#~ "    * \n"
+#~ "    * @return The bean class to descriptor map \n"
+#~ "    */\n"
+#~ "   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
+
+#~ msgid ""
+#~ "OPEN ISSUE: Web Beans also requires the container to provide a list of "
+#~ "entities in the deployment, so that they aren't discovered as simple "
+#~ "beans."
+#~ msgstr ""
+#~ "Questão aberta: Web Beans também exige que o container forneça uma lista "
+#~ "de entidades na implantação, de forma que eles não são descobertos como "
+#~ "web beans simples."
+
+#~ msgid ""
+#~ "<![CDATA[public interface NamingContext extends Serializable {\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Typed JNDI lookup\n"
+#~ "    * \n"
+#~ "    * @param <T> The type\n"
+#~ "    * @param name The JNDI name\n"
+#~ "    * @param expectedType The expected type\n"
+#~ "    * @return The object\n"
+#~ "    */\n"
+#~ "   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
+#~ "\n"
+#~ "   /**\n"
+#~ "    * Binds an item to JNDI\n"
+#~ "    * \n"
+#~ "    * @param name The key to bind under\n"
+#~ "    * @param value The item to bind\n"
+#~ "    */\n"
+#~ "   public void bind(String name, Object value);\n"
+#~ "   \n"
+#~ "}]]>"
+#~ msgstr ""
+#~ "<![CDATA[public interface NamingContext extends Serializable {\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Typed JNDI lookup\n"
+#~ "    * \n"
+#~ "    * @param <T> The type\n"
+#~ "    * @param name The JNDI name\n"
+#~ "    * @param expectedType The expected type\n"
+#~ "    * @return The object\n"
+#~ "    */\n"
+#~ "   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
+#~ "\n"
+#~ "   /**\n"
+#~ "    * Binds an item to JNDI\n"
+#~ "    * \n"
+#~ "    * @param name The key to bind under\n"
+#~ "    * @param value The item to bind\n"
+#~ "    */\n"
+#~ "   public void bind(String name, Object value);\n"
+#~ "   \n"
+#~ "}]]>"
+
+#~ msgid "Servlet listener and filters"
+#~ msgstr "Listener e filtros de servlets"
+
 #~ msgid "EJB Discovery"
 #~ msgstr "Descoberta de EJB (EJB Discovery)"
 

Deleted: doc/trunk/reference/pt-BR/ri.po
===================================================================
--- doc/trunk/reference/pt-BR/ri.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pt-BR/ri.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -1,1648 +0,0 @@
-# Language pt-BR translations for Introduction_to_Web_Beans package.
-# Automatically generated, 2009.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Introduction_to_Web_Beans VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
-"PO-Revision-Date: 2009-04-10 16:32-0300\n"
-"Last-Translator: João Paulo Viragine <joao.viragine at redhat.com>\n"
-"Language-Team: none\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Tag: title
-#: ri.xml:4
-#, no-c-format
-msgid "Web Beans, the Reference Implementation of JSR-299"
-msgstr "Web Beans, a Implementação de Referência da JSR-299"
-
-#. Tag: para
-#: ri.xml:6
-#, no-c-format
-msgid ""
-"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
-"WebBeans\">the Seam project</ulink>. You can download the latest developer "
-"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
-"\">the downloads page</ulink>."
-msgstr ""
-"A Web Beans está sendo desenvolvida no <ulink url=\"http://seamframework.org/"
-"WebBeans\">projeto Seam</ulink>. Você pode baixar a última versão da Web "
-"Beans na <ulink url=\"http://seamframework.org/Download\">página de "
-"downloads</ulink>."
-
-#. Tag: para
-#: ri.xml:13
-#, no-c-format
-msgid ""
-"Web Beans comes with a two deployable example applications: "
-"<literal>webbeans-numberguess</literal>, a war example, containing only "
-"simple beans, and <literal>webbeans-translator</literal> an ear example, "
-"containing enterprise beans. There are also two variations on the "
-"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
-"and the jsf2 example, which you can use if you are running JSF2. To run the "
-"examples you'll need the following:"
-msgstr ""
-"A Web Beans vem com duas aplicações de exemplo: <literal>webbeans-"
-"numberguess</literal> - um war, contendo apenas beans simples (simple "
-"beans)  e <literal>webbeans-translator</literal>, e um ear, contendo beans "
-"corporativos (enterprise beans) -. Existem ,ainda, duas variações do exemplo "
-"numberguess: o exemplo tomcat (adequado para a implantação no Tomcat) e o "
-"exemplo jsf2, que você pode usar se estiver utilizando JSF2. Para executar "
-"os exemplos, você precisará do seguinte:"
-
-#. Tag: para
-#: ri.xml:25
-#, no-c-format
-msgid "the latest release of Web Beans,"
-msgstr "a última versão da Web Beans,"
-
-#. Tag: para
-#: ri.xml:28
-#, no-c-format
-msgid "JBoss AS 5.0.1.GA, or"
-msgstr "JBoss AS 5.0.1.GA, e"
-
-#. Tag: para
-#: ri.xml:31
-#, no-c-format
-msgid "Apache Tomcat 6.0.x, and"
-msgstr "Apache Tomcat 6.0.x, e"
-
-#. Tag: para
-#: ri.xml:34
-#, no-c-format
-msgid "Ant 1.7.0."
-msgstr "Ant 1.7.0."
-
-#. Tag: title
-#: ri.xml:39
-#, no-c-format
-msgid "Using JBoss AS 5"
-msgstr "Utilizando o JBoss AS 5"
-
-#. Tag: para
-#: ri.xml:41
-#, no-c-format
-msgid ""
-"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
-"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
-msgstr ""
-"Você precisará fazer o download do JBoss AS 5.0.1.GA em <ulink url=\"http://"
-"www.jboss.org/jbossas/downloads/\">jboss.org</ulink> e descompactá-lo. Por "
-"exemplo:\""
-
-#. Tag: programlisting
-#: ri.xml:47
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.1.GA.zip]]>"
-msgstr ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.1.GA.zip]]>"
-
-#. Tag: para
-#: ri.xml:49 ri.xml:170
-#, no-c-format
-msgid ""
-"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
-"\">seamframework.org</ulink>, and unzip it. For example"
-msgstr ""
-"Depois, faça o download da Web Beans em <ulink url=\"http://seamframework."
-"org/Download\">seamframework.org</ulink> e descompacte-o. Por exemplo"
-
-#. Tag: programlisting
-#: ri.xml:55 ri.xml:176
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-$VERSION.zip]]>"
-msgstr ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-1.0.0.ALPHA1.zip]]>"
-
-#. Tag: para
-#: ri.xml:58
-#, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>jboss.home</literal> "
-"property. For example:"
-msgstr ""
-"Em seguida, temos de dizer aos Web Beans onde o JBoss está localizado. "
-"Editar o <literal>jboss-as/build.properties</literal> e definir a "
-"propriedade <literal>jboss.home</literal>. Por exemplo:"
-
-#. Tag: programlisting
-#: ri.xml:64
-#, no-c-format
-msgid "jboss.home=/Applications/jboss-5.0.1.GA"
-msgstr "jboss.home=/Applications/jboss-5.0.1.GA"
-
-#. Tag: para
-#: ri.xml:66
-#, no-c-format
-msgid ""
-"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
-"<literal>ANT_HOME</literal> environment variable set. For example:"
-msgstr ""
-"Para instalar a Web Beans, você precisará do Ant 1.7.0 instalado e a "
-"variável de ambiente <literal>ANT_HOME</literal> setada. Por exemplo:"
-
-#. Tag: programlisting
-#: ri.xml:71
-#, no-c-format
-msgid ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-msgstr ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-
-#. Tag: para
-#: ri.xml:73
-#, no-c-format
-msgid ""
-"Then, you can install the update. The update script will use Maven to "
-"download Web Beans automatically."
-msgstr ""
-"Então, você pode instalar a atualização. O script de atualização  utilizará "
-"o Maven para fazer o download da Web Beans automaticamente."
-
-#. Tag: programlisting
-#: ri.xml:78
-#, no-c-format
-msgid ""
-"$ cd webbeans-$VERSION/jboss-as\n"
-"$ ant update"
-msgstr ""
-"$ cd webbeans-1.0.0.ALPHA1/jboss-as\n"
-"$ ant update"
-
-#. Tag: para
-#: ri.xml:80
-#, no-c-format
-msgid "Now, you're ready to deploy your first example!"
-msgstr ""
-"Agora, você está pronto para fazer a publicação do seu primeiro exemplo!"
-
-#. Tag: para
-#: ri.xml:85
-#, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for JBoss AS, "
-"these are:"
-msgstr ""
-"Os scripts para criar os exemplos oferecem uma série de alvos para JBoss AS, "
-"entre eles:"
-
-#. Tag: para
-#: ri.xml:91
-#, no-c-format
-msgid "<literal>ant restart</literal> - deploy the example in exploded format"
-msgstr ""
-"<literal>ant restart</literal> - implanta o exemplo no formato explodido"
-
-#. Tag: para
-#: ri.xml:97
-#, no-c-format
-msgid ""
-"<literal>ant explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-"<literal>ant explode</literal> - atualiza o exemplo explodido, sem reiniciar "
-
-#. Tag: para
-#: ri.xml:103
-#, no-c-format
-msgid ""
-"<literal>ant deploy</literal> - deploy the example in compressed jar format"
-msgstr ""
-"<literal>ant deploy</literal> - implanta o exemplo no formato jar compactado"
-
-#. Tag: para
-#: ri.xml:108
-#, no-c-format
-msgid "<literal>ant undeploy</literal> - remove the example from the server"
-msgstr "<literal>ant undeploy</literal> - remove o exemplo do servidor"
-
-#. Tag: para
-#: ri.xml:113
-#, no-c-format
-msgid "<literal>ant clean</literal> - clean the example"
-msgstr "<literal>ant clean</literal> - limpa o exemplo"
-
-#. Tag: para
-#: ri.xml:120
-#, no-c-format
-msgid "To deploy the numberguess example:"
-msgstr "Para implantar o exemplo numberguess:"
-
-#. Tag: programlisting
-#: ri.xml:124
-#, no-c-format
-msgid ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-msgstr ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:126
-#, no-c-format
-msgid "Start JBoss AS:"
-msgstr "Inicializando o JBoss AS:"
-
-#. Tag: programlisting
-#: ri.xml:130
-#, no-c-format
-msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
-msgstr "$ /Application/jboss-5.0.0.GA/bin/run.sh"
-
-#. Tag: para
-#: ri.xml:133
-#, no-c-format
-msgid "If you use Windows, use the <literal>run.bat</literal>script."
-msgstr ""
-"Se você utiliza o Windows, utilize o script <literal>run.bat</literal>."
-
-#. Tag: para
-#: ri.xml:138 ri.xml:240
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
-"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
-msgstr ""
-"Aguarde até que a aplicação seja implantada, e desfrute de horas de diversão "
-"em <ulink url=\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
-
-#. Tag: para
-#: ri.xml:143
-#, no-c-format
-msgid ""
-"Web Beans includes a second simple example that will translate your text "
-"into Latin. The numberguess example is a war example, and uses only simple "
-"beans; the translator example is an ear example, and includes enterprise "
-"beans, packaged in an EJB module. To try it out:"
-msgstr ""
-"Web Beans inclui um segundo exemplo simples que irá traduzir o seu texto "
-"para o Latim. O exemplo numberguess é um war e usa apenas beans simples; o "
-"exemplo translator é um exemplo ear e inclui benas corporativos, empacotados "
-"em um módulo EJB. Para experimentá-lo:"
-
-#. Tag: programlisting
-#: ri.xml:150
-#, no-c-format
-msgid ""
-"$ cd examples/translator\n"
-"ant deploy"
-msgstr ""
-"$ cd examples/translator\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:152
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and visit <ulink url=\"http://"
-"localhost:8080/webbeans-translator\"></ulink>!"
-msgstr ""
-"Aguarde até que a aplicação seja implantada, e acesse  <ulink url=\"http://"
-"localhost:8080/webbeans-translator\"></ulink>!"
-
-#. Tag: title
-#: ri.xml:160
-#, no-c-format
-msgid "Using Apache Tomcat 6.0"
-msgstr "Utilizando o Apache Tomcat 6.0"
-
-#. Tag: para
-#: ri.xml:162
-#, no-c-format
-msgid ""
-"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
-"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
-"For example:"
-msgstr ""
-"Depois, faça o download do Tomcat 6.0.18 ou posterior em <ulink url=\"http://"
-"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, e descompacte-"
-"o. Por exemplo"
-
-#. Tag: programlisting
-#: ri.xml:168
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
-msgstr ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
-
-#. Tag: para
-#: ri.xml:178
-#, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
-"property. For example:"
-msgstr ""
-"Em seguida, temos de dizer aos Web Beans onde o Tomcat está localizado. "
-"Editar o <literal>jboss-as/build.properties</literal> e definir a "
-"propriedade <literal>tomcat.home</literal>. Por exemplo:"
-
-#. Tag: programlisting
-#: ri.xml:184
-#, no-c-format
-msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
-msgstr "tomcat.home=/Applications/apache-tomcat-6.0.18"
-
-#. Tag: para
-#: ri.xml:187
-#, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for Tomcat, "
-"these are:"
-msgstr ""
-"Os scripts para criar os exemplos oferecem uma série de alvos para Tomcat. "
-"São eles:"
-
-#. Tag: para
-#: ri.xml:193
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
-msgstr ""
-"<literal>ant tomcat.restart</literal> - publica o exemplo no formato "
-"explodido"
-
-#. Tag: para
-#: ri.xml:199
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-"<literal>ant tomcat.explode</literal> - atualiza o exemplo explodido, sem "
-"reiniciar "
-
-#. Tag: para
-#: ri.xml:205
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
-"format"
-msgstr ""
-"<literal>ant tomcat.deploy</literal> - publica o exemplo no formato jar "
-"compactado"
-
-#. Tag: para
-#: ri.xml:210
-#, no-c-format
-msgid ""
-"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
-msgstr "<literal>ant tomcat.undeploy</literal> - remove o exemplo do servidor"
-
-#. Tag: para
-#: ri.xml:215
-#, no-c-format
-msgid "<literal>ant tomcat.clean</literal> - clean the example"
-msgstr "<literal>ant tomcat.clean</literal> - clean the example"
-
-#. Tag: para
-#: ri.xml:222
-#, no-c-format
-msgid "To deploy the numberguess example for tomcat:"
-msgstr "Para implantar o exemplo numberguess no tomcat:"
-
-#. Tag: programlisting
-#: ri.xml:226
-#, no-c-format
-msgid ""
-"$ cd examples/tomcat\n"
-"ant tomcat.deploy"
-msgstr ""
-"$ cd examples/tomcat\n"
-"ant tomcat.deploy"
-
-#. Tag: para
-#: ri.xml:228
-#, no-c-format
-msgid "Start Tomcat:"
-msgstr "Inicializando o Tomcat:"
-
-#. Tag: programlisting
-#: ri.xml:232
-#, no-c-format
-msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
-msgstr "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
-
-#. Tag: para
-#: ri.xml:235
-#, no-c-format
-msgid "If you use Windows, use the <literal>startup.bat</literal>script."
-msgstr ""
-"Se você utiliza o Windows, utilize o script <literal>startup.bat</literal>."
-
-#. Tag: title
-#: ri.xml:248
-#, no-c-format
-msgid "Using GlassFish"
-msgstr "Utilizando o GlassFish"
-
-#. Tag: para
-#: ri.xml:250
-#, no-c-format
-msgid "TODO"
-msgstr "TODO"
-
-#. Tag: title
-#: ri.xml:254
-#, no-c-format
-msgid "The numberguess example"
-msgstr "O exemplo numberguess"
-
-#. Tag: para
-#: ri.xml:256
-#, no-c-format
-msgid ""
-"In the numberguess application you get given 10 attempts to guess a number "
-"between 1 and 100. After each attempt, you will be told whether you are too "
-"high, or too low."
-msgstr ""
-"Na aplicação numberguess você terá 10 tentativas para adivinhar um número "
-"entre 1 e 100. Após cada tentativa, você será informado se você disse muito "
-"acima, ou muito abaixo."
-
-#. Tag: para
-#: ri.xml:262
-#, no-c-format
-msgid ""
-"The numberguess example is comprised of a number of Web Beans, configuration "
-"files, and Facelet JSF pages, packaged as a war. Let's start with the "
-"configuration files."
-msgstr ""
-"O exemplo numberguess é composto de um número de Web Beans, arquivos de "
-"configuração e páginas Facelet JSF , empacotados como um war. Vamos começar "
-"com os arquivos de configuração."
-
-#. Tag: para
-#: ri.xml:268
-#, no-c-format
-msgid ""
-"All the configuration files for this example are located in <literal>WEB-INF/"
-"</literal>, which is stored in <literal>WebContent</literal> in the source "
-"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
-"JSF to use Facelets:"
-msgstr ""
-"Todos os arquivos de configuração para este exemplo estão localizados no "
-"<literal>WEB-INF/</literal>, que é armazenado no <literal>WebContent</"
-"literal> na árvore de fontes. Primeiro, temos  <literal>faces-config.xml</"
-"literal>, onde dizemos para o JSF usar o Facelets:"
-
-#. Tag: programlisting
-#: ri.xml:276
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-msgstr ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-
-#. Tag: para
-#: ri.xml:278
-#, no-c-format
-msgid ""
-"There is an empty <literal>web-beans.xml</literal> file, which marks this "
-"application as a Web Beans application."
-msgstr ""
-"Existe um arquivo <literal>web-beans.xml</literal> vazio, que assinala essa "
-"aplicação como uma aplicação Web Beans."
-
-#. Tag: para
-#: ri.xml:283
-#, no-c-format
-msgid "Finally there is <literal>web.xml</literal>:"
-msgstr "Finalmente no <literal>web.xml</literal>:"
-
-#. Tag: section
-#: ri.xml:285
-#, fuzzy, no-c-format
-msgid ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
-"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
-"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
-"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
-"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
-"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
-"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
-"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
-"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
-"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
-"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
-"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
-"session timeout of 10 minutes </para> </callout> </calloutlist> </"
-"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
-"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
-"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
-"id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area "
-"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
-"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
-"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
-"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
-"dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
-"number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
-"number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game."
-"biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
-"{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
-"<para> Facelets is a templating language for JSF, here we are wrapping our "
-"page in a template which defines the header. </para> </callout> <callout "
-"arearefs=\"messages\"> <para> There are a number of messages which can be "
-"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
-"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
-"range of numbers they can guess gets smaller - this sentance changes to make "
-"sure they know what range to guess in. </para> </callout> <callout arearefs="
-"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
-"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
-"range validator is used to make sure the user doesn't accidentally input a "
-"number outside of the range in which they can guess - if the validator "
-"wasn't here, the user might use up a guess on an out of range number. </"
-"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
-"must be a way for the user to send their guess to the server. Here we bind "
-"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
-"programlistingco>"
-msgstr ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
-"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
-"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
-"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
-"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
-"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
-"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
-"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
-"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
-"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
-"giving our source files (facelets) an extension of <literal>.jsf</literal> </"
-"para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
-"session timeout of 10 minutes </para> </callout> </calloutlist> </"
-"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
-"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
-"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
-"id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area "
-"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
-"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
-"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
-"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
-"dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
-"number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
-"number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game."
-"biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
-"{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
-"<para> Facelets is a templating language for JSF, here we are wrapping our "
-"page in a template which defines the header. </para> </callout> <callout "
-"arearefs=\"messages\"> <para> There are a number of messages which can be "
-"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
-"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
-"range of numbers they can guess gets smaller - this sentance changes to make "
-"sure they know what range to guess in. </para> </callout> <callout arearefs="
-"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
-"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
-"range validator is used to make sure the user doesn't accidentally input a "
-"number outside of the range in which they can guess - if the validator "
-"wasn't here, the user might use up a guess on an out of range number. </"
-"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
-"must be a way for the user to send their guess to the server. Here we bind "
-"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
-"programlistingco>"
-
-#. Tag: para
-#: ri.xml:387
-#, no-c-format
-msgid ""
-"The example exists of 4 classes, the first two of which are binding types. "
-"First, there is the <literal>@Random</literal> binding type, used for "
-"injecting a random number:"
-msgstr ""
-"No exemplo, existem 4 classes: as duas primeiras são tipos de binding. "
-"Primeiro, há o tipo de binding <literal>@Random</literal>, utilizado para a "
-"injeção de um número aleatório:"
-
-#. Tag: programlisting
-#: ri.xml:393
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-msgstr ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-
-#. Tag: para
-#: ri.xml:395
-#, no-c-format
-msgid ""
-"There is also the <literal>@MaxNumber</literal> binding type, used for "
-"injecting the maximum number that can be injected:"
-msgstr ""
-"Há também o binding type <literal>@MaxNumber</literal>, utilizado para "
-"injetar o número máximo que pode ser injetado:"
-
-#. Tag: programlisting
-#: ri.xml:400
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-msgstr ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-
-#. Tag: para
-#: ri.xml:402
-#, no-c-format
-msgid ""
-"The <literal>Generator</literal> class is responsible for creating the "
-"random number, via a producer method. It also exposes the maximum possible "
-"number via a producer method:"
-msgstr ""
-"A classe <literal>Generator</literal> é responsável por criar um número "
-"aleatório, através de um método produtor. Ela também expõe o número máximo "
-"possível através de um método produtor:"
-
-#. Tag: programlisting
-#: ri.xml:408
-#, no-c-format
-msgid ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System."
-"currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-msgstr ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System."
-"currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-
-#. Tag: para
-#: ri.xml:410
-#, no-c-format
-msgid ""
-"You'll notice that the <literal>Generator</literal> is application scoped; "
-"therefore we don't get a different random each time."
-msgstr ""
-"Você perceberá que o <literal>Generator</literal> está no escopo de "
-"aplicação; portanto, não obtemos um número aleatório diferente a cada vez."
-
-#. Tag: para
-#: ri.xml:415
-#, no-c-format
-msgid ""
-"The final Web Bean in the application is the session scoped <literal>Game</"
-"literal>."
-msgstr ""
-"O Web Bean final da aplicação é o <literal>Game</literal> em escopo de "
-"sessão."
-
-#. Tag: para
-#: ri.xml:420
-#, no-c-format
-msgid ""
-"You'll note that we've used the <literal>@Named</literal> annotation, so "
-"that we can use the bean through EL in the JSF page. Finally, we've used "
-"constructor injection to initialize the game with a random number. And of "
-"course, we need to tell the player when they've won, so we give feedback "
-"with a <literal>FacesMessage</literal>."
-msgstr ""
-"Você  notará que nós utilizamos a  anotação  <literal>@Named</literal>, para "
-"que possamos utilizar o bean através EL na página JSF. Finalmente, "
-"utilizamos injeção de construtor para inicializar o jogo com um número "
-"aleatório. E, claro, precisamos de dizer ao jogador quando ele venceu. Por "
-"isso, informaremos através do <literal>FacesMessage</literal>."
-
-#. Tag: programlisting
-#: ri.xml:428
-#, no-c-format
-msgid ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
-"(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new "
-"AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-msgstr ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
-"(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new "
-"AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-
-#. Tag: title
-#: ri.xml:431
-#, no-c-format
-msgid "The numberguess example for Tomcat"
-msgstr "O exemplo numberguess para o Tomcat"
-
-#. Tag: para
-#: ri.xml:433
-#, no-c-format
-msgid ""
-"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
-"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
-"literal>. For your convenience we provide a single jar suitable for running "
-"Web Beans on Tomcat <literal>webbeans-tomcat.jar</literal>."
-msgstr ""
-"O numberguess para Tomcat difere em várias maneiras. Em primeiro lugar, Web "
-"Beans devem ser implementados como uma biblioteca de aplicação Web em "
-"<literal>WEB-INF/lib</literal>. Para sua comodidade, fornecemos um único jar "
-"adequado para executar Web Beans no Tomcat <literal>webbeans-tomcat.jar</"
-"literal>."
-
-#. Tag: para
-#: ri.xml:442
-#, no-c-format
-msgid ""
-"Of course, you must also include JSF and EL, as well common annotations "
-"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
-msgstr ""
-"Claro, você também deve incluir JSF e EL, bem como anotações comuns (common "
-"annotations)  (<literal>jsr250-api.jar</literal>), que um servidor JEE "
-"inclui por padrão."
-
-#. Tag: para
-#: ri.xml:449
-#, no-c-format
-msgid ""
-"Secondly, we need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control it's interaction with requests) in <literal>web."
-"xml</literal>:"
-msgstr ""
-"Em segundo lugar, precisamos indicar explicitamente o Tomcat servlet "
-"listener (utilizado para \"bootar\" a Web Beans, e controlar sua interação "
-"com as requisições) no  <literal>web.xml</literal>:"
-
-#. Tag: programlisting
-#: ri.xml:455
-#, no-c-format
-msgid ""
-"<![CDATA[<listener>\n"
-"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-"
-"class>\n"
-"</listener>]]>"
-msgstr ""
-"<![CDATA[<listener>\n"
-"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-"
-"class>\n"
-"</listener>]]>"
-
-#. Tag: title
-#: ri.xml:461
-#, no-c-format
-msgid "The translator example"
-msgstr "O exemplo translator"
-
-#. Tag: para
-#: ri.xml:463
-#, no-c-format
-msgid ""
-"The translator example will take any sentences you enter, and translate them "
-"to Latin."
-msgstr ""
-"O exemplo translator pegará qualquer frase que você fornecer e a  traduzirá "
-"para o Latim."
-
-#. Tag: para
-#: ri.xml:468
-#, no-c-format
-msgid ""
-"The translator example is built as an ear, and contains EJBs. As a result, "
-"it's structure is more complex than the numberguess example."
-msgstr ""
-"O exemplo translator é construído como um ear e contém EJBs. Como resultado, "
-"a sua estrutura é mais complexa do que o exemplo numberguess."
-
-#. Tag: para
-#: ri.xml:474
-#, no-c-format
-msgid ""
-"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
-"this structure much simpler!"
-msgstr ""
-"EJB 3.1 e Java EE 6 permitem a você empacotar EJBs em um war, o que tornará "
-"esta estrutura muito mais simples!"
-
-#. Tag: para
-#: ri.xml:480
-#, no-c-format
-msgid ""
-"First, let's take a look at the ear aggregator, which is located in "
-"<literal>webbeans-translator-ear</literal> module. Maven automatically "
-"generates the <literal>application.xml</literal> for us:"
-msgstr ""
-"Primeiro, vamos dar uma olhada no ear aggregator, que está localizado módulo "
-"<literal>webbeans-translator-ear</literal>. Maven gera automaticamente "
-"o<literal>application.xml</literal> para nós:"
-
-#. Tag: programlisting
-#: ri.xml:486
-#, no-c-format
-msgid ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-msgstr ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-
-#. Tag: para
-#: ri.xml:488
-#, no-c-format
-msgid ""
-"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
-"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
-"translator</ulink>)."
-msgstr ""
-"Aqui nós definiremos o caminho do contexto, que nos dá uma url amigável "
-"(<ulink url=\"http://localhost:8080/webbeans-translator\">http://"
-"localhost:8080/webbeans-translator</ulink>). ulink&gt;) ."
-
-#. Tag: para
-#: ri.xml:494
-#, no-c-format
-msgid ""
-"If you aren't using Maven to generate these files, you would need "
-"<literal>META-INF/application.xml</literal>:"
-msgstr ""
-"Se você não está usando o Maven para gerar esses arquivos, você precisaria "
-"<literal>META-INF/application.xml</literal>:"
-
-#. Tag: programlisting
-#: ri.xml:499
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web "
-"Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-msgstr ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web "
-"Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-
-#. Tag: para
-#: ri.xml:502
-#, no-c-format
-msgid ""
-"Next, lets look at the war. Just as in the numberguess example, we have a "
-"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
-"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
-msgstr ""
-"Em seguida, vamos ver o war. Tal como no exemplo numberguess, temos um "
-"<literal>faces-config.xml</literal> (para habilitar o Facelets) e um "
-"<literal>web.xml</literal> (para habilitar o JSF) no <literal>WebContent/WEB-"
-"INF</literal>."
-
-#. Tag: para
-#: ri.xml:509
-#, no-c-format
-msgid ""
-"More intersting is the facelet used to translate text. Just as in the "
-"numberguess example we have a template, which surrounds the form (ommitted "
-"here for brevity):"
-msgstr ""
-"Mais interessante é o facelet utilizado para traduzir texto. Tal como no "
-"exemplo numberguess, temos um template, que envolve o formulário (omitido "
-"aqui por brevitude):"
-
-#. Tag: programlisting
-#: ri.xml:515
-#, no-c-format
-msgid ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
-"required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
-"{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-msgstr ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
-"required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
-"{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-
-#. Tag: para
-#: ri.xml:517
-#, no-c-format
-msgid ""
-"The user can enter some text in the lefthand textarea, and hit the translate "
-"button to see the result to the right."
-msgstr ""
-"O usuário pode digitar um texto no textarea esquerdo e clicar no botão "
-"traduzir para ver o resultado à direita."
-
-#. Tag: para
-#: ri.xml:522
-#, no-c-format
-msgid ""
-"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
-"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
-"empty <literal>web-beans.xml</literal>, used to mark the archive as "
-"containing Web Beans."
-msgstr ""
-"Por fim, vamos olhar  o módulo EJB <literal>webbeans-translator-ejb</"
-"literal>. Em <literal>src/main/resources/META-INF</literal> existe apenas um "
-"<literal>web-beans.xml</literal> vazio, utilizado para marcar o arquivo como "
-"contendo Web Beans."
-
-#. Tag: para
-#: ri.xml:530
-#, no-c-format
-msgid ""
-"We've saved the most interesting bit to last, the code! The project has two "
-"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
-"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
-"literal> and <literal>SentenceTranslator</literal>. You should be getting "
-"quite familiar with what a Web Bean looks like by now, so we'll just "
-"highlight the most interesting bits here."
-msgstr ""
-"Deixamos o pedaço mais interessante para o final: o código! O projeto tem "
-"dois beans simples, <literal>SentenceParser</literal> e "
-"<literal>TextTranslator</literal> e dois beans "
-"corporativos<literal>TranslatorControllerBean</literal> e "
-"<literal>SentenceTranslator</literal>. Você deve estar bastante "
-"familiarizado com o que um Web Bean parece até agora. Então, vamos apenas "
-"destacar as partes mais interessantes aqui."
-
-#. Tag: para
-#: ri.xml:540
-#, no-c-format
-msgid ""
-"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
-"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
-"initialization:"
-msgstr ""
-"Tanto <literal>SentenceParser</literal> quanto <literal>TextTranslator</"
-"literal> são beans dependentes, e <literal>TextTranslator</literal> usa "
-"inicialização por construtor :"
-
-#. Tag: programlisting
-#: ri.xml:546
-#, no-c-format
-msgid ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator "
-"sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-msgstr ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
-"required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
-"{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-
-#. Tag: para
-#: ri.xml:548
-#, no-c-format
-msgid ""
-"<literal>TextTranslator</literal> is a stateless bean (with a local business "
-"interface), where the magic happens - of course, we couldn't develop a full "
-"translator, but we gave it a good go!"
-msgstr ""
-"<literal>TextTranslator</literal> é um bean stateless (com uma interface de "
-"negócios local), onde a mágica acontece . Obviamente, não poderíamos "
-"desenvolver um tradutor completo, mas lhe demos um bom caminho!"
-
-#. Tag: para
-#: ri.xml:554
-#, no-c-format
-msgid ""
-"Finally, there is UI orientated controller, that collects the text from the "
-"user, and dispatches it to the translator. This is a request scoped, named, "
-"stateful session bean, which injects the translator."
-msgstr ""
-"Finalmente, há um controlador orientado à interface, que recolhe o texto do "
-"usuário e despacha para o tradutor. Esse é um escopo de requisição, com o "
-"nome, stateful session bean, que injeta o tradutor."
-
-#. Tag: programlisting
-#: ri.xml:560
-#, no-c-format
-msgid ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-msgstr ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-
-#. Tag: para
-#: ri.xml:562
-#, no-c-format
-msgid "The bean also has getters and setters for all the fields on the page."
-msgstr "O bean também tem getters e setters para todos os campos da página."
-
-#. Tag: para
-#: ri.xml:566
-#, no-c-format
-msgid "As this is a stateful session bean, we have to have a remove method:"
-msgstr ""
-"Como esse é um stateful session bean, temos de ter um método de remoção:"
-
-#. Tag: programlisting
-#: ri.xml:570
-#, no-c-format
-msgid ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-msgstr ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-
-#. Tag: para
-#: ri.xml:572
-#, no-c-format
-msgid ""
-"The Web Beans manager will call the remove method for you when the bean is "
-"destroyed; in this case at the end of the request."
-msgstr ""
-"O gerenciador do Web Beans chamará o método remover para você quando o bean "
-"for destruído - neste caso, no final da requisição."
-
-#. Tag: para
-#: ri.xml:578
-#, no-c-format
-msgid ""
-"That concludes our short tour of the Web Beans examples. For more on Web "
-"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
-"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
-"Development</ulink>."
-msgstr ""
-"Está encerrado o nosso curto passeio pelos exemplos de Web Beans. Para mais "
-"informações sobre a Web Beans, ou para ajudar, por favor visite <ulink url="
-"\"http://www.seamframework.org/WebBeans/Development\">http://www."
-"seamframework.org/WebBeans/Development</ulink>."
-
-#. Tag: para
-#: ri.xml:584
-#, no-c-format
-msgid ""
-"We need help in all areas - bug fixing, writing new features, writing "
-"examples and translating this reference guide."
-msgstr ""
-"Precisamos de ajuda em todas as áreas - correção de bugs, escrita de novas "
-"funcionalidades, escrita de exemplos e tradução deste guia de referência."
-
-#~ msgid ""
-#~ "As Web Beans is a new piece of software, you need to update JBoss AS to "
-#~ "run the Web Beans RI. Future versions of JBoss AS will include these "
-#~ "updates, and this step won't be necessary."
-#~ msgstr ""
-#~ "Como o Web Beabs é uma nova peça de software, você de fazer a atualização "
-#~ "do JBoss AS para poder executar a implementação de referência de Web "
-#~ "Beans (Web Beans RI). Futuras versões do JBoss AS incluirão essas "
-#~ "atualizações e esse passo será desnecessário."

Modified: doc/trunk/reference/pt-BR/scopescontexts.po
===================================================================
--- doc/trunk/reference/pt-BR/scopescontexts.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/pt-BR/scopescontexts.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: Introduction_to_Web_Beans VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-01-06 11:30+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-04-10 21:22-0300\n"
 "Last-Translator: João Paulo Viragine <joao.viragine at redhat.com>\n"
 "Language-Team: none\n"
@@ -22,14 +22,25 @@
 #. Tag: para
 #: scopescontexts.xml:6
 #, no-c-format
-msgid "So far, we've seen a few examples of <emphasis>scope type annotations</emphasis>. The scope of a Web Bean determines the lifecycle of instances of the Web Bean. The scope also determines which clients refer to which instances of the Web Bean. According to the Web Beans specification, a scope determines:"
-msgstr " Até agora, vimos alguns exemplos de <emphasis>anotações de tipo de escopo</emphasis>. O escopo de um Web Bean determina o ciclo de vida das instâncias do Web Bean. O escopo também determina que clientes se referem a quais instâncias do Web Bean. De acordo com a  especificação Web Beans, um escopo determina:"
+msgid ""
+"So far, we've seen a few examples of <emphasis>scope type annotations</"
+"emphasis>. The scope of a Web Bean determines the lifecycle of instances of "
+"the Web Bean. The scope also determines which clients refer to which "
+"instances of the Web Bean. According to the Web Beans specification, a scope "
+"determines:"
+msgstr ""
+" Até agora, vimos alguns exemplos de <emphasis>anotações de tipo de escopo</"
+"emphasis>. O escopo de um Web Bean determina o ciclo de vida das instâncias "
+"do Web Bean. O escopo também determina que clientes se referem a quais "
+"instâncias do Web Bean. De acordo com a  especificação Web Beans, um escopo "
+"determina:"
 
 #. Tag: para
 #: scopescontexts.xml:14
 #, no-c-format
 msgid "When a new instance of any Web Bean with that scope is created"
-msgstr "Quando uma nova instância de qualquer Web Bean com esse escopo é criada"
+msgstr ""
+"Quando uma nova instância de qualquer Web Bean com esse escopo é criada"
 
 #. Tag: para
 #: scopescontexts.xml:17
@@ -40,14 +51,29 @@
 #. Tag: para
 #: scopescontexts.xml:20
 #, no-c-format
-msgid "Which injected references refer to any instance of a Web Bean with that scope"
-msgstr "Cada referência  injetada refere-se a qualquer instância de um Web Bean com esse escopo"
+msgid ""
+"Which injected references refer to any instance of a Web Bean with that scope"
+msgstr ""
+"Cada referência  injetada refere-se a qualquer instância de um Web Bean com "
+"esse escopo"
 
 #. Tag: para
 #: scopescontexts.xml:25
 #, no-c-format
-msgid "For example, if we have a session scoped Web Bean, <literal>CurrentUser</literal>, all Web Beans that are called in the context of the same <literal>HttpSession</literal> will see the same instance of <literal>CurrentUser</literal>. This instance will be automatically created the first time a <literal>CurrentUser</literal> is needed in that session, and automatically destroyed when the session ends."
-msgstr "Por exemplo, se temos um Web Bean de escopo de sessão <literal>CurrentUser</literal>, todos os Web Beans que são chamados no contexto dele <literal>HttpSession</literal> verão a mesma instância do <literal>CurrentUser</literal>. Essa instância será criada automaticamente na primeira vez que um <literal>CurrentUser</literal> for necessário nessa sessão, e  será automaticamente destruída quando a sessão terminar."
+msgid ""
+"For example, if we have a session scoped Web Bean, <literal>CurrentUser</"
+"literal>, all Web Beans that are called in the context of the same "
+"<literal>HttpSession</literal> will see the same instance of "
+"<literal>CurrentUser</literal>. This instance will be automatically created "
+"the first time a <literal>CurrentUser</literal> is needed in that session, "
+"and automatically destroyed when the session ends."
+msgstr ""
+"Por exemplo, se temos um Web Bean de escopo de sessão <literal>CurrentUser</"
+"literal>, todos os Web Beans que são chamados no contexto dele "
+"<literal>HttpSession</literal> verão a mesma instância do "
+"<literal>CurrentUser</literal>. Essa instância será criada automaticamente "
+"na primeira vez que um <literal>CurrentUser</literal> for necessário nessa "
+"sessão, e  será automaticamente destruída quando a sessão terminar."
 
 #. Tag: title
 #: scopescontexts.xml:32
@@ -58,8 +84,12 @@
 #. Tag: para
 #: scopescontexts.xml:34
 #, no-c-format
-msgid "Web Beans features an <emphasis>extensible context model</emphasis>. It is possible to define new scopes by creating a new scope type annotation:"
-msgstr "Web Beans possui um <emphasis>modelo extensível de contexto</emphasis>. É possível definir novos escopos, criando uma nova anotação de tipo de escopo:"
+msgid ""
+"Web Beans features an <emphasis>extensible context model</emphasis>. It is "
+"possible to define new scopes by creating a new scope type annotation:"
+msgstr ""
+"Web Beans possui um <emphasis>modelo extensível de contexto</emphasis>. É "
+"possível definir novos escopos, criando uma nova anotação de tipo de escopo:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:37
@@ -78,14 +108,27 @@
 #. Tag: para
 #: scopescontexts.xml:39
 #, no-c-format
-msgid "Of course, that's the easy part of the job. For this scope type to be useful, we will also need to define a <literal>Context</literal> object that implements the scope! Implementing a <literal>Context</literal> is usually a very technical task, intended for framework development only."
-msgstr "Evidentemente, essa é a parte mais fácil do trabalho. Para esse tipo de escopo ser útil, nós também precisamos  definir um objeto <literal>Context</literal> que implementa o escopo! Implementar um <literal>Context</literal> é geralmente uma tarefa muito técnica, destinada apenas ao desenvolvimento do framework."
+msgid ""
+"Of course, that's the easy part of the job. For this scope type to be "
+"useful, we will also need to define a <literal>Context</literal> object that "
+"implements the scope! Implementing a <literal>Context</literal> is usually a "
+"very technical task, intended for framework development only."
+msgstr ""
+"Evidentemente, essa é a parte mais fácil do trabalho. Para esse tipo de "
+"escopo ser útil, nós também precisamos  definir um objeto <literal>Context</"
+"literal> que implementa o escopo! Implementar um <literal>Context</literal> "
+"é geralmente uma tarefa muito técnica, destinada apenas ao desenvolvimento "
+"do framework."
 
 #. Tag: para
 #: scopescontexts.xml:44
 #, no-c-format
-msgid "We can apply a scope type annotation to a Web Bean implementation class to specify the scope of the Web Bean:"
-msgstr "Podemos aplicar uma anotação de tipo de escopo a uma classe de implementação de um Web Bean para especificar o escopo do Web Bean:"
+msgid ""
+"We can apply a scope type annotation to a Web Bean implementation class to "
+"specify the scope of the Web Bean:"
+msgstr ""
+"Podemos aplicar uma anotação de tipo de escopo a uma classe de implementação "
+"de um Web Bean para especificar o escopo do Web Bean:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:47
@@ -148,8 +191,12 @@
 #. Tag: para
 #: scopescontexts.xml:86
 #, no-c-format
-msgid "any servlet request has access to active request, session and application scopes, and, additionally"
-msgstr "qualquer requisição servlet tem acesso aos escopos de requisição, sessão e aplicação ativos, e, adicionalmente"
+msgid ""
+"any servlet request has access to active request, session and application "
+"scopes, and, additionally"
+msgstr ""
+"qualquer requisição servlet tem acesso aos escopos de requisição, sessão e "
+"aplicação ativos, e, adicionalmente"
 
 #. Tag: para
 #: scopescontexts.xml:90
@@ -190,14 +237,26 @@
 #. Tag: para
 #: scopescontexts.xml:111
 #, no-c-format
-msgid "If the application tries to invoke a Web Bean with a scope that does not have an active context, a <literal>ContextNotActiveException</literal> is thrown by the Web Bean manager at runtime."
-msgstr "Se a aplicação tentar invocar um Web Bean com um escopo que não tem um contexto ativo, uma <literal>ContextNotActiveException</literal> é lançada pelo gerenciador do Web Bean em tempo de execução."
+msgid ""
+"If the application tries to invoke a Web Bean with a scope that does not "
+"have an active context, a <literal>ContextNotActiveException</literal> is "
+"thrown by the Web Bean manager at runtime."
+msgstr ""
+"Se a aplicação tentar invocar um Web Bean com um escopo que não tem um "
+"contexto ativo, uma <literal>ContextNotActiveException</literal> é lançada "
+"pelo gerenciador do Web Bean em tempo de execução."
 
 #. Tag: para
 #: scopescontexts.xml:115
 #, no-c-format
-msgid "Three of the four built-in scopes should be extremely familiar to every Java EE developer, so let's not waste time discussing them here. One of the scopes, however, is new."
-msgstr "Três dos quatro escopos pré-definidos devem ser extremamente familiares a todos os desenvolvedores Java EE, então não vamos perder tempo discutindo-os aqui. Um dos escopos, porém, é novo."
+msgid ""
+"Three of the four built-in scopes should be extremely familiar to every Java "
+"EE developer, so let's not waste time discussing them here. One of the "
+"scopes, however, is new."
+msgstr ""
+"Três dos quatro escopos pré-definidos devem ser extremamente familiares a "
+"todos os desenvolvedores Java EE, então não vamos perder tempo discutindo-os "
+"aqui. Um dos escopos, porém, é novo."
 
 #. Tag: title
 #: scopescontexts.xml:122
@@ -208,8 +267,16 @@
 #. Tag: para
 #: scopescontexts.xml:124
 #, no-c-format
-msgid "The Web Beans conversation scope is a bit like the traditional session scope in that it holds state associated with a user of the system, and spans multiple requests to the server. However, unlike the session scope, the conversation scope:"
-msgstr "O escopo de conversação da Web Beans é um parecido com o tradicional escopo de sessão na medida em que mantém estado associado a um usuário do sistema, e o mantém durante várias requisições para o servidor. No entanto, ao contrário do escopo de sessão, o escopo de conversação:"
+msgid ""
+"The Web Beans conversation scope is a bit like the traditional session scope "
+"in that it holds state associated with a user of the system, and spans "
+"multiple requests to the server. However, unlike the session scope, the "
+"conversation scope:"
+msgstr ""
+"O escopo de conversação da Web Beans é um parecido com o tradicional escopo "
+"de sessão na medida em que mantém estado associado a um usuário do sistema, "
+"e o mantém durante várias requisições para o servidor. No entanto, ao "
+"contrário do escopo de sessão, o escopo de conversação:"
 
 #. Tag: para
 #: scopescontexts.xml:130
@@ -220,20 +287,41 @@
 #. Tag: para
 #: scopescontexts.xml:133
 #, no-c-format
-msgid "holds state associated with a particular web browser tab in a JSF application."
-msgstr "mantém o estado associado a uma determinada aba em um navegador web em uma aplicação JSF."
+msgid ""
+"holds state associated with a particular web browser tab in a JSF "
+"application."
+msgstr ""
+"mantém o estado associado a uma determinada aba em um navegador web em uma "
+"aplicação JSF."
 
 #. Tag: para
 #: scopescontexts.xml:138
 #, no-c-format
-msgid "A conversation represents a task, a unit of work from the point of view of the user. The conversation context holds state associated with what the user is currently working on. If the user is doing multiple things at the same time, there are multiple conversations."
-msgstr "Uma conversação representa uma tarefa, uma unidade de trabalho do ponto-de-vista do usuário. O contexto de conversação mantém o estado associado  ao usuário que estiver utilizando no momento. Se o usuário estiver fazendo várias coisas ao mesmo tempo, existem várias conversações."
+msgid ""
+"A conversation represents a task, a unit of work from the point of view of "
+"the user. The conversation context holds state associated with what the user "
+"is currently working on. If the user is doing multiple things at the same "
+"time, there are multiple conversations."
+msgstr ""
+"Uma conversação representa uma tarefa, uma unidade de trabalho do ponto-de-"
+"vista do usuário. O contexto de conversação mantém o estado associado  ao "
+"usuário que estiver utilizando no momento. Se o usuário estiver fazendo "
+"várias coisas ao mesmo tempo, existem várias conversações."
 
 #. Tag: para
 #: scopescontexts.xml:143
 #, no-c-format
-msgid "The conversation context is active during any JSF request. However, most conversations are destroyed at the end of the request. If a conversation should hold state across multiple requests, it must be explicitly promoted to a <emphasis>long-running conversation</emphasis>."
-msgstr "A conversação está ativa durante qualquer requisição JSF. No entanto, a maioria das coversações é destruída no final da requisição. Se uma conversação deve manter estado através de múltiplas requisições, deve explicitamente ser promovida para uma <emphasis>conversação de longa duração (long-running conversation)</emphasis>."
+msgid ""
+"The conversation context is active during any JSF request. However, most "
+"conversations are destroyed at the end of the request. If a conversation "
+"should hold state across multiple requests, it must be explicitly promoted "
+"to a <emphasis>long-running conversation</emphasis>."
+msgstr ""
+"A conversação está ativa durante qualquer requisição JSF. No entanto, a "
+"maioria das coversações é destruída no final da requisição. Se uma "
+"conversação deve manter estado através de múltiplas requisições, deve "
+"explicitamente ser promovida para uma <emphasis>conversação de longa duração "
+"(long-running conversation)</emphasis>."
 
 #. Tag: title
 #: scopescontexts.xml:149
@@ -244,8 +332,14 @@
 #. Tag: para
 #: scopescontexts.xml:151
 #, no-c-format
-msgid "Web Beans provides a built-in Web Bean for controlling the lifecyle of conversations in a JSF application. This Web Bean may be obtained by injection:"
-msgstr "Web Beans oferece um Web Bean pré-definido para o controle do ciclo de vida das conversações em uma aplicação JSF. Esse Web Bean pode ser obtido por injeção:"
+msgid ""
+"Web Beans provides a built-in Web Bean for controlling the lifecyle of "
+"conversations in a JSF application. This Web Bean may be obtained by "
+"injection:"
+msgstr ""
+"Web Beans oferece um Web Bean pré-definido para o controle do ciclo de vida "
+"das conversações em uma aplicação JSF. Esse Web Bean pode ser obtido por "
+"injeção:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:154
@@ -256,14 +350,27 @@
 #. Tag: para
 #: scopescontexts.xml:156
 #, no-c-format
-msgid "To promote the conversation associated with the current request to a long-running conversation, call the <literal>begin()</literal> method from application code. To schedule the current long-running conversation context for destruction at the end of the current request, call <literal>end()</literal>."
-msgstr "Para promover a conversação associada a requisição atual em uma conversação de longa duração, chame o método <literal>begin()</literal> no código da aplicação. Para agendar a destruição do atual contexto de conversão de longa duração no final da requisição atual, chame <literal>end()</literal>."
+msgid ""
+"To promote the conversation associated with the current request to a long-"
+"running conversation, call the <literal>begin()</literal> method from "
+"application code. To schedule the current long-running conversation context "
+"for destruction at the end of the current request, call <literal>end()</"
+"literal>."
+msgstr ""
+"Para promover a conversação associada a requisição atual em uma conversação "
+"de longa duração, chame o método <literal>begin()</literal> no código da "
+"aplicação. Para agendar a destruição do atual contexto de conversão de longa "
+"duração no final da requisição atual, chame <literal>end()</literal>."
 
 #. Tag: para
 #: scopescontexts.xml:161
 #, no-c-format
-msgid "In the following example, a conversation-scoped Web Bean controls the conversation with which it is associated:"
-msgstr "No exemplo a seguir, um Web Bean em escopo de conversação controla a conversação  ao qual estiver associado:"
+msgid ""
+"In the following example, a conversation-scoped Web Bean controls the "
+"conversation with which it is associated:"
+msgstr ""
+"No exemplo a seguir, um Web Bean em escopo de conversação controla a "
+"conversação  ao qual estiver associado:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:164
@@ -334,8 +441,14 @@
 #. Tag: para
 #: scopescontexts.xml:166
 #, no-c-format
-msgid "This Web Bean is able to control its own lifecycle through use of the <literal>Conversation</literal> API. But some other Web Beans have a lifecycle which depends completely upon another object."
-msgstr "Esse Web Bean é capaz de controlar seu próprio ciclo de vida através do uso da API <literal>Conversation</literal>. Mas alguns outros Web Beans têm um cliclo vida que depende totalmente de um outro objeto."
+msgid ""
+"This Web Bean is able to control its own lifecycle through use of the "
+"<literal>Conversation</literal> API. But some other Web Beans have a "
+"lifecycle which depends completely upon another object."
+msgstr ""
+"Esse Web Bean é capaz de controlar seu próprio ciclo de vida através do uso "
+"da API <literal>Conversation</literal>. Mas alguns outros Web Beans têm um "
+"cliclo vida que depende totalmente de um outro objeto."
 
 #. Tag: title
 #: scopescontexts.xml:173
@@ -346,14 +459,32 @@
 #. Tag: para
 #: scopescontexts.xml:175
 #, no-c-format
-msgid "The conversation context automatically propagates with any JSF faces request (JSF form submission). It does not automatically propagate with non-faces requests, for example, navigation via a link."
-msgstr "Contexto de conversação propaga-se automaticamente em qualquer requisição faces JSF  (formulário de submissão JSF). E não se propaga automaticamente em requisições não-faces, por exemplo, em  navegação através de um link."
+msgid ""
+"The conversation context automatically propagates with any JSF faces request "
+"(JSF form submission). It does not automatically propagate with non-faces "
+"requests, for example, navigation via a link."
+msgstr ""
+"Contexto de conversação propaga-se automaticamente em qualquer requisição "
+"faces JSF  (formulário de submissão JSF). E não se propaga automaticamente "
+"em requisições não-faces, por exemplo, em  navegação através de um link."
 
 #. Tag: para
 #: scopescontexts.xml:179
 #, no-c-format
-msgid "We can force the conversation to propagate with a non-faces request by including the unique identifier of the conversation as a request parameter. The Web Beans specification reserves the request parameter named <literal>cid</literal> for this use. The unique identifier of the conversation may be obtained from the <literal>Conversation</literal> object, which has the Web Beans name <literal>conversation</literal>."
-msgstr "Nós podemos forçar a propagação da conversação em uma requisição não-faces incluindo o identificador único da conversação como um parâmetro da requisição. A especificação Web Beans reserva o parâmetro denominado <literal>cid</literal> para essa utilização. O identificador único da conversação pode ser obtido a partir do objeto <literal>Conversation</literal>, que tem o nome Web Bean <literal>conversation</literal>."
+msgid ""
+"We can force the conversation to propagate with a non-faces request by "
+"including the unique identifier of the conversation as a request parameter. "
+"The Web Beans specification reserves the request parameter named "
+"<literal>cid</literal> for this use. The unique identifier of the "
+"conversation may be obtained from the <literal>Conversation</literal> "
+"object, which has the Web Beans name <literal>conversation</literal>."
+msgstr ""
+"Nós podemos forçar a propagação da conversação em uma requisição não-faces "
+"incluindo o identificador único da conversação como um parâmetro da "
+"requisição. A especificação Web Beans reserva o parâmetro denominado "
+"<literal>cid</literal> para essa utilização. O identificador único da "
+"conversação pode ser obtido a partir do objeto <literal>Conversation</"
+"literal>, que tem o nome Web Bean <literal>conversation</literal>."
 
 #. Tag: para
 #: scopescontexts.xml:186
@@ -364,14 +495,29 @@
 #. Tag: programlisting
 #: scopescontexts.xml:188
 #, no-c-format
-msgid "<![CDATA[<a href=\"/addProduct.jsp?cid=#{conversation.id}\">Add Product</a>]]>"
-msgstr "<![CDATA[<a href=\"/addProduct.jsp?cid=#{conversation.id}\">Add Product</a>]]>"
+msgid ""
+"<![CDATA[<a href=\"/addProduct.jsp?cid=#{conversation.id}\">Add Product</a>]]"
+">"
+msgstr ""
+"<![CDATA[<a href=\"/addProduct.jsp?cid=#{conversation.id}\">Add Product</a>]]"
+">"
 
 #. Tag: para
 #: scopescontexts.xml:190
 #, no-c-format
-msgid "The Web Bean manager is also required to propagate conversations across any redirect, even if the conversation is not marked long-running. This makes it very easy to implement the common POST-then-redirect pattern, without resort to fragile constructs such as a \"flash\" object. In this case, the Web Bean manager automatically adds a request parameter to the redirect URL."
-msgstr "O gerenciador do Web Bean também é utilizado para propagar conversações em qualquer redirecionamento, mesmo se a conversação não estiver marcada como uma conversação de longa duração. Isso torna muito fácil a implementação do padrão POST-then-redirect, sem ter de recorrer a construções frágeis, como um objeto \"flash\". Neste caso, o gerenciador do Web Bean automaticamente adiciona um parâmetro de requisição a URL redirecionada."
+msgid ""
+"The Web Bean manager is also required to propagate conversations across any "
+"redirect, even if the conversation is not marked long-running. This makes it "
+"very easy to implement the common POST-then-redirect pattern, without resort "
+"to fragile constructs such as a \"flash\" object. In this case, the Web Bean "
+"manager automatically adds a request parameter to the redirect URL."
+msgstr ""
+"O gerenciador do Web Bean também é utilizado para propagar conversações em "
+"qualquer redirecionamento, mesmo se a conversação não estiver marcada como "
+"uma conversação de longa duração. Isso torna muito fácil a implementação do "
+"padrão POST-then-redirect, sem ter de recorrer a construções frágeis, como "
+"um objeto \"flash\". Neste caso, o gerenciador do Web Bean automaticamente "
+"adiciona um parâmetro de requisição a URL redirecionada."
 
 #. Tag: title
 #: scopescontexts.xml:200
@@ -382,14 +528,31 @@
 #. Tag: para
 #: scopescontexts.xml:202
 #, no-c-format
-msgid "The Web Bean manager is permitted to destroy a conversation and all state held in its context at any time in order to preserve resources. A Web Bean manager implementation will normally do this on the basis of some kind of timeout &#151; though this is not required by the Web Beans specification. The timeout is the period of inactivity before the conversation is destroyed."
-msgstr "O gerenciador do Web Bean pode destruir uma conversação e todos os estados mantidos em seu contexto, a qualquer momento, a fim de preservar recursos. A implementação do gerenciador do Web Bean irá normalmente fazer isso, com base em algum tipo de timeout &#151;  embora isso não seja exigido pela especificação Web Beans. O timeout é o período de inatividade antes que a conversação seja destruída."
+msgid ""
+"The Web Bean manager is permitted to destroy a conversation and all state "
+"held in its context at any time in order to preserve resources. A Web Bean "
+"manager implementation will normally do this on the basis of some kind of "
+"timeout &#151; though this is not required by the Web Beans specification. "
+"The timeout is the period of inactivity before the conversation is destroyed."
+msgstr ""
+"O gerenciador do Web Bean pode destruir uma conversação e todos os estados "
+"mantidos em seu contexto, a qualquer momento, a fim de preservar recursos. A "
+"implementação do gerenciador do Web Bean irá normalmente fazer isso, com "
+"base em algum tipo de timeout &#151;  embora isso não seja exigido pela "
+"especificação Web Beans. O timeout é o período de inatividade antes que a "
+"conversação seja destruída."
 
 #. Tag: para
 #: scopescontexts.xml:208
 #, no-c-format
-msgid "The <literal>Conversation</literal> object provides a method to set the timeout. This is a hint to the Web Bean manager, which is free to ignore the setting."
-msgstr "O objeto <literal>Conversation</literal> fornece um método para definir o tempo limite (timeout). Essa é uma sugestão para o gerente do Web Bean, que é livre para ignorar essa configuração."
+msgid ""
+"The <literal>Conversation</literal> object provides a method to set the "
+"timeout. This is a hint to the Web Bean manager, which is free to ignore the "
+"setting."
+msgstr ""
+"O objeto <literal>Conversation</literal> fornece um método para definir o "
+"tempo limite (timeout). Essa é uma sugestão para o gerente do Web Bean, que "
+"é livre para ignorar essa configuração."
 
 #. Tag: programlisting
 #: scopescontexts.xml:212
@@ -398,79 +561,127 @@
 msgstr "conversation.setTimeout(timeoutInMillis);"
 
 #. Tag: title
-#: scopescontexts.xml:219
+#: scopescontexts.xml:218
 #, no-c-format
 msgid "The dependent pseudo-scope"
 msgstr "O dependent pseudo-scope"
 
 #. Tag: para
-#: scopescontexts.xml:221
+#: scopescontexts.xml:220
 #, no-c-format
-msgid "In addition to the four built-in scopes, Web Beans features the so-called <emphasis>dependent pseudo-scope</emphasis>. This is the default scope for a Web Bean which does not explicitly declare a scope type."
-msgstr "Além dos quatro escopos pré-definidos, Web Beans possui o chamado <emphasis>dependent pseudo-scope</emphasis>. Esse é o escopo padrão para um Web Bean que não declare explicitamente um tipo de escopo."
+msgid ""
+"In addition to the four built-in scopes, Web Beans features the so-called "
+"<emphasis>dependent pseudo-scope</emphasis>. This is the default scope for a "
+"Web Bean which does not explicitly declare a scope type."
+msgstr ""
+"Além dos quatro escopos pré-definidos, Web Beans possui o chamado "
+"<emphasis>dependent pseudo-scope</emphasis>. Esse é o escopo padrão para um "
+"Web Bean que não declare explicitamente um tipo de escopo."
 
 #. Tag: para
-#: scopescontexts.xml:225
+#: scopescontexts.xml:224
 #, no-c-format
-msgid "For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
-msgstr "Por exemplo, esse Web Bean tem o tipo de escopo <literal>@Dependent</literal>:"
+msgid ""
+"For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
+msgstr ""
+"Por exemplo, esse Web Bean tem o tipo de escopo <literal>@Dependent</"
+"literal>:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:227
+#: scopescontexts.xml:226
 #, no-c-format
 msgid "<![CDATA[public class Calculator { ... }]]>"
 msgstr "<![CDATA[public class Calculator { ... }]]>"
 
 #. Tag: para
-#: scopescontexts.xml:229
+#: scopescontexts.xml:228
 #, no-c-format
-msgid "When an injection point of a Web Bean resolves to a dependent Web Bean, a new instance of the dependent Web Bean is created every time the first Web Bean is instantiated. Instances of dependent Web Beans are never shared between different Web Beans or different injection points. They are <emphasis>dependent objects</emphasis> of some other Web Bean instance."
-msgstr "Quando um ponto de injeção num Web Bean resolve para um Web Bean dependente, uma nova instância do Web Bean dependente é criada a cada vez que o primeiro Web Bean for instanciado. Instâncias de Web Beans dependentes nunca são compartilhadas entre diferentes Web Beans ou diferentes pontos de injeção. Eles são <emphasis>objetos dependentes</emphasis> de alguma outra instância de Web Bean."
+msgid ""
+"When an injection point of a Web Bean resolves to a dependent Web Bean, a "
+"new instance of the dependent Web Bean is created every time the first Web "
+"Bean is instantiated. Instances of dependent Web Beans are never shared "
+"between different Web Beans or different injection points. They are "
+"<emphasis>dependent objects</emphasis> of some other Web Bean instance."
+msgstr ""
+"Quando um ponto de injeção num Web Bean resolve para um Web Bean dependente, "
+"uma nova instância do Web Bean dependente é criada a cada vez que o primeiro "
+"Web Bean for instanciado. Instâncias de Web Beans dependentes nunca são "
+"compartilhadas entre diferentes Web Beans ou diferentes pontos de injeção. "
+"Eles são <emphasis>objetos dependentes</emphasis> de alguma outra instância "
+"de Web Bean."
 
 #. Tag: para
-#: scopescontexts.xml:235
+#: scopescontexts.xml:234
 #, no-c-format
-msgid "Dependent Web Bean instances are destroyed when the instance they depend upon is destroyed."
-msgstr "Instâncias de Web Bean dependentes são destruídas quando a instância de que eles dependem é destruída."
+msgid ""
+"Dependent Web Bean instances are destroyed when the instance they depend "
+"upon is destroyed."
+msgstr ""
+"Instâncias de Web Bean dependentes são destruídas quando a instância de que "
+"eles dependem é destruída."
 
 #. Tag: para
-#: scopescontexts.xml:243
+#: scopescontexts.xml:242
 #, no-c-format
-msgid "Web Beans makes it easy to obtain a dependent instance of a Java class or EJB bean, even if the class or EJB bean is already declared as a Web Bean with some other scope type."
-msgstr "Web Beans torna fácil a obtenção de uma instância dependente de uma classe Java ou um EJB, mesmo se a classe ou EJB já tiverem sido declarados como um Web Bean com outro tipo de escopo."
+msgid ""
+"Web Beans makes it easy to obtain a dependent instance of a Java class or "
+"EJB bean, even if the class or EJB bean is already declared as a Web Bean "
+"with some other scope type."
+msgstr ""
+"Web Beans torna fácil a obtenção de uma instância dependente de uma classe "
+"Java ou um EJB, mesmo se a classe ou EJB já tiverem sido declarados como um "
+"Web Bean com outro tipo de escopo."
 
 #. Tag: title
-#: scopescontexts.xml:248
+#: scopescontexts.xml:247
 #, no-c-format
 msgid "The <literal>@New</literal> annotation"
 msgstr "A anotação <literal>@New</literal> "
 
 #. Tag: para
-#: scopescontexts.xml:250
+#: scopescontexts.xml:249
 #, no-c-format
-msgid "The built-in <literal>@New</literal> binding annotation allows <emphasis>implicit</emphasis> definition of a dependent Web Bean at an injection point. Suppose we declare the following injected field:"
-msgstr "A anotação de binding pré-definida <literal>@New</literal> permite a definição <emphasis>implicita</emphasis> de um Web Bean dependente em um ponto de injeção. Suponha que nós declaramos o seguinte campo injetado:"
+msgid ""
+"The built-in <literal>@New</literal> binding annotation allows "
+"<emphasis>implicit</emphasis> definition of a dependent Web Bean at an "
+"injection point. Suppose we declare the following injected field:"
+msgstr ""
+"A anotação de binding pré-definida <literal>@New</literal> permite a "
+"definição <emphasis>implicita</emphasis> de um Web Bean dependente em um "
+"ponto de injeção. Suponha que nós declaramos o seguinte campo injetado:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:254
+#: scopescontexts.xml:253
 #, no-c-format
 msgid "<![CDATA[@New Calculator calculator;]]>"
 msgstr "<![CDATA[@New Calculator calculator;]]>"
 
 #. Tag: para
-#: scopescontexts.xml:256
+#: scopescontexts.xml:255
 #, no-c-format
-msgid "Then a Web Bean with scope <literal>@Dependent</literal>, binding type <literal>@New</literal>, API type <literal>Calculator</literal>, implementation class <literal>Calculator</literal> and deployment type <literal>@Standard</literal> is implicitly defined."
-msgstr "Em seguida, um Web Bean com escopo <literal>@Dependent</literal>, tipo de binding <literal>@New</literal>, API do tipo <literal>Calculator</literal>, classe de implementação <literal>Calculator</literal> e tipo de implantação <literal>@Standard</literal> é definido implicitamente."
+msgid ""
+"Then a Web Bean with scope <literal>@Dependent</literal>, binding type "
+"<literal>@New</literal>, API type <literal>Calculator</literal>, "
+"implementation class <literal>Calculator</literal> and deployment type "
+"<literal>@Standard</literal> is implicitly defined."
+msgstr ""
+"Em seguida, um Web Bean com escopo <literal>@Dependent</literal>, tipo de "
+"binding <literal>@New</literal>, API do tipo <literal>Calculator</literal>, "
+"classe de implementação <literal>Calculator</literal> e tipo de implantação "
+"<literal>@Standard</literal> é definido implicitamente."
 
 #. Tag: para
-#: scopescontexts.xml:261
+#: scopescontexts.xml:260
 #, no-c-format
-msgid "This is true even if <literal>Calculator</literal> is <emphasis>already</emphasis> declared with a different scope type, for example:"
-msgstr "Isso é verdade mesmo se <literal>Calculator</literal> <emphasis>já</emphasis> estiver declarado com um tipo de escopo diferente, por exemplo:"
+msgid ""
+"This is true even if <literal>Calculator</literal> is <emphasis>already</"
+"emphasis> declared with a different scope type, for example:"
+msgstr ""
+"Isso é verdade mesmo se <literal>Calculator</literal> <emphasis>já</"
+"emphasis> estiver declarado com um tipo de escopo diferente, por exemplo:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:264
+#: scopescontexts.xml:263
 #, no-c-format
 msgid ""
 "<![CDATA[@ConversationScoped\n"
@@ -480,13 +691,17 @@
 "public class Calculator { ... }]]>"
 
 #. Tag: para
-#: scopescontexts.xml:266
+#: scopescontexts.xml:265
 #, no-c-format
-msgid "So the following injected attributes each get a different instance of <literal>Calculator</literal>:"
-msgstr "Portanto, os seguintes atributos injetados obtêm uma instância diferente de <literal>Calculator</literal>:"
+msgid ""
+"So the following injected attributes each get a different instance of "
+"<literal>Calculator</literal>:"
+msgstr ""
+"Portanto, os seguintes atributos injetados obtêm uma instância diferente de "
+"<literal>Calculator</literal>:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:269
+#: scopescontexts.xml:268
 #, no-c-format
 msgid ""
 "<![CDATA[public class PaymentCalc {\n"
@@ -504,14 +719,26 @@
 "}]]>"
 
 #. Tag: para
-#: scopescontexts.xml:271
+#: scopescontexts.xml:270
 #, no-c-format
-msgid "The <literal>calculator</literal> field has a conversation-scoped instance of <literal>Calculator</literal> injected. The <literal>newCalculator</literal> field has a new instance of <literal>Calculator</literal> injected, with a lifecycle that is bound to the owning <literal>PaymentCalc</literal>."
-msgstr "O campo <literal>calculator</literal> tem uma instância de <literal>Calculator</literal> em escopo de conversação injetada. O campo <literal>newCalculator</literal> tem uma nova instância do <literal>Calculator</literal> injetada, com ciclo de vida que é vinculado à <literal>PaymentCalc</literal>."
+msgid ""
+"The <literal>calculator</literal> field has a conversation-scoped instance "
+"of <literal>Calculator</literal> injected. The <literal>newCalculator</"
+"literal> field has a new instance of <literal>Calculator</literal> injected, "
+"with a lifecycle that is bound to the owning <literal>PaymentCalc</literal>."
+msgstr ""
+"O campo <literal>calculator</literal> tem uma instância de "
+"<literal>Calculator</literal> em escopo de conversação injetada. O campo "
+"<literal>newCalculator</literal> tem uma nova instância do "
+"<literal>Calculator</literal> injetada, com ciclo de vida que é vinculado à "
+"<literal>PaymentCalc</literal>."
 
 #. Tag: para
-#: scopescontexts.xml:276
+#: scopescontexts.xml:275
 #, no-c-format
-msgid "This feature is particularly useful with producer methods, as we'll see in the next chapter."
-msgstr "Essa funcionalidade é particularmente útil em métodos produtores, como poderemos verificar no próximo capítulo. "
-
+msgid ""
+"This feature is particularly useful with producer methods, as we'll see in "
+"the next chapter."
+msgstr ""
+"Essa funcionalidade é particularmente útil em métodos produtores, como "
+"poderemos verificar no próximo capítulo. "

Added: doc/trunk/reference/pt-BR/viewlayers.po
===================================================================
--- doc/trunk/reference/pt-BR/viewlayers.po	                        (rev 0)
+++ doc/trunk/reference/pt-BR/viewlayers.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,160 @@
+# Language pt-BR translations for Web_Beans:_Java_Contexts_and_Dependency_Injection package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2009-04-19 20:36+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: viewlayers.xml:4
+#, no-c-format
+msgid "Alternative view layers"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:7
+#, no-c-format
+msgid "Using Web Beans with Wicket"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:10
+#, no-c-format
+msgid "The <literal>WebApplication</literal> class"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:12
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass; Web Beans provides, for your utility, a subclass of this which "
+"sets up the Wicket/JSR-299 integration. You should subclass <literal>org."
+"jboss.webbeans.wicket.WebBeansApplication</literal>."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:21
+#, no-c-format
+msgid ""
+"If you would prefer not to subclass <literal>WebBeansApplication</literal>, "
+"you can manually add a (small!) number of overrides and listeners to your "
+"own <literal>WebApplication</literal> subclass. The javadocs of "
+"<literal>WebBeansApplication</literal>detail this."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:30
+#, no-c-format
+msgid "For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: viewlayers.xml:33
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:37
+#, no-c-format
+msgid "Conversations with Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:38
+#, no-c-format
+msgid ""
+"The conversation scope can be used in Web Beans with the Apache Wicket web "
+"framework, through the <literal>webbeans-wicket</literal> module. This "
+"module takes care of:"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:45
+#, no-c-format
+msgid ""
+"Setting up the conversation context at the beginning of a Wicket request, "
+"and tearing it down afterwards"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:51
+#, no-c-format
+msgid ""
+"Storing the id of any long-running conversation in Wicket's metadata when "
+"the page response is complete"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:57
+#, no-c-format
+msgid ""
+"Activating the correct long-running conversation based upon which page is "
+"being accessed"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:63
+#, no-c-format
+msgid ""
+"Propagating the conversation context for any long-running conversation to "
+"new pages"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:70
+#, no-c-format
+msgid "Starting and stopping conversations in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:71
+#, no-c-format
+msgid ""
+"As JSF applications, a conversation <emphasis>always</emphasis> exists for "
+"any request, but its lifetime is only that of the current request unless it "
+"is marked as <emphasis>long-running</emphasis>. For Wicket applications this "
+"is accomplished as in JSF applications, by injecting the <literal>@Current "
+"Conversation</literal> and then invoking <literal>conversation.begin()</"
+"literal>. Likewise, conversations are ended with <literal>conversation.end()"
+"</literal>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:85
+#, no-c-format
+msgid "Long running conversation propagation in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:86
+#, no-c-format
+msgid ""
+"When a conversation is marked as long-running, the id of that conversation "
+"will be stored in Wicket's metadata for the current page. If a new page is "
+"created and set as the response target through <literal>setResponsePage</"
+"literal>, this new page will also participate in this conversation. This "
+"occurs for both directly instantiated pages (<literal>setResponsePage(new "
+"OtherPage())</literal>), as well as for bookmarkable pages created with "
+"<literal>setResponsePage(OtherPage.class)</literal> where <literal>OtherPage."
+"class</literal> is mounted as bookmarkable from your "
+"<literal>WebApplication</literal> subclass (or through annotations). In the "
+"latter case, because the new page instance is not created until after a "
+"redirect, the conversation id will be propagated through a request "
+"parameter, and then stored in page metadata after the redirect."
+msgstr ""

Modified: doc/trunk/reference/zh-CN/environments.po
===================================================================
--- doc/trunk/reference/zh-CN/environments.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/zh-CN/environments.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 "Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
 "VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-28 17:09+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -96,13 +96,15 @@
 #. Tag: title
 #: environments.xml:53
 #, no-c-format
-msgid "Tomcat (or any plain Servlet container)"
+msgid "Servlet Containers (such as Tomcat or Jetty)"
 msgstr ""
 
 #. Tag: para
 #: environments.xml:55
 #, no-c-format
-msgid "Web Beans can be used in Tomcat 6.0."
+msgid ""
+"Web Beans can be used in any Servlet container such as Tomcat 6.0 or Jetty "
+"6.1."
 msgstr ""
 
 #. Tag: para
@@ -111,17 +113,18 @@
 msgid ""
 "Web Beans doesn't support deploying session beans, injection using "
 "<literal>@EJB</literal>, or <literal>@PersistenceContext</literal> or using "
-"transactional events on Tomcat."
+"transactional events in Servlet containers."
 msgstr ""
 
 #. Tag: para
 #: environments.xml:66
 #, no-c-format
 msgid ""
-"Web Beans should be used as a web application library in Tomcat. You should "
-"place <literal>webbeans-tomcat.jar</literal> in <literal>WEB-INF/lib</"
-"literal>. <literal>webbeans-tomcat.jar</literal> is an \"uber-jar\" provided "
-"for your convenience. Instead, you could use its component jars:"
+"Web Beans should be used as a web application library in a servlet "
+"container. You should place <literal>webbeans-servlet.jar</literal> in "
+"<literal>WEB-INF/lib</literal>. <literal>webbeans-serv;et.jar</literal> is "
+"an \"uber-jar\" provided for your convenience. Instead, you could use its "
+"component jars:"
 msgstr ""
 
 #. Tag: literal
@@ -157,7 +160,7 @@
 #. Tag: literal
 #: environments.xml:102
 #, no-c-format
-msgid "webbeans-tomcat-int.jar"
+msgid "webbeans-servlet-int.jar"
 msgstr ""
 
 #. Tag: literal
@@ -176,9 +179,9 @@
 #: environments.xml:117
 #, no-c-format
 msgid ""
-"You also need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control its interaction with requests) in <literal>web."
-"xml</literal>:"
+"You also need to explicitly specify the servlet listener (used to boot Web "
+"Beans, and control its interaction with requests) in <literal>web.xml</"
+"literal>:"
 msgstr ""
 
 #. Tag: programlisting
@@ -191,8 +194,14 @@
 "</listener>]]>"
 msgstr ""
 
+#. Tag: title
+#: environments.xml:126
+#, no-c-format
+msgid "Tomcat"
+msgstr ""
+
 #. Tag: para
-#: environments.xml:125
+#: environments.xml:128
 #, no-c-format
 msgid ""
 "Tomcat has a read-only JNDI, so Web Beans can't automatically bind the "
@@ -201,7 +210,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:131
+#: environments.xml:134
 #, no-c-format
 msgid ""
 "<![CDATA[<Resource name=\"app/Manager\" \n"
@@ -212,7 +221,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:133
+#: environments.xml:136
 #, no-c-format
 msgid ""
 "and make it available to your deployment by adding this to <literal>web.xml</"
@@ -220,7 +229,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:138
+#: environments.xml:141
 #, no-c-format
 msgid ""
 "<![CDATA[<resource-env-ref>\n"
@@ -234,7 +243,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:140
+#: environments.xml:143
 #, no-c-format
 msgid ""
 "Tomcat only allows you to bind entries to <literal>java:comp/env</literal>, "
@@ -243,7 +252,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:146
+#: environments.xml:149
 #, no-c-format
 msgid ""
 "Web Beans also supports Servlet injection in Tomcat. To enable this, place "
@@ -253,7 +262,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:153
+#: environments.xml:156
 #, no-c-format
 msgid ""
 "<![CDATA[<Listener className=\"org.jboss.webbeans.environment.tomcat."
@@ -261,13 +270,13 @@
 msgstr ""
 
 #. Tag: title
-#: environments.xml:158
+#: environments.xml:163
 #, no-c-format
 msgid "Java SE"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:160
+#: environments.xml:165
 #, no-c-format
 msgid ""
 "Apart from improved integration of the Enterprise Java stack, Web Beans also "
@@ -279,7 +288,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:168
+#: environments.xml:173
 #, no-c-format
 msgid ""
 "When executing in the SE environment the following features of Web Beans are "
@@ -287,61 +296,49 @@
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:174
+#: environments.xml:179
 #, no-c-format
 msgid "Simple Web Beans (POJOs)"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:179
+#: environments.xml:184
 #, no-c-format
 msgid "Typesafe Dependency Injection"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:184
+#: environments.xml:189
 #, no-c-format
 msgid "Application and Dependent Contexts"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:189
+#: environments.xml:194
 #, no-c-format
 msgid "Binding Types"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:194
+#: environments.xml:199
 #, no-c-format
 msgid "Stereotypes"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:199
-#, no-c-format
-msgid "Decorators"
-msgstr ""
-
-#. Tag: literal
 #: environments.xml:204
 #, no-c-format
-msgid "(TODO: Interceptors ?)"
-msgstr ""
-
-#. Tag: literal
-#: environments.xml:209
-#, no-c-format
 msgid "Typesafe Event Model"
 msgstr ""
 
 #. Tag: title
-#: environments.xml:215
+#: environments.xml:210
 #, no-c-format
 msgid "Web Beans SE Module"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:217
+#: environments.xml:212
 #, no-c-format
 msgid ""
 "To make life easy for developers Web Beans provides a special module with a "
@@ -354,7 +351,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:226
+#: environments.xml:221
 #, no-c-format
 msgid ""
 "<![CDATA[@Parameters List<String> params;\n"
@@ -363,13 +360,13 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:227
+#: environments.xml:222
 #, no-c-format
 msgid "Here's an example of a simple Web Beans SE application:"
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:231
+#: environments.xml:226
 #, no-c-format
 msgid ""
 "<![CDATA[@ApplicationScoped\n"
@@ -385,20 +382,20 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:233
+#: environments.xml:228
 #, no-c-format
 msgid ""
 "Web Beans SE applications are started by running the following main method."
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:235
+#: environments.xml:230
 #, no-c-format
 msgid "<![CDATA[java org.jboss.webbeans.environments.se.StartMain <args>]]>"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:237
+#: environments.xml:232
 #, no-c-format
 msgid ""
 "If you need to do any custom initialization of the Web Beans manager, for "
@@ -408,7 +405,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:242
+#: environments.xml:237
 #, no-c-format
 msgid ""
 "<![CDATA[public class PerformSetup\n"
@@ -422,7 +419,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:246
+#: environments.xml:240
 #, no-c-format
 msgid ""
 "The command line parameters do not become available for injection until the "

Modified: doc/trunk/reference/zh-CN/extensions.po
===================================================================
--- doc/trunk/reference/zh-CN/extensions.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/zh-CN/extensions.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -3,9 +3,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
+"VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-03-28 17:09+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-28 17:09+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -33,13 +34,68 @@
 msgstr ""
 
 #. Tag: para
-#: extensions.xml:17 extensions.xml:26
+#: extensions.xml:17
 #, no-c-format
-msgid "TODO"
+msgid ""
+"Adding logging to your application is now even easier with simple injection "
+"of a logger object into any JSR-299 bean. Simply annotate a org.jboss."
+"webbeans.log.Log type member with <emphasis>@Logger</emphasis> and an "
+"appropriate logger object will be injected into any instance of the bean."
 msgstr ""
 
-#. Tag: title
-#: extensions.xml:24
+#. Tag: programlisting
+#: extensions.xml:25
 #, no-c-format
-msgid "XSD Generator for JSR-299 XML deployment descriptors"
+msgid ""
+"<![CDATA[public class Checkout {\n"
+"    import org.jboss.webbeans.annotation.Logger;\n"
+"    import org.jboss.webbeans.log.Log;\n"
+"    \n"
+"    @Logger\n"
+"    private Log log;\n"
+"\n"
+"    void invoiceItems() {\n"
+"        ShoppingCart cart;\n"
+"        . . .\n"
+"        log.debug(\"Items invoiced for {0}\", cart);\n"
+"    }\n"
+"    \n"
+"}]]>"
 msgstr ""
+
+#. Tag: para
+#: extensions.xml:27
+#, no-c-format
+msgid ""
+"The example shows how objects can be interpolated into a message. This "
+"interpolation is done using <emphasis>java.text.MessageFormat</emphasis>, so "
+"see the JavaDoc for that class for more details. In this case, the "
+"ShoppingCart should have implemented the <emphasis>toString()</emphasis> "
+"method to produce a human readable value that is meaningful in messages. "
+"Normally, this call would have involved evaluating cart.toString() with "
+"String concatenation to produce a single String argument. Thus it was "
+"necessary to surround the call with an if-statement using the condition "
+"<emphasis>log.isDebugEnabled()</emphasis> to avoid the expensive String "
+"concatenation if the message was not actually going to be used. However, "
+"when using @Logger injected logging, the conditional test can be left out "
+"since the object arguments are not evaluated unless the message is going to "
+"be logged."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:44
+#, no-c-format
+msgid ""
+"You can add the Web Beans Logger to your project by including webbeans-"
+"logger.jar and webbeans-logging.jar to your project. Alternatively, express "
+"a dependency on the <literal>org.jboss.webbeans:webbeans-logger</literal> "
+"Maven artifact."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:51
+#, no-c-format
+msgid ""
+"If you are using Web Beans as your JSR-299 implementation, there is no need "
+"to include <literal>webbeans-logging.jar</literal> as it's already included."
+msgstr ""

Copied: doc/trunk/reference/zh-CN/gettingstarted.po (from rev 2516, doc/trunk/reference/zh-CN/ri.po)
===================================================================
--- doc/trunk/reference/zh-CN/gettingstarted.po	                        (rev 0)
+++ doc/trunk/reference/zh-CN/gettingstarted.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,1433 @@
+# Language zh-CN translations for master.xml package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: master.xml\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-03-28 17:09+0000\n"
+"PO-Revision-Date: 2009-03-30 09:39+0800\n"
+"Last-Translator: Sean Wu <alartin at gmail.com>\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: ri.xml:4
+#, no-c-format
+msgid "Web Beans, the Reference Implementation of JSR-299"
+msgstr "使用Web Beans的参考实现"
+
+#. Tag: para
+#: ri.xml:6
+#, no-c-format
+msgid "The Web Beans is being developed at <ulink url=\"http://seamframework.org/WebBeans\">the Seam project</ulink>. You can download the latest developer release of Web Beans from the <ulink url=\"http://seamframework.org/Download\">the downloads page</ulink>."
+msgstr "Web Bean参考实现由<ulink url=\"http://seamframework.org/WebBeans\">Seam项目</ulink>开发。你可以从<ulink url=\"http://seamframework.org/Download\">the downloads page</ulink>下载最新的开发者版本。"
+
+#. Tag: para
+#: ri.xml:13
+#, no-c-format
+msgid "Web Beans comes with a two deployable example applications: <literal>webbeans-numberguess</literal>, a war example, containing only simple beans, and <literal>webbeans-translator</literal> an ear example, containing enterprise beans. There are also two variations on the numberguess example, the tomcat example (suitable for deployment to Tomcat) and the jsf2 example, which you can use if you are running JSF2. To run the examples you'll need the following:"
+msgstr "Web Beans RI自带了两个例子:<literal>webbeans-numberguess</literal> (一个仅包含一个简单Bean的WAR应用例子)和<literal>webbeans-translator</literal> (一个包含企业Bean的EAR应用例子)。为了运行例子,你需要:"
+
+#. Tag: para
+#: ri.xml:25
+#, no-c-format
+msgid "the latest release of Web Beans,"
+msgstr "最新的Web Bean参考实现版本,"
+
+#. Tag: para
+#: ri.xml:28
+#, no-c-format
+msgid "JBoss AS 5.0.1.GA, or"
+msgstr "JBoss AS 5.0.0.GA, 和"
+
+#. Tag: para
+#: ri.xml:31
+#, no-c-format
+msgid "Apache Tomcat 6.0.x, and"
+msgstr "Apache Tomcat 6.0.X,和"
+
+#. Tag: para
+#: ri.xml:34
+#, no-c-format
+msgid "Ant 1.7.0."
+msgstr "Ant 1.7.0."
+
+#. Tag: title
+#: ri.xml:39
+#, no-c-format
+msgid "Using JBoss AS 5"
+msgstr "使用JBoss AS 5"
+
+#. Tag: para
+#: ri.xml:41
+#, no-c-format
+msgid "You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss.org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
+msgstr "当前,Web Beans参考实现只能运行在JBoss AS 5之上。你需要从<ulink url=\"http://www.jboss.org/jbossas/downloads/\">jboss.org</ulink>下载JBoss AS 5.0.0.GA, 然后解压。例如:"
+
+#. Tag: programlisting
+#: ri.xml:47
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.1.GA.zip]]>"
+msgstr ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.0.GA.zip]]>"
+
+#. Tag: para
+#: ri.xml:49
+#: ri.xml:170
+#, no-c-format
+msgid "Next, download Web Beans from <ulink url=\"http://seamframework.org/Download\">seamframework.org</ulink>, and unzip it. For example"
+msgstr "然后从<ulink url=\"http://seamframework.org/WebBeans\">seamframework.org</ulink>下载Web Beans的参考实现,然后解压。例如:"
+
+#. Tag: programlisting
+#: ri.xml:55
+#: ri.xml:176
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-$VERSION.zip]]>"
+msgstr ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-1.0.0.ALPHA1.zip]]>"
+
+#. Tag: para
+#: ri.xml:58
+#, no-c-format
+msgid "Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-as/build.properties</literal> and set the <literal>jboss.home</literal> property. For example:"
+msgstr "然后,我们需要告诉Web Beans JBoss的位置。编辑<literal>jboss-as/build.properties</literal>,设置<literal>jboss.home</literal>属性。例如:"
+
+#. Tag: programlisting
+#: ri.xml:64
+#, no-c-format
+msgid "jboss.home=/Applications/jboss-5.0.1.GA"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: ri.xml:66
+#, no-c-format
+msgid "To install Web Beans, you'll need Ant 1.7.0 installed, and the <literal>ANT_HOME</literal> environment variable set. For example:"
+msgstr "为了安装更新,你需要安装Ant 1.7.0,设置<literal>ANT_HOME</literal>环境变量。例如:"
+
+#. Tag: para
+#: ri.xml:67
+#, no-c-format
+msgid "Web Beans is bundled with JBoss AS 5.1 and above."
+msgstr "JBoss AS 5.1版本及以上捆绑了Web Bean。"
+
+#. Tag: para
+#: ri.xml:72
+#, no-c-format
+msgid "To install Web Beans, you'll need Ant 1.7.0 installed, and the <literal>ANT_HOME</literal> environment variable set. For example:"
+msgstr "为了安装更新,你需要安装Ant 1.7.0,设置<literal>ANT_HOME</literal>环境变量。例如:"
+
+#. Tag: programlisting
+#: ri.xml:71
+#, no-c-format
+msgid ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+msgstr ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+
+#. Tag: para
+#: ri.xml:73
+#, no-c-format
+msgid "Then, you can install the update. The update script will use Maven to download Web Beans automatically."
+msgstr "然后,你需要安装更新,更新脚本使用Maven来自动下载Web Beans和EJB3。"
+
+#. Tag: programlisting
+#: ri.xml:78
+#, no-c-format
+msgid ""
+"$ cd webbeans-$VERSION/jboss-as\n"
+"$ ant update"
+msgstr ""
+"$ cd webbeans-1.0.0.ALPHA1/jboss-as\n"
+"$ ant update"
+
+#. Tag: para
+#: ri.xml:80
+#, no-c-format
+msgid "Now, you're ready to deploy your first example!"
+msgstr "现在,你可以部署你的第一个例子了!"
+
+#. Tag: para
+#: ri.xml:85
+#, no-c-format
+msgid "The build scripts for the examples offer a number of targets for JBoss AS, these are:"
+msgstr "例子的构建脚本包含多个目标:"
+
+#. Tag: para
+#: ri.xml:91
+#, no-c-format
+msgid "<literal>ant restart</literal> - deploy the example in exploded format"
+msgstr "<literal>ant restart</literal> - 以exploded形式部署例子"
+
+#. Tag: para
+#: ri.xml:97
+#, no-c-format
+msgid "<literal>ant explode</literal> - update an exploded example, without restarting the deployment"
+msgstr "<literal>ant explode</literal> - 无需重新部署,更新一个exploded形式部署的例子"
+
+#. Tag: para
+#: ri.xml:103
+#, no-c-format
+msgid "<literal>ant deploy</literal> - deploy the example in compressed jar format"
+msgstr "<literal>ant deploy</literal> - 以压缩jar包形式部署例子"
+
+#. Tag: para
+#: ri.xml:108
+#, no-c-format
+msgid "<literal>ant undeploy</literal> - remove the example from the server"
+msgstr "<literal>ant undeploy</literal> - 将例子从服务器中移除"
+
+#. Tag: para
+#: ri.xml:113
+#, no-c-format
+msgid "<literal>ant clean</literal> - clean the example"
+msgstr "<literal>ant clean</literal> - 清除例子"
+
+#. Tag: para
+#: ri.xml:120
+#, no-c-format
+msgid "To deploy the numberguess example:"
+msgstr "部署猜数字(numberguess)例子:"
+
+#. Tag: programlisting
+#: ri.xml:124
+#, no-c-format
+msgid ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+msgstr ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+
+#. Tag: para
+#: ri.xml:126
+#, no-c-format
+msgid "Start JBoss AS:"
+msgstr "启动 JBoss AS:"
+
+#. Tag: programlisting
+#: ri.xml:130
+#, no-c-format
+msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: ri.xml:133
+#, no-c-format
+msgid "If you use Windows, use the <literal>run.bat</literal>script."
+msgstr "如果你使用Windows操作系统,则使用<literal>run.bat</literal> 脚本。"
+
+#. Tag: para
+#: ri.xml:138
+#: ri.xml:240
+#, no-c-format
+msgid "Wait for the application to deploy, and enjoy hours of fun at <ulink url=\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
+msgstr "等待应用部署完毕,好好体验一下<ulink url=\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
+
+#. Tag: para
+#: ri.xml:143
+#, no-c-format
+msgid "Web Beans includes a second simple example that will translate your text into Latin. The numberguess example is a war example, and uses only simple beans; the translator example is an ear example, and includes enterprise beans, packaged in an EJB module. To try it out:"
+msgstr "Web Bean参考实现的第二个简单例子能够将你的文本翻译为拉丁文。猜数字例子是一个WAR应用,仅仅使用了一个简单Beans;翻译器例子是一个EAR应用,包含了打包在EJB模块中的企业Beans。试一下:"
+
+#. Tag: programlisting
+#: ri.xml:150
+#, no-c-format
+msgid ""
+"$ cd examples/translator\n"
+"ant deploy"
+msgstr ""
+"$ cd examples/traslator\n"
+"ant deploy"
+
+#. Tag: para
+#: ri.xml:152
+#, no-c-format
+msgid "Wait for the application to deploy, and visit <ulink url=\"http://localhost:8080/webbeans-translator\"></ulink>!"
+msgstr "等待应用部署,试一下<ulink url=\"http://localhost:8080/webbeans-translator\"></ulink>!"
+
+#. Tag: title
+#: ri.xml:160
+#, no-c-format
+msgid "Using Apache Tomcat 6.0"
+msgstr "使用Apache Tomcat 6.0"
+
+#. Tag: para
+#: ri.xml:162
+#, no-c-format
+msgid "You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. For example:"
+msgstr "然后从<ulink url=\"http://seamframework.org/WebBeans\">seamframework.org</ulink>下载Web Beans的参考实现,然后解压。例如:"
+
+#. Tag: programlisting
+#: ri.xml:168
+#, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
+msgstr ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.0.GA.zip]]>"
+
+#. Tag: para
+#: ri.xml:178
+#, no-c-format
+msgid "Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-as/build.properties</literal> and set the <literal>tomcat.home</literal> property. For example:"
+msgstr "然后,我们需要告诉Web Beans JBoss的位置。编辑<literal>jboss-as/build.properties</literal>,设置<literal>jboss.home</literal>属性。例如:"
+
+#. Tag: programlisting
+#: ri.xml:184
+#, no-c-format
+msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: ri.xml:187
+#, no-c-format
+msgid "The build scripts for the examples offer a number of targets for Tomcat, these are:"
+msgstr "例子的构建脚本包含多个目标:"
+
+#. Tag: para
+#: ri.xml:193
+#, no-c-format
+msgid "<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
+msgstr "<literal>ant restart</literal> - 以exploded形式部署例子"
+
+#. Tag: para
+#: ri.xml:199
+#, no-c-format
+msgid "<literal>ant tomcat.explode</literal> - update an exploded example, without restarting the deployment"
+msgstr "<literal>ant explode</literal> - 无需重新部署,更新一个exploded形式部署的例子"
+
+#. Tag: para
+#: ri.xml:205
+#, no-c-format
+msgid "<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar format"
+msgstr "<literal>ant deploy</literal> - 以压缩jar包形式部署例子"
+
+#. Tag: para
+#: ri.xml:210
+#, no-c-format
+msgid "<literal>ant tomcat.undeploy</literal> - remove the example from the server"
+msgstr "<literal>ant undeploy</literal> - 将例子从服务器中移除"
+
+#. Tag: para
+#: ri.xml:215
+#, no-c-format
+msgid "<literal>ant tomcat.clean</literal> - clean the example"
+msgstr "<literal>ant clean</literal> - 清除例子"
+
+#. Tag: para
+#: ri.xml:222
+#, no-c-format
+msgid "To deploy the numberguess example for tomcat:"
+msgstr "部署猜数字(numberguess)例子:"
+
+#. Tag: programlisting
+#: ri.xml:226
+#, no-c-format
+msgid ""
+"$ cd examples/tomcat\n"
+"ant tomcat.deploy"
+msgstr ""
+"$ cd examples/traslator\n"
+"ant deploy"
+
+#. Tag: para
+#: ri.xml:228
+#, no-c-format
+msgid "Start Tomcat:"
+msgstr "启动Tomcat:"
+
+#. Tag: programlisting
+#: ri.xml:232
+#, no-c-format
+msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: ri.xml:235
+#, no-c-format
+msgid "If you use Windows, use the <literal>startup.bat</literal>script."
+msgstr "如果你使用Windows操作系统,则使用<literal>run.bat</literal> 脚本。"
+
+#. Tag: title
+#: ri.xml:248
+#, no-c-format
+msgid "Using GlassFish"
+msgstr "使用Glassfish"
+
+#. Tag: para
+#: ri.xml:250
+#, no-c-format
+msgid "TODO"
+msgstr "待办"
+
+#. Tag: title
+#: ri.xml:254
+#, no-c-format
+msgid "The numberguess example"
+msgstr "猜数字例子"
+
+#. Tag: para
+#: ri.xml:256
+#, no-c-format
+msgid "In the numberguess application you get given 10 attempts to guess a number between 1 and 100. After each attempt, you will be told whether you are too high, or too low."
+msgstr "在猜数字应用中,你有十次机会来猜一个1到100之间的数字。每次猜测之后,应用都会告诉你你猜的数字是高了还是低了。"
+
+#. Tag: para
+#: ri.xml:262
+#, no-c-format
+msgid "The numberguess example is comprised of a number of Web Beans, configuration files, and Facelet JSF pages, packaged as a war. Let's start with the configuration files."
+msgstr "猜数字应用由Web Beans,配置文件,Facelete JSF页面组成,打包为一个WAR。我们先看一下配置文件。"
+
+#. Tag: para
+#: ri.xml:268
+#, no-c-format
+msgid "All the configuration files for this example are located in <literal>WEB-INF/</literal>, which is stored in <literal>WebContent</literal> in the source tree. First, we have <literal>faces-config.xml</literal>, in which we tell JSF to use Facelets:"
+msgstr "猜数字应用的所有的配置文件位于<literal>WEB-INF/</literal>,这个目录位于源码树的<literal>WebContent</literal>中。首先,我们在faces-config.xml文件中告诉JSF使用Faceletes:"
+
+#. Tag: programlisting
+#: ri.xml:276
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+msgstr ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+
+#. Tag: para
+#: ri.xml:278
+#, no-c-format
+msgid "There is an empty <literal>web-beans.xml</literal> file, which marks this application as a Web Beans application."
+msgstr "这有一个空的<literal>web-beans.xml</literal>文件,标识这个应用是一个Web Beans应用。"
+
+#. Tag: para
+#: ri.xml:283
+#, no-c-format
+msgid "Finally there is <literal>web.xml</literal>:"
+msgstr "最后,这有一个 <literal>web.xml</literal>:"
+
+#. Tag: section
+#: ri.xml:285
+#, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> <area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default.suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces.servlet\"> <para> Enable and load the JSF servlet </para> </callout> <callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to <literal>.jsf</literal> pages to be handled by JSF </para> </callout> <callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be giving our source files (facelets) an extension of <literal>.jsf</literal> </para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a session timeout of 10 minutes </para> </callout> </calloutlist> </programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use Web Beans with any Servlet based web framework. </para> </note> <para> Let's take a look at the Facelet view: </para> <programlistingco> <areaspec> <area id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area id=\"validator\" coords=\"3!
 0\"/> <area id=\"submit\" coords=\"33\"/> </areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game.number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game.number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game.biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> <para> Facelets is a templating language for JSF, here we are wrapping our page in a template which defines the header. </para> </callout> <callout arearefs=\"messages\"> <para> There are a number of messages which can be sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the range of numbers they can guess gets smaller - this sentance changes to make sure they know what range to guess in. </para> </callout> <callout arearefs=\"guess\"> <para> This input field is bound to a Web Bean, using the value expression. </para> </callout> <callout arearefs=\"validator\"> <para> A range validator is used to make sure the user doesn't accidentally input a number outside of the range in which they can guess - if the validator wasn't here, the user might use up a guess on an out of range number. </para> </callout> <callout !
 arearefs=\"submit\"> <para> And, of course, there must be a way for the user to send their guess to the server. Here we bind to an action method on the Web Bean. </para> </callout> </calloutlist> </programlistingco>"
+msgstr ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> <area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default.suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"   \n"
+"    <listener>\n"
+"       <listener-class>org.jboss.webbeans.servlet.WebBeansListener</listener-class>\n"
+"    </listener>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces.servlet\"> <para> Enable and load the JSF servlet </para> </callout> <callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to <literal>.jsf</literal> pages to be handled by JSF </para> </callout> <callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be giving our source files (facelets) an extension of <literal>.jsf</literal> </para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a session timeout of 10 minutes </para> </callout> <callout arearefs=\"webbeans.listener\"> <para> Configure the Web Beans listener, so that Web Beans services can be used in the servlet request </para> </callout> </calloutlist> </programlistingco> <note> <para> The only configuration required by the Web Beans RI in <literal>web.xml</literal> is to add the Web Beans listener. </para> <para> Whilst this demo is a JSF demo, you can use the Web Beans RI with any Servlet based!
  web framework; just configure the Web Beans listener. </para> </note> <para> Let's take a look at the Facelet view: </para> <programlistingco> <areaspec> <area id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area id=\"validator\" coords=\"29\"/> <area id=\"submit\" coords=\"32\"/> </areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game.number gt game.guess}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game.number lt game.guess}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game.biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\" \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\"/>\n"
+"          </div>\n"
+"   \n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> <para> Facelets is a templating language for JSF, here we are wrapping our page in a template which defines the header. </para> </callout> <callout arearefs=\"messages\"> <para> There are a number of messages which can be sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the range of numbers they can guess gets smaller - this sentance changes to make sure they know what range to guess in. </para> </callout> <callout arearefs=\"guess\"> <para> This input field is bound to a Web Bean, using the value expression. </para> </callout> <callout arearefs=\"validator\"> <para> A range validator is used to make sure the user doesn't accidentally input a number outside of the range in which they can guess - if the validator wasn't here, the user might use up a guess on an out of range number. </para> </callout> <callout !
 arearefs=\"submit\"> <para> And, of course, there must be a way for the user to send their guess to the server. Here we bind to an action method on the Web Bean. </para> </callout> </calloutlist> </programlistingco>"
+
+#. Tag: para
+#: ri.xml:387
+#, no-c-format
+msgid "The example exists of 4 classes, the first two of which are binding types. First, there is the <literal>@Random</literal> binding type, used for injecting a random number:"
+msgstr "这个例子包括4个类,前面两个是绑定类型。首先,这有一个<literal>@Random</literal>绑定类型,用来注入一个随机数:"
+
+#. Tag: programlisting
+#: ri.xml:393
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+msgstr ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+
+#. Tag: para
+#: ri.xml:395
+#, no-c-format
+msgid "There is also the <literal>@MaxNumber</literal> binding type, used for injecting the maximum number that can be injected:"
+msgstr "这还有一个<literal>@MaxNumber</literal>绑定类型,用来注入一个最大值:"
+
+#. Tag: programlisting
+#: ri.xml:400
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+msgstr ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+
+#. Tag: para
+#: ri.xml:402
+#, no-c-format
+msgid "The <literal>Generator</literal> class is responsible for creating the random number, via a producer method. It also exposes the maximum possible number via a producer method:"
+msgstr "<literal>Generator</literal>类通过一个生产者(producer)方法创建一个随机数。它也通过一个生产者方法暴露可能的最大值:"
+
+#. Tag: programlisting
+#: ri.xml:408
+#, no-c-format
+msgid ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System.currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+msgstr ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System.currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+
+#. Tag: para
+#: ri.xml:410
+#, no-c-format
+msgid "You'll notice that the <literal>Generator</literal> is application scoped; therefore we don't get a different random each time."
+msgstr "你会注意到<literal>Generator</literal>是应用范围的;因此我们不会每次都得到一个不同的随机对象。"
+
+#. Tag: para
+#: ri.xml:415
+#, no-c-format
+msgid "The final Web Bean in the application is the session scoped <literal>Game</literal>."
+msgstr "最终的应用中的Web Bean是会话范围的 <literal>Game</literal> 。"
+
+#. Tag: para
+#: ri.xml:420
+#, no-c-format
+msgid "You'll note that we've used the <literal>@Named</literal> annotation, so that we can use the bean through EL in the JSF page. Finally, we've used constructor injection to initialize the game with a random number. And of course, we need to tell the player when they've won, so we give feedback with a <literal>FacesMessage</literal>."
+msgstr "你也许注意到我们使用了 <literal>@Named</literal>注释,以便我们能够通过EL(表达式语言)在JSF页面中使用Bean。最后,我们通过构造器注入来初始化猜数字游戏并给它设一个随机数。当然,在玩家猜对数字后,我们需要告诉玩家他赢了,所以我们通过<literal>FacesMessage</literal>反馈给玩家一条信息。"
+
+#. Tag: programlisting
+#: ri.xml:428
+#, no-c-format
+msgid ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+msgstr ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+
+#. Tag: title
+#: ri.xml:431
+#, no-c-format
+msgid "The numberguess example for Tomcat"
+msgstr "猜数字例子"
+
+#. Tag: para
+#: ri.xml:433
+#, no-c-format
+msgid "The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans should be deployed as a Web Application library in <literal>WEB-INF/lib</literal>. For your convenience we provide a single jar suitable for running Web Beans on Tomcat <literal>webbeans-tomcat.jar</literal>."
+msgstr "在Tomcat中部署猜数字应用有很多地方不同。首先,WebBean应该作为一个Web应用库文件,部署在<literal>WEB-INF/lib</literal>目录中。为方便起见,我们提供了一个单一的jar库 <literal>webbeans-tomcat.jar</literal>,能够让我们在Tomcat中运行Web Bean。"
+
+#. Tag: para
+#: ri.xml:442
+#, no-c-format
+msgid "Of course, you must also include JSF and EL, as well common annotations (<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
+msgstr "当然,你必须也要包含JSF和EL, 以及通用的注释(<literal>jsr250-api.jar</literal>),这些都是一个Java EE服务器默认应该包含的。 "
+
+#. Tag: para
+#: ri.xml:449
+#, no-c-format
+msgid "Secondly, we need to explicitly specify the Tomcat servlet listener (used to boot Web Beans, and control it's interaction with requests) in <literal>web.xml</literal>:"
+msgstr "第二,我们需要在<literal>web.xml</literal>中显式地指定Tomcat的Servlet监听器(用来启动Web Bean,并且控制其与请求的交互):"
+
+#. Tag: programlisting
+#: ri.xml:455
+#, no-c-format
+msgid ""
+"<![CDATA[<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-class>\n"
+"</listener>]]>"
+msgstr ""
+"<![CDATA[<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-class>\n"
+"</listener>]]>"
+
+#. Tag: title
+#: ri.xml:461
+#, no-c-format
+msgid "The translator example"
+msgstr "翻译器例子"
+
+#. Tag: para
+#: ri.xml:463
+#, no-c-format
+msgid "The translator example will take any sentences you enter, and translate them to Latin."
+msgstr "翻译器例子能够将你输入的句子翻译为拉丁文。"
+
+#. Tag: para
+#: ri.xml:468
+#, no-c-format
+msgid "The translator example is built as an ear, and contains EJBs. As a result, it's structure is more complex than the numberguess example."
+msgstr "翻译器例子是一个EAR应用,包含EJBs和企业Beans。因此,它的结构比猜数字例子复杂。"
+
+#. Tag: para
+#: ri.xml:474
+#, no-c-format
+msgid "EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make this structure much simpler!"
+msgstr "EJB3.1和Java EE 6允许你在WAR包中打包EJBs, 这将让这个结构更加简单!"
+
+#. Tag: para
+#: ri.xml:480
+#, no-c-format
+msgid "First, let's take a look at the ear aggregator, which is located in <literal>webbeans-translator-ear</literal> module. Maven automatically generates the <literal>application.xml</literal> for us:"
+msgstr "首先,让我们看一下EAR聚合器,它位于<literal>webbeans-translator-ear</literal>模块下。Maven将为我们自动生成<literal>application.xml</literal>和<literal>jboss-app.xml</literal>文件:"
+
+#. Tag: programlisting
+#: ri.xml:486
+#, no-c-format
+msgid ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+msgstr ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"      <jboss>\n"
+"         <loader-repository>webbeans.jboss.org:loader=webbeans-translator</loader-repository>\n"
+"      </jboss>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+
+#. Tag: para
+#: ri.xml:488
+#, no-c-format
+msgid "Here we set the context path, which gives us a nice url (<ulink url=\"http://localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-translator</ulink>)."
+msgstr "我们需要在这里做些事情-首先我们需要设置上下文路径为一个不错的URL(<ulink url=\"http://localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-translator</ulink>),我们还需要将JBoss AS的类加载器隔离配置激活。"
+
+#. Tag: para
+#: ri.xml:494
+#, no-c-format
+msgid "If you aren't using Maven to generate these files, you would need <literal>META-INF/application.xml</literal>:"
+msgstr "如果你不使用Maven来生成这些文件,你将需要<literal>META-INF/jboss-app.xml</literal>:"
+
+#. Tag: programlisting
+#: ri.xml:499
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+msgstr ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+
+#. Tag: para
+#: ri.xml:502
+#, no-c-format
+msgid "Next, lets look at the war. Just as in the numberguess example, we have a <literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web.xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
+msgstr "然后,我们看一下WAR包。在猜数字例子中,我们需要<literal>faces-config.xml</literal>(配置Facelets)和一个位于<literal>WebContent/WEB-INF</literal>下的<literal>web.xml</literal>(配置JSF并将Web Beans服务加入Servlet容器中)。"
+
+#. Tag: para
+#: ri.xml:509
+#, no-c-format
+msgid "More intersting is the facelet used to translate text. Just as in the numberguess example we have a template, which surrounds the form (ommitted here for brevity):"
+msgstr "更有意思的是用来翻译文本的facelet。在猜数字应用中我们有一个模板,这个模板套着表单(省略了表单):"
+
+#. Tag: programlisting
+#: ri.xml:515
+#, no-c-format
+msgid ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+msgstr ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+
+#. Tag: para
+#: ri.xml:517
+#, no-c-format
+msgid "The user can enter some text in the lefthand textarea, and hit the translate button to see the result to the right."
+msgstr "用户可以在左手边的文本区输入一些文本,点击翻译按钮查看右边的翻译结果。"
+
+#. Tag: para
+#: ri.xml:522
+#, no-c-format
+msgid "Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</literal>. In <literal>src/main/resources/META-INF</literal> there is just an empty <literal>web-beans.xml</literal>, used to mark the archive as containing Web Beans."
+msgstr "最后,我们看一下EJB模块,<literal>webbeans-translator-ejb</literal>。在<literal>src/main/resources/META-INF</literal>下有两个配置文件,一个是空的<literal>web-beans.xml</literal>,用来标识这个档案包包含Web Beans,一个是<literal>ejb-jar.xml</literal>。Web Beans为所有的EJB提供注入和初始化服务,使用<literal>ejb-jar.xml</literal>文件来配置。你将在使用Web Beans的EJB项目中需要这些配置:"
+
+#. Tag: para
+#: ri.xml:530
+#, no-c-format
+msgid "We've saved the most interesting bit to last, the code! The project has two simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</literal> and two enterprise beans, <literal>TranslatorControllerBean</literal> and <literal>SentenceTranslator</literal>. You should be getting quite familiar with what a Web Bean looks like by now, so we'll just highlight the most interesting bits here."
+msgstr "我们将最有意思的部分放在最后,那就是代码!这个例子有两个简单Beans, <literal>SentanceParser</literal>和<literal>TextTranslator</literal>,还有两个企业Beans,<literal>TanslatorControllerBean</literal>和<literal>SentenceTranslator</literal>。现在你应该对Web Beans有点熟悉了,我们在这里着重最有意思的部分。"
+
+#. Tag: para
+#: ri.xml:540
+#, no-c-format
+msgid "Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> are dependent beans, and <literal>TextTranslator</literal> uses constructor initialization:"
+msgstr "<literal>SentanceParser</literal>和<literal>TextTranslator</literal>是相互依赖的Beans,<literal>TextTranslator</literal>使用构造器初始化:"
+
+#. Tag: programlisting
+#: ri.xml:546
+#, no-c-format
+msgid ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+msgstr ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+
+#. Tag: para
+#: ri.xml:548
+#, no-c-format
+msgid "<literal>TextTranslator</literal> is a stateless bean (with a local business interface), where the magic happens - of course, we couldn't develop a full translator, but we gave it a good go!"
+msgstr "<literal>TextTranslator</literal>是一个无状态Bean(拥有一个本地业务接口),这里是魔术展现的地方-当然,我们不会开发一个完整的翻译器,但我们可以开发一个不错的小玩意!"
+
+#. Tag: para
+#: ri.xml:554
+#, no-c-format
+msgid "Finally, there is UI orientated controller, that collects the text from the user, and dispatches it to the translator. This is a request scoped, named, stateful session bean, which injects the translator."
+msgstr "最后,这里又要一个面向UI的控制器,从用户输入处搜集文本,转发给翻译器。这个控制器是请求范围的,具名的,有状态的会话Bean,它可以将翻译器注入进来。"
+
+#. Tag: programlisting
+#: ri.xml:560
+#, no-c-format
+msgid ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+msgstr ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+
+#. Tag: para
+#: ri.xml:562
+#, no-c-format
+msgid "The bean also has getters and setters for all the fields on the page."
+msgstr "这个Bean也拥有页面上所有域的getter和setter方法。"
+
+#. Tag: para
+#: ri.xml:566
+#, no-c-format
+msgid "As this is a stateful session bean, we have to have a remove method:"
+msgstr "这个Bean是有状态会话Bean,我们需要有一个remove方法:"
+
+#. Tag: programlisting
+#: ri.xml:570
+#, no-c-format
+msgid ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+msgstr ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+
+#. Tag: para
+#: ri.xml:572
+#, no-c-format
+msgid "The Web Beans manager will call the remove method for you when the bean is destroyed; in this case at the end of the request."
+msgstr "Web Beans管理器在这个bean销毁的时候调用remove方法;在这个例子中是请求结束的时候。"
+
+#. Tag: para
+#: ri.xml:578
+#, no-c-format
+msgid "That concludes our short tour of the Web Beans examples. For more on Web Beans , or to help out, please visit <ulink url=\"http://www.seamframework.org/WebBeans/Development\">http://www.seamframework.org/WebBeans/Development</ulink>."
+msgstr "Web Beans参考实现的例子到此结束。想要获得关于参考实现更多的知识或者帮助,请访问<ulink url=\"http://www.seamframework.org/WebBeans/Development\">http://www.seamframework.org/WebBeans/Development</ulink>。"
+
+#. Tag: para
+#: ri.xml:584
+#, no-c-format
+msgid "We need help in all areas - bug fixing, writing new features, writing examples and translating this reference guide."
+msgstr "我们在各个方面都需要帮助-bug修复,新特性开发,例子开发和参考指南的翻译等等。"
+
+#, fuzzy
+#~ msgid ""
+#~ "A new deployer, <literal>webbeans.deployer</literal> is added to JBoss "
+#~ "AS. This adds supports for Web Bean archives to JBoss AS, and allows the "
+#~ "Web Beans RI to query the EJB3 container and discover which EJBs are "
+#~ "installed in your application."
+#~ msgstr ""
+#~ "当前,我们需要两个更新。首先,需要添加一个新的部署器<literal>webbeans."
+#~ "deployer</literal>。这个部署器提供JBoss AS对Web Bean档案包的支持,能够让"
+#~ "Web Beans参考实现查询EJB3容器,发现应用中安装的EJB。第二,需要更新JBoss "
+#~ "EJB3。"
+#~ msgid "Web Beans is bundled with JBoss AS 5.1 and above."
+#~ msgstr "JBoss AS 5.1版本及以上捆绑了Web Bean。"
+#~ msgid ""
+#~ "As Web Beans is a new piece of software, you need to update JBoss AS to "
+#~ "run the Web Beans RI. Future versions of JBoss AS will include these "
+#~ "updates, and this step won't be necessary."
+#~ msgstr ""
+#~ "因为Web Beans是新的软件,你需要更新JBoss AS来运行Web Beans的参考实现。"
+#~ "JBoss AS未来的版本将包括这些更新,这些步骤将不再是必须的。"
+#~ msgid ""
+#~ "The final Web Bean in the application is the session scoped "
+#~ "<literal>Game</literal>. By making <literal>Game</literal> session "
+#~ "scoped, you can only play the game once per browser session. You could "
+#~ "easily add a reset button - a good exercise for the reader :-)"
+#~ msgstr ""
+#~ "最后,应用的Web Bean是会话范围的 <literal>Game</literal>。通过将 "
+#~ "<literal>Game</literal>的范围设为会话范围,你可以为每个浏览器会话启动一个"
+#~ "猜数字游戏。你可以简单地添加一个复位按钮-对于读者来说是一个很好的练习 :)"
+#~ msgid ""
+#~ "<![CDATA[@Named\n"
+#~ "@SessionScoped\n"
+#~ "public class Game {\n"
+#~ "   private int number;\n"
+#~ "   \n"
+#~ "   private int guess;\n"
+#~ "   private int smallest;\n"
+#~ "   private int biggest;\n"
+#~ "   private int remainingGuesses;\n"
+#~ "   \n"
+#~ "   public Game() {}\n"
+#~ "   \n"
+#~ "   @Initializer\n"
+#~ "   Game(@Random int number, @MaxNumber int maxNumber) {\n"
+#~ "      this.number = number;\n"
+#~ "      this.smallest = 1;\n"
+#~ "      this.biggest = maxNumber;\n"
+#~ "      this.remainingGuesses = 10;\n"
+#~ "   }\n"
+#~ "\n"
+#~ "   // Getters and setters for fields\n"
+#~ "   \n"
+#~ "   public String check() {\n"
+#~ "      if (guess>number) {\n"
+#~ "         biggest = guess - 1;\n"
+#~ "      }\n"
+#~ "      if (guess<number) {\n"
+#~ "         smallest = guess + 1;\n"
+#~ "      }\n"
+#~ "      if (guess == number) {\n"
+#~ "         FacesContext.getCurrentInstance().addMessage(null, new "
+#~ "FacesMessage(\"Correct!\"));\n"
+#~ "      }\n"
+#~ "      remainingGuesses--;\n"
+#~ "      return null;\n"
+#~ "   }\n"
+#~ "   \n"
+#~ "}]]>"
+#~ msgstr ""
+#~ "<![CDATA[@Named\n"
+#~ "@SessionScoped\n"
+#~ "public class Game {\n"
+#~ "   private int number;\n"
+#~ "   \n"
+#~ "   private int guess;\n"
+#~ "   private int smallest;\n"
+#~ "   private int biggest;\n"
+#~ "   private int remainingGuesses;\n"
+#~ "   \n"
+#~ "   public Game() {}\n"
+#~ "   \n"
+#~ "   @Initializer\n"
+#~ "   Game(@Random int number, @MaxNumber int maxNumber) {\n"
+#~ "      this.number = number;\n"
+#~ "      this.smallest = 1;\n"
+#~ "      this.biggest = maxNumber;\n"
+#~ "      this.remainingGuesses = 10;\n"
+#~ "   }\n"
+#~ "\n"
+#~ "   // Getters and setters for fields\n"
+#~ "   \n"
+#~ "   public String check() {\n"
+#~ "      if (guess>number) {\n"
+#~ "         biggest = guess - 1;\n"
+#~ "      }\n"
+#~ "      if (guess<number) {\n"
+#~ "         smallest = guess + 1;\n"
+#~ "      }\n"
+#~ "      if (guess == number) {\n"
+#~ "         FacesContext.getCurrentInstance().addMessage(null, new "
+#~ "FacesMessage(\"Correct!\"));\n"
+#~ "      }\n"
+#~ "      remainingGuesses--;\n"
+#~ "      return null;\n"
+#~ "   }\n"
+#~ "   \n"
+#~ "}]]>"
+#~ msgid ""
+#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+#~ "<!DOCTYPE jboss-app\n"
+#~ "    PUBLIC \"-//JBoss//DTD J2EE Application 4.2//EN\"\n"
+#~ "    \"http://www.jboss.org/j2ee/dtd/jboss-app_4_2.dtd\">\n"
+#~ "<jboss-app>\n"
+#~ "  <loader-repository>webbeans.jboss.org:loader=webbeans-translator</"
+#~ "loader-repository>\n"
+#~ "</jboss-app>]]>"
+#~ msgstr ""
+#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+#~ "<!DOCTYPE jboss-app\n"
+#~ "    PUBLIC \"-//JBoss//DTD J2EE Application 4.2//EN\"\n"
+#~ "    \"http://www.jboss.org/j2ee/dtd/jboss-app_4_2.dtd\">\n"
+#~ "<jboss-app>\n"
+#~ "  <loader-repository>webbeans.jboss.org:loader=webbeans-translator</"
+#~ "loader-repository>\n"
+#~ "</jboss-app>]]>"
+#~ msgid "and <literal>META-INF/application.xml</literal>:"
+#~ msgstr "和 <literal>META-INF/application.xml</literal>:"
+#~ msgid ""
+#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+#~ "<ejb-jar xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+#~ "         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n"
+#~ "         xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+#~ "java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd\"\n"
+#~ "         version=\"3.0\">\n"
+#~ "         \n"
+#~ "   <interceptors>\n"
+#~ "     <interceptor>\n"
+#~ "       <interceptor-class>org.jboss.webbeans.ejb.SessionBeanInterceptor</"
+#~ "interceptor-class>\n"
+#~ "     </interceptor>\n"
+#~ "   </interceptors>\n"
+#~ "   \n"
+#~ "   <assembly-descriptor>\n"
+#~ "      <interceptor-binding>\n"
+#~ "         <ejb-name>*</ejb-name>\n"
+#~ "         <interceptor-class>org.jboss.webbeans.ejb."
+#~ "SessionBeanInterceptor</interceptor-class>\n"
+#~ "      </interceptor-binding>\n"
+#~ "   </assembly-descriptor>\n"
+#~ "   \n"
+#~ "</ejb-jar>]]>"
+#~ msgstr ""
+#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+#~ "<ejb-jar xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+#~ "         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n"
+#~ "         xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+#~ "java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd\"\n"
+#~ "         version=\"3.0\">\n"
+#~ "         \n"
+#~ "   <interceptors>\n"
+#~ "     <interceptor>\n"
+#~ "       <interceptor-class>org.jboss.webbeans.ejb.SessionBeanInterceptor</"
+#~ "interceptor-class>\n"
+#~ "     </interceptor>\n"
+#~ "   </interceptors>\n"
+#~ "   \n"
+#~ "   <assembly-descriptor>\n"
+#~ "      <interceptor-binding>\n"
+#~ "         <ejb-name>*</ejb-name>\n"
+#~ "         <interceptor-class>org.jboss.webbeans.ejb."
+#~ "SessionBeanInterceptor</interceptor-class>\n"
+#~ "      </interceptor-binding>\n"
+#~ "   </assembly-descriptor>\n"
+#~ "   \n"
+#~ "</ejb-jar>]]>"
+

Modified: doc/trunk/reference/zh-CN/producermethods.po
===================================================================
--- doc/trunk/reference/zh-CN/producermethods.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/zh-CN/producermethods.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: master.xml\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-12 11:20+0800\n"
 "Last-Translator: Sean Wu <alartin at gmail.com>\n"
 "Language-Team: none\n"
@@ -39,29 +39,83 @@
 msgid "According to the spec:"
 msgstr "根据规范:"
 
-#. Tag: chapter
-#: producermethods.xml:12
+#. Tag: para
+#: producermethods.xml:16
 #, no-c-format
 msgid ""
-"<blockquote> <para>A Web Beans producer method acts as a source of objects "
-"to be injected, where:</para> <itemizedlist> <listitem> <para>the objects to "
-"be injected are not required to be instances of Web Beans,</para> </"
-"listitem> <listitem> <para>the concrete type of the objects to be injected "
-"may vary at runtime or</para> </listitem> <listitem> <para>the objects "
-"require some custom initialization that is not performed by the Web Bean "
-"constructor</para> </listitem> </itemizedlist> </blockquote> <para>For "
-"example, producer methods let us:</para> <itemizedlist> <listitem> "
-"<para>expose a JPA entity as a Web Bean,</para> </listitem> <listitem> "
-"<para>expose any JDK class as a Web Bean,</para> </listitem> <listitem> "
-"<para>define multiple Web Beans, with different scopes or initialization, "
-"for the same implementation class, or</para> </listitem> <listitem> "
-"<para>vary the implementation of an API type at runtime.</para> </listitem> "
-"</itemizedlist> <para>In particular, producer methods let us use runtime "
-"polymorphism with Web Beans. As we've seen, deployment types are a powerful "
-"solution to the problem of deployment-time polymorphism. But once the system "
-"is deployed, the Web Bean implementation is fixed. A producer method has no "
-"such limitation:</para> <programlisting role=\"JAVA\"><![CDATA"
-"[@SessionScoped\n"
+"A Web Beans producer method acts as a source of objects to be injected, "
+"where:"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:20
+#, no-c-format
+msgid ""
+"the objects to be injected are not required to be instances of Web Beans,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:23
+#, no-c-format
+msgid "the concrete type of the objects to be injected may vary at runtime or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:26
+#, no-c-format
+msgid ""
+"the objects require some custom initialization that is not performed by the "
+"Web Bean constructor"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:33
+#, fuzzy, no-c-format
+msgid "For example, producer methods let us:"
+msgstr "生产者方法的范围"
+
+#. Tag: para
+#: producermethods.xml:37
+#, no-c-format
+msgid "expose a JPA entity as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:40
+#, no-c-format
+msgid "expose any JDK class as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:43
+#, no-c-format
+msgid ""
+"define multiple Web Beans, with different scopes or initialization, for the "
+"same implementation class, or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:47
+#, no-c-format
+msgid "vary the implementation of an API type at runtime."
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:51
+#, no-c-format
+msgid ""
+"In particular, producer methods let us use runtime polymorphism with Web "
+"Beans. As we've seen, deployment types are a powerful solution to the "
+"problem of deployment-time polymorphism. But once the system is deployed, "
+"the Web Bean implementation is fixed. A producer method has no such "
+"limitation:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:56
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[@SessionScoped\n"
 "public class Preferences {\n"
 "    \n"
 "    private PaymentStrategyType paymentStrategy;\n"
@@ -78,51 +132,52 @@
 "        } \n"
 "    }\n"
 "    \n"
-"}]]></programlisting> <para>Consider an injection point:</para> "
-"<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
-"paymentStrat;]]></programlisting> <para>This injection point has the same "
-"type and binding annotations as the producer method, so it resolves to the "
-"producer method using the usual Web Beans injection rules. The producer "
-"method will be called by the Web Bean manager to obtain an instance to "
-"service this injection point.</para>."
+"}]]>"
 msgstr ""
-"<blockquote> <para>一个Web Bean生产者方法在下列情况下作为注入对象的源:</"
-"para> <itemizedlist> <listitem> <para>所要注入的对象并不要求是一个Web Bean的"
-"实例,</para> </listitem> <listitem> <para>所要注入的对象的具体类型有可能在运"
-"行时变化,或者</para> </listitem> <listitem> <para>对象需要一些Web Bean构造器"
-"无法完成的一些自定义的初始化工作</para> </listitem> </itemizedlist> </"
-"blockquote> <para>例如,生产者方法能够让我们:</para> <itemizedlist> "
-"<listitem> <para>将JPA实体作为一个Web Bean暴露出来,</para> </listitem> "
-"<listitem> <para>将任何JDK类作为Web Bean暴露出来,</para> </listitem> "
-"<listitem> <para>为相同的一个实现类定义多个Web Beans,每个都拥有不同的范围或"
-"者初始化,或者</para> </listitem> <listitem> <para>在运行时改变一个接口类型的"
-"具体实现。</para> </listitem> </itemizedlist> <para>特别是生产者方法让我们能"
-"够使用Web Beans实现运行时多态性。就像我们看到的那样,部署类型是解决部署时多态"
-"性的解决方案。不过一旦系统被部署之后,Web Bean的实现也就固定了。一个生产者方"
-"法并没有这样的限制:</para> <programlisting role=\"JAVA\"><![CDATA"
-"[@SessionScoped\n"
-"public class Preferences {\n"
-"    \n"
-"    private PaymentStrategyType paymentStrategy;\n"
-"    \n"
+"<![CDATA[@Produces @Preferred @SessionScoped\n"
+"public PaymentStrategy getPaymentStrategy(CreditCardPaymentStrategy ccps,\n"
+"                                          ChequePaymentStrategy cps,\n"
+"                                          PayPalPaymentStrategy ppps) {\n"
+"    switch (paymentStrategy) {\n"
+"        case CREDIT_CARD: return ccps;\n"
+"        case CHEQUE: return cps;\n"
+"        case PAYPAL: return ppps;\n"
+"        default: return null;\n"
+"    } \n"
+"}]]>"
+
+#. Tag: para
+#: producermethods.xml:58
+#, no-c-format
+msgid "Consider an injection point:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:60
+#, fuzzy, no-c-format
+msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
+msgstr ""
+"<![CDATA[@Produces @Preferred @SessionScoped\n"
+"public PaymentStrategy getPaymentStrategy() {\n"
 "    ...\n"
-"    \n"
-"    @Produces @Preferred \n"
-"    public PaymentStrategy getPaymentStrategy() {\n"
-"        switch (paymentStrategy) {\n"
-"            case CREDIT_CARD: return new CreditCardPaymentStrategy();\n"
-"            case CHEQUE: return new ChequePaymentStrategy();\n"
-"            case PAYPAL: return new PayPalPaymentStrategy();\n"
-"            default: return null;\n"
-"        } \n"
-"    }\n"
-"    \n"
-"}]]></programlisting> <para>我们看一下注入点:</para> <programlisting role="
-"\"JAVA\"><![CDATA[@Preferred PaymentStrategy paymentStrat;]]></"
-"programlisting> <para>这个注入点和生产者方法拥有相同的类型和绑定注释,所以使"
-"用常见的Web Bean注入规则。生产者方法将被Web Bean管理器调用,从而获得一个实例"
-"来供给这个注入点。</para>."
+"}]]>"
 
+#. Tag: para
+#: producermethods.xml:62
+#, no-c-format
+msgid ""
+"This injection point has the same type and binding annotations as the "
+"producer method, so it resolves to the producer method using the usual Web "
+"Beans injection rules. The producer method will be called by the Web Bean "
+"manager to obtain an instance to service this injection point."
+msgstr ""
+
+#. Tag: chapter
+#: producermethods.xml:65
+#, no-c-format
+msgid "<chapter>.</chapter>"
+msgstr ""
+
 #. Tag: title
 #: producermethods.xml:68
 #, no-c-format
@@ -338,13 +393,26 @@
 "实例将被绑定到会话上下文。这个依赖对象不会被提前销毁,而是在会话结束时跟随 "
 "<literal>Preferences</literal> 一起被销毁。"
 
-#, fuzzy
-#~ msgid "For example, producer methods let us:"
-#~ msgstr "生产者方法的范围"
-
-#, fuzzy
 #~ msgid ""
-#~ "<![CDATA[@SessionScoped\n"
+#~ "<blockquote> <para>A Web Beans producer method acts as a source of "
+#~ "objects to be injected, where:</para> <itemizedlist> <listitem> <para>the "
+#~ "objects to be injected are not required to be instances of Web Beans,</"
+#~ "para> </listitem> <listitem> <para>the concrete type of the objects to be "
+#~ "injected may vary at runtime or</para> </listitem> <listitem> <para>the "
+#~ "objects require some custom initialization that is not performed by the "
+#~ "Web Bean constructor</para> </listitem> </itemizedlist> </blockquote> "
+#~ "<para>For example, producer methods let us:</para> <itemizedlist> "
+#~ "<listitem> <para>expose a JPA entity as a Web Bean,</para> </listitem> "
+#~ "<listitem> <para>expose any JDK class as a Web Bean,</para> </listitem> "
+#~ "<listitem> <para>define multiple Web Beans, with different scopes or "
+#~ "initialization, for the same implementation class, or</para> </listitem> "
+#~ "<listitem> <para>vary the implementation of an API type at runtime.</"
+#~ "para> </listitem> </itemizedlist> <para>In particular, producer methods "
+#~ "let us use runtime polymorphism with Web Beans. As we've seen, deployment "
+#~ "types are a powerful solution to the problem of deployment-time "
+#~ "polymorphism. But once the system is deployed, the Web Bean "
+#~ "implementation is fixed. A producer method has no such limitation:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@SessionScoped\n"
 #~ "public class Preferences {\n"
 #~ "    \n"
 #~ "    private PaymentStrategyType paymentStrategy;\n"
@@ -361,25 +429,47 @@
 #~ "        } \n"
 #~ "    }\n"
 #~ "    \n"
-#~ "}]]>"
+#~ "}]]></programlisting> <para>Consider an injection point:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
+#~ "paymentStrat;]]></programlisting> <para>This injection point has the same "
+#~ "type and binding annotations as the producer method, so it resolves to "
+#~ "the producer method using the usual Web Beans injection rules. The "
+#~ "producer method will be called by the Web Bean manager to obtain an "
+#~ "instance to service this injection point.</para>."
 #~ msgstr ""
-#~ "<![CDATA[@Produces @Preferred @SessionScoped\n"
-#~ "public PaymentStrategy getPaymentStrategy(CreditCardPaymentStrategy "
-#~ "ccps,\n"
-#~ "                                          ChequePaymentStrategy cps,\n"
-#~ "                                          PayPalPaymentStrategy ppps) {\n"
-#~ "    switch (paymentStrategy) {\n"
-#~ "        case CREDIT_CARD: return ccps;\n"
-#~ "        case CHEQUE: return cps;\n"
-#~ "        case PAYPAL: return ppps;\n"
-#~ "        default: return null;\n"
-#~ "    } \n"
-#~ "}]]>"
-
-#, fuzzy
-#~ msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
-#~ msgstr ""
-#~ "<![CDATA[@Produces @Preferred @SessionScoped\n"
-#~ "public PaymentStrategy getPaymentStrategy() {\n"
+#~ "<blockquote> <para>一个Web Bean生产者方法在下列情况下作为注入对象的源:</"
+#~ "para> <itemizedlist> <listitem> <para>所要注入的对象并不要求是一个Web Bean"
+#~ "的实例,</para> </listitem> <listitem> <para>所要注入的对象的具体类型有可"
+#~ "能在运行时变化,或者</para> </listitem> <listitem> <para>对象需要一些Web "
+#~ "Bean构造器无法完成的一些自定义的初始化工作</para> </listitem> </"
+#~ "itemizedlist> </blockquote> <para>例如,生产者方法能够让我们:</para> "
+#~ "<itemizedlist> <listitem> <para>将JPA实体作为一个Web Bean暴露出来,</"
+#~ "para> </listitem> <listitem> <para>将任何JDK类作为Web Bean暴露出来,</"
+#~ "para> </listitem> <listitem> <para>为相同的一个实现类定义多个Web Beans,每"
+#~ "个都拥有不同的范围或者初始化,或者</para> </listitem> <listitem> <para>在"
+#~ "运行时改变一个接口类型的具体实现。</para> </listitem> </itemizedlist> "
+#~ "<para>特别是生产者方法让我们能够使用Web Beans实现运行时多态性。就像我们看"
+#~ "到的那样,部署类型是解决部署时多态性的解决方案。不过一旦系统被部署之后,"
+#~ "Web Bean的实现也就固定了。一个生产者方法并没有这样的限制:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@SessionScoped\n"
+#~ "public class Preferences {\n"
+#~ "    \n"
+#~ "    private PaymentStrategyType paymentStrategy;\n"
+#~ "    \n"
 #~ "    ...\n"
-#~ "}]]>"
+#~ "    \n"
+#~ "    @Produces @Preferred \n"
+#~ "    public PaymentStrategy getPaymentStrategy() {\n"
+#~ "        switch (paymentStrategy) {\n"
+#~ "            case CREDIT_CARD: return new CreditCardPaymentStrategy();\n"
+#~ "            case CHEQUE: return new ChequePaymentStrategy();\n"
+#~ "            case PAYPAL: return new PayPalPaymentStrategy();\n"
+#~ "            default: return null;\n"
+#~ "        } \n"
+#~ "    }\n"
+#~ "    \n"
+#~ "}]]></programlisting> <para>我们看一下注入点:</para> <programlisting "
+#~ "role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy paymentStrat;]]></"
+#~ "programlisting> <para>这个注入点和生产者方法拥有相同的类型和绑定注释,所以"
+#~ "使用常见的Web Bean注入规则。生产者方法将被Web Bean管理器调用,从而获得一个"
+#~ "实例来供给这个注入点。</para>."

Modified: doc/trunk/reference/zh-CN/ri-spi.po
===================================================================
--- doc/trunk/reference/zh-CN/ri-spi.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/zh-CN/ri-spi.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: master.xml\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-27 13:50+0800\n"
 "Last-Translator: Sean Wu <alartin at gmail.com>\n"
 "Language-Team: none\n"
@@ -15,92 +15,78 @@
 
 #. Tag: title
 #: ri-spi.xml:4
-#, no-c-format
-msgid "Integrating the Web Beans RI into other environments"
+#, fuzzy, no-c-format
+msgid "Integrating Web Beans into other environments"
 msgstr "将Web Bean参考实现整合到其他环境中"
 
 #. Tag: para
 #: ri-spi.xml:6
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
-"Currently the Web Beans RI only runs in JBoss AS 5; integrating the RI into "
-"other EE environments (for example another application server like "
-"Glassfish), into a servlet container (like Tomcat), or with an Embedded "
-"EJB3.1 implementation is fairly easy. In this Appendix we will briefly "
-"discuss the steps needed."
+"Currently Web Beans only runs in JBoss AS 5; integrating the RI into other "
+"EE environments (for example another application server like Glassfish), "
+"into a servlet container (like Tomcat), or with an Embedded EJB3.1 "
+"implementation is fairly easy. In this Appendix we will briefly discuss the "
+"steps needed."
 msgstr ""
 "目前,Web Bean的参考实现只能运行在JBoss AS5中;将参考实现整合到其他EE环境中"
 "(例如像Glassfish的其他的应用服务器)以及一个Servlet容器(像Tomcat)中或者一"
 "个内嵌的EJB3.1实现中相当容易。在附录中我们将简要的讨论所需的步骤。"
 
-#. Tag: para
+#. Tag: title
 #: ri-spi.xml:15
-#, no-c-format
-msgid ""
-"It should be possible to run Web Beans in an SE environment, but you'll to "
-"do more work, adding your own contexts and lifecycle. The Web Beans RI "
-"currently doesn't expose lifecycle extension points, so you would have to "
-"code directly against Web Beans RI classes."
-msgstr ""
-"Web Bean可以在SE环境中运行,但是你需要做更多的工作,添加你自己的上下文和生命"
-"周期。Web Bean参考实现目前没有暴露生命周期扩展点,所以你不得不直接编写Web "
-"Bean参考实现的类。"
-
-#. Tag: title
-#: ri-spi.xml:24
-#, no-c-format
-msgid "The Web Beans RI SPI"
+#, fuzzy, no-c-format
+msgid "The Web Beans SPI"
 msgstr "Web Bean的参考实现SPI"
 
 #. Tag: para
-#: ri-spi.xml:26
+#: ri-spi.xml:17
 #, fuzzy, no-c-format
 msgid ""
-"The Web Beans SPI is located in <literal>webbeans-spi</literal> module, and "
-"packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, if "
-"you need to override the default behavior, others are required."
+"The Web Beans SPI is located in the <literal>webbeans-spi</literal> module, "
+"and packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, "
+"if you need to override the default behavior, others are required."
 msgstr ""
 "Web Bean的SPI位于<literal>webbeans-ri-spi</literal>模块中,打包为"
 "<literal>webbeans-ri-spi.jar</literal>。一些SPI是可选的,如果你需要覆盖默认行"
 "为,你需要其他的SPI。"
 
 #. Tag: para
-#: ri-spi.xml:33
+#: ri-spi.xml:24
 #, no-c-format
 msgid ""
 "All interfaces in the SPI support the decorator pattern and provide a "
-"<literal>Forwarding</literal> class."
+"<literal>Forwarding</literal> class located in the <literal>helpers</"
+"literal> sub package. Additional, commonly used, utility classes, and "
+"standard implementations are also located in the <literal>helpers</literal> "
+"sub package."
 msgstr ""
-"所有的SPI接口都支持装饰器模式,并且提供一个 <literal>Forwarding</literal> "
-"类。"
 
 #. Tag: title
-#: ri-spi.xml:39
+#: ri-spi.xml:33
 #, no-c-format
 msgid "Web Bean Discovery"
 msgstr "Web Bean的发现"
 
 #. Tag: programlisting
-#: ri-spi.xml:41
-#, no-c-format
+#: ri-spi.xml:35
+#, fuzzy, no-c-format
 msgid ""
-"<![CDATA[public interface WebBeanDiscovery {\n"
-"   /**\n"
-"    * Gets list of all classes in classpath archives with web-beans.xml "
-"files\n"
+"<![CDATA[/**\n"
+"    * Gets list of all classes in classpath archives with META-INF/beans.xml "
+"(or\n"
+"    * for WARs WEB-INF/beans.xml) files\n"
 "    * \n"
 "    * @return An iterable over the classes \n"
 "    */\n"
 "   public Iterable<Class<?>> discoverWebBeanClasses();\n"
 "   \n"
 "   /**\n"
-"    * Gets a list of all web-beans.xml files in the app classpath\n"
+"    * Gets a list of all deployment descriptors in the app classpath\n"
 "    * \n"
-"    * @return An iterable over the web-beans.xml files \n"
+"    * @return An iterable over the beans.xml files \n"
 "    */\n"
-"   public Iterable<URL> discoverWebBeansXml();\n"
-"   \n"
-"}]]>"
+"   public Iterable<URL> discoverWebBeansXml();]]>"
 msgstr ""
 "<![CDATA[public interface WebBeanDiscovery {\n"
 "   /**\n"
@@ -121,28 +107,36 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:43
-#, no-c-format
+#: ri-spi.xml:37
+#, fuzzy, no-c-format
 msgid ""
-"The discovery of Web Bean classes and <literal>web-bean.xml</literal> files "
-"is self-explanatory (the algorithm is described in Section 11.1 of the JSR-"
-"299 specification, and isn't repeated here)."
+"The discovery of Web Bean classes and <literal>beans.xml</literal> files is "
+"self-explanatory (the algorithm is described in Section 11.1 of the JSR-299 "
+"specification, and isn't repeated here)."
 msgstr ""
 "Web Bean类的发现和 <literal>web-bean.xml</literal> 配置文件的都是自解释性的"
 "(算法在JSR-299规范中已经描述了,这里就不再重复)"
 
 #. Tag: title
-#: ri-spi.xml:52
+#: ri-spi.xml:46
 #, no-c-format
 msgid "EJB services"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:54
+#: ri-spi.xml:49
 #, no-c-format
 msgid ""
-"The Web Beans RI also delegates EJB3 bean discovery to the container so that "
-"it doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
+"Web Beans will run without an EJB container; in this case you don't need to "
+"implement the EJB SPI."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:55
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans also delegates EJB3 bean discovery to the container so that it "
+"doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
 "literal>. For each EJB in the application an EJBDescriptor should be "
 "discovered:"
 msgstr ""
@@ -151,39 +145,13 @@
 "EJBDescriptor:"
 
 #. Tag: programlisting
-#: ri-spi.xml:61
+#: ri-spi.xml:62
 #, fuzzy, no-c-format
 msgid ""
-"<![CDATA[public interface EjbServices\n"
+"<![CDATA[public interface EjbDescriptor<T>\n"
 "{\n"
 "   \n"
 "   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
-msgstr ""
-"<![CDATA[public interface EjbDiscovery\n"
-"{\n"
-"   public static final String PROPERTY_NAME = EjbDiscovery.class.getName();\n"
-"   \n"
-"   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();\n"
-"   \n"
-"}]]>"
-
-#. Tag: programlisting
-#: ri-spi.xml:63
-#, no-c-format
-msgid ""
-"<![CDATA[public interface EjbDescriptor<T> {\n"
-"   \n"
-"   /**\n"
 "    * Gets the EJB type\n"
 "    * \n"
 "    * @return The EJB Bean class\n"
@@ -246,10 +214,7 @@
 "    * \n"
 "    * @return The name\n"
 "    */\n"
-"   public String getEjbName();\n"
-"   \n"
-"   \n"
-"}]]>"
+"   public String getEjbName();]]>"
 msgstr ""
 "<![CDATA[public interface EjbDescriptor<T> {\n"
 "   \n"
@@ -322,7 +287,7 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:65
+#: ri-spi.xml:64
 #, no-c-format
 msgid ""
 "The <literal>EjbDescriptor</literal> is fairly self-explanatory, and should "
@@ -338,15 +303,19 @@
 "例的jndi名字)"
 
 #. Tag: para
-#: ri-spi.xml:74
+#: ri-spi.xml:73
 #, fuzzy, no-c-format
 msgid ""
-"The resolution of <literal>@EJB</literal> and <literal>@Resource</literal> "
-"is delegated to the container. You must provide an implementation of "
-"<literal>org.jboss.webbeans.ejb.spi.EjbServices</literal> which provides "
-"these operations. Web Beans passes in the <literal>javax.inject.manager."
-"InjectionPoint</literal> the resolution is for, as well as the "
-"<literal>NamingContext</literal> in use for each resolution request."
+"The resolution of <literal>@EJB</literal> (for injection into simple beans), "
+"the resolution of local EJBs (for backing session beans) and remote EJBs "
+"(for injection as a Java EE resource) is delegated to the container. You "
+"must provide an implementation of <literal>org.jboss.webbeans.ejb.spi."
+"EjbServices</literal> which provides these operations. For resolving the "
+"<literal>@EJB</literal> injection point, Web Beans will provide the "
+"<literal>InjectionPoint</literal>; for resolving local EJBs, the "
+"<literal>EjbDescriptor</literal> will be provided, and for remote EJBs the "
+"<literal>jndiName</literal>, <literal>mappedName</literal>, or "
+"<literal>ejbLink</literal> will be provided."
 msgstr ""
 "<literal>@EJB</literal>, <literal>@PersistenceContext</literal> 和 "
 "<literal>@Resource</literal> 的解析被委托给容器。你必须提供一个 <literal>org."
@@ -354,6 +323,17 @@
 "到来时,Web Beans都将 <literal>javax.inject.manager.InjectionPoint</literal> "
 "以及 <literal>NamingContext</literal> 传递进来以便解析。"
 
+#. Tag: para
+#: ri-spi.xml:87
+#, no-c-format
+msgid ""
+"When resolving local EJBs (used to back session beans) a wrapper "
+"(<literal>SessionObjectReference</literal>) around the EJB reference is "
+"returned. This wrapper allows Web Beans to request a reference that "
+"implements the given business interface, and, in the case of SFSBs, request "
+"the removal of the EJB from the container."
+msgstr ""
+
 #. Tag: title
 #: ri-spi.xml:98
 #, no-c-format
@@ -364,37 +344,61 @@
 #: ri-spi.xml:100
 #, no-c-format
 msgid ""
-"Just as resolution of <literal>@EJB</literal> is delegated to the container, "
-"so is resolution of <literal>@PersistenceContext</literal>."
+"Just as EJB resolution is delegated to the container, resolution of "
+"<literal>@PersistenceContext</literal> for injection into simple beans (with "
+"the <literal>InjectionPoint</literal> provided), and resolution of "
+"persistence contexts and persistence units (with the <literal>unitName</"
+"literal> provided) for injection as a Java EE resource is delegated to the "
+"container."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:106
+#: ri-spi.xml:109
 #, no-c-format
 msgid ""
-"OPEN ISSUE: Web Beans also requires the container to provide a list of "
-"entities in the deployment, so that they aren't discovered as simple beans."
+"To allow JPA integration, the <literal>JpaServices</literal> interface "
+"should be implemented."
 msgstr ""
 
-#. Tag: title
+#. Tag: para
 #: ri-spi.xml:114
 #, no-c-format
+msgid ""
+"Web Beans also needs to know what entities are in a deployment (so that they "
+"aren't managed by Web Beans). An implementation that detects entities "
+"through <literal>@Entity</literal> and <literal>orm.xml</literal> is "
+"provided by default. If you want to provide support for a entities defined "
+"by a JPA provider (such as Hibernate's <literal>.hbm.xml</literal> you can "
+"wrap or replace the default implementation."
+msgstr ""
+
+#. Tag: programlisting
+#: ri-spi.xml:124
+#, no-c-format
+msgid ""
+"<![CDATA[EntityDiscovery delegate = bootstrap.getServices().get"
+"(EntityDiscovery.class);]]>"
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:129
+#, no-c-format
 msgid "Transaction Services"
 msgstr "事务服务"
 
 #. Tag: para
-#: ri-spi.xml:116
-#, no-c-format
+#: ri-spi.xml:131
+#, fuzzy, no-c-format
 msgid ""
-"The Web Beans RI must delegate JTA activities to the container. The SPI "
-"provides a couple hooks to easily achieve this with the "
-"<literal>TransactionServices</literal> interface."
+"Web Beans must delegate JTA activities to the container. The SPI provides a "
+"couple hooks to easily achieve this with the <literal>TransactionServices</"
+"literal> interface."
 msgstr ""
 "Web Bean RI必须将JTA活动委托给容器。SPI提供者提供一些钩子(hooks)结合"
 "<literal>TransactionServices</literal> 接口来轻松完成这个任务。"
 
 #. Tag: programlisting
-#: ri-spi.xml:122
+#: ri-spi.xml:137
 #, no-c-format
 msgid ""
 "<![CDATA[public interface TransactionServices\n"
@@ -460,7 +464,7 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:124
+#: ri-spi.xml:139
 #, no-c-format
 msgid ""
 "The enumeration <literal>Status</literal> is a convenience for implementors "
@@ -473,7 +477,7 @@
 "者。"
 
 #. Tag: para
-#: ri-spi.xml:131
+#: ri-spi.xml:147
 #, no-c-format
 msgid ""
 "Any <literal>javax.transaction.Synchronization</literal> implementation may "
@@ -486,7 +490,7 @@
 "到EJB使用的JTA事务管理器。"
 
 #. Tag: para
-#: ri-spi.xml:138
+#: ri-spi.xml:155
 #, no-c-format
 msgid ""
 "To make it easier to determine whether or not a transaction is currently "
@@ -499,20 +503,103 @@
 "JTA事务管理器。"
 
 #. Tag: title
-#: ri-spi.xml:147
+#: ri-spi.xml:165
 #, no-c-format
+msgid "JMS services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:167
+#, no-c-format
+msgid ""
+"A number of JMS operations are not container specific, and so should be "
+"provided via the SPI <literal>JmsServices</literal>. JMS does not specify "
+"how to obtain a <literal>ConnectionFactory</literal> so the SPI provides a "
+"method which should be used to look up a factory. Web Beans also delegates "
+"<literal>Destination</literal> lookup to the container via the SPI."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:178
+#, fuzzy, no-c-format
+msgid "Resource Services"
+msgstr "资源加载"
+
+#. Tag: para
+#: ri-spi.xml:180
+#, fuzzy, no-c-format
+msgid ""
+"The resolution of <literal>@Resource</literal> (for injection into simple "
+"beans) and the resolution of resources (for injection as a Java EE resource) "
+"is delegated to the container. You must provide an implementation of "
+"<literal>ResourceServices</literal> which provides these operations. For "
+"resolving the <literal>@Resource</literal> injection, Web Beans will provide "
+"the <literal>InjectionPoint</literal>; and for Java EE resources, the "
+"<literal>jndiName</literal> or <literal>mappedName</literal> will be "
+"provided."
+msgstr ""
+"<literal>@EJB</literal>, <literal>@PersistenceContext</literal> 和 "
+"<literal>@Resource</literal> 的解析被委托给容器。你必须提供一个 <literal>org."
+"jboss.webbeans.ejb.spi.EjbResolver</literal> 实现来完成这些工作。每次解析请求"
+"到来时,Web Beans都将 <literal>javax.inject.manager.InjectionPoint</literal> "
+"以及 <literal>NamingContext</literal> 传递进来以便解析。"
+
+#. Tag: title
+#: ri-spi.xml:194
+#, no-c-format
+msgid "Web Services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:196
+#, fuzzy, no-c-format
+msgid ""
+"The resolution of web service references (for injection as a Java EE "
+"resource) is delegated to the container. You must provide an implementation "
+"of <literal>WebServices</literal> whichprovides this operation. For "
+"resolving the Java EE resource, the <literal>jndiName</literal> or "
+"<literal>mappedName</literal> will be provided."
+msgstr ""
+"<literal>@EJB</literal>, <literal>@PersistenceContext</literal> 和 "
+"<literal>@Resource</literal> 的解析被委托给容器。你必须提供一个 <literal>org."
+"jboss.webbeans.ejb.spi.EjbResolver</literal> 实现来完成这些工作。每次解析请求"
+"到来时,Web Beans都将 <literal>javax.inject.manager.InjectionPoint</literal> "
+"以及 <literal>NamingContext</literal> 传递进来以便解析。"
+
+#. Tag: title
+#: ri-spi.xml:207
+#, no-c-format
+msgid "The bean store"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:209
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans uses a map like structure to store bean instances - <literal>org."
+"jboss.webbeans.context.api.BeanStore</literal>. You may find <literal>org."
+"jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore</literal> "
+"useful."
+msgstr ""
+"Web Bean期望应用服务器或者其他容器能够提供每个应用上下文的存储。<literal>org."
+"jboss.webbeans.context.api.BeanStore</literal> 应该被实现以便提供一个应用范围"
+"的存储。你也许会发现 <literal>org.jboss.webbeans.context.api.helpers."
+"ConcurrentHashMapBeanStore</literal> 非常有用。"
+
+#. Tag: title
+#: ri-spi.xml:219
+#, no-c-format
 msgid "The application context"
 msgstr "应用上下文"
 
 #. Tag: para
-#: ri-spi.xml:149
-#, no-c-format
+#: ri-spi.xml:221
+#, fuzzy, no-c-format
 msgid ""
 "Web Beans expects the Application Server or other container to provide the "
 "storage for each application's context. The <literal>org.jboss.webbeans."
 "context.api.BeanStore</literal> should be implemented to provide an "
-"application scoped storage. You may find <literal>org.jboss.webbeans.context."
-"api.helpers.ConcurrentHashMapBeanStore</literal> useful."
+"application scoped storage."
 msgstr ""
 "Web Bean期望应用服务器或者其他容器能够提供每个应用上下文的存储。<literal>org."
 "jboss.webbeans.context.api.BeanStore</literal> 应该被实现以便提供一个应用范围"
@@ -520,13 +607,13 @@
 "ConcurrentHashMapBeanStore</literal> 非常有用。"
 
 #. Tag: title
-#: ri-spi.xml:162
+#: ri-spi.xml:231
 #, no-c-format
 msgid "Bootstrap and shutdown"
 msgstr "自举和停止"
 
 #. Tag: para
-#: ri-spi.xml:163
+#: ri-spi.xml:232
 #, no-c-format
 msgid ""
 "The <literal>org.jboss.webbeans.bootstrap.api.Bootstrap</literal> interface "
@@ -541,7 +628,7 @@
 "literal>) ,告诉它使用的SPI,然后请求容器启动。 "
 
 #. Tag: para
-#: ri-spi.xml:172
+#: ri-spi.xml:241
 #, fuzzy, no-c-format
 msgid ""
 "The bootstrap is split into phases, bootstrap initialization and boot and "
@@ -555,18 +642,30 @@
 "Bean;和验证所有的Bean。"
 
 #. Tag: para
-#: ri-spi.xml:180
+#: ri-spi.xml:249
 #, no-c-format
 msgid ""
-"The bootstrap supports multiple environments. Different environments require "
-"different services to be present (for example servlet doesn't require "
-"transaction, EJB or JPA services). By default an EE environment is assumed, "
-"but you can adjust the environment by calling <literal>bootstrap."
-"setEnvironment()</literal>."
+"The bootstrap supports multiple environments. An environment is defined by "
+"an implementation of the <literal>Environment</literal> interface. A number "
+"of standard envrionments are built in as the enumeration "
+"<literal>Environments</literal>. Different environments require different "
+"services to be present (for example servlet doesn't require transaction, EJB "
+"or JPA services). By default an EE environment is assumed, but you can "
+"adjust the environment by calling <literal>bootstrap.setEnvironment()</"
+"literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:188
+#: ri-spi.xml:260
+#, no-c-format
+msgid ""
+"Web Beans uses a generic-typed service registry to allow services to be "
+"registered. All services implement the <literal>Service</literal> interface. "
+"The service registry allows services to be added and retrieved."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:267
 #, fuzzy, no-c-format
 msgid ""
 "To initialize the bootstrap you call <literal>Bootstrap.initialize()</"
@@ -582,7 +681,7 @@
 "literal>,你必须在调用<literal>initialize()</literal>之前设置它们。"
 
 #. Tag: para
-#: ri-spi.xml:197
+#: ri-spi.xml:276
 #, no-c-format
 msgid ""
 "Having called <literal>initialize()</literal>, the <literal>Manager</"
@@ -593,110 +692,66 @@
 "getManager()</literal>来获得<literal>管理器</literal>。"
 
 #. Tag: para
-#: ri-spi.xml:203
+#: ri-spi.xml:282
 #, no-c-format
 msgid "To boot the container you call <literal>Bootstrap.boot()</literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:207
-#, no-c-format
+#: ri-spi.xml:286
+#, fuzzy, no-c-format
 msgid ""
-"To shutdown the container you call <literal>Bootstrap.shutdown()</literal>. "
-"This allows the container to perform any cleanup operations needed."
+"To shutdown the container you call <literal>Bootstrap.shutdown()</literal> "
+"or <literal>webBeansManager.shutdown()</literal>. This allows the container "
+"to perform any cleanup operations needed."
 msgstr ""
 "要关闭容器,你需要调用 <literal>Bootstrap.shutdown()</literal>。这将让容器执"
 "行一些必要的清洁工作。"
 
 #. Tag: title
-#: ri-spi.xml:216
+#: ri-spi.xml:296
 #, no-c-format
 msgid "JNDI"
 msgstr "JNDI"
 
 #. Tag: para
-#: ri-spi.xml:218
+#: ri-spi.xml:298
 #, no-c-format
 msgid ""
-"The Web Beans RI implements JNDI binding and lookup according to standards, "
-"however you may want to alter the binding and lookup (for example in an "
-"environment where JNDI isn't available). To do this, implement <literal>org."
-"jboss.webbeans.resources.spi.NamingContext</literal>:"
+"Web Beans delegates all JNDI operations to the container through the SPI."
 msgstr ""
-" Web Beans 参考实现实现了JNDI 的绑定和根据标准来查询,然而你可能想要改变这些"
-"绑定和查询(例如在一个没有JNDI的环境中)。你可以通过实现 <literal>org.jboss."
-"webbeans.resources.spi.NamingContext</literal>来完成这个工作:"
 
-#. Tag: programlisting
-#: ri-spi.xml:226
+#. Tag: para
+#: ri-spi.xml:304
 #, no-c-format
 msgid ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
+"A number of the SPI interface require JNDI lookup, and the class "
+"<literal>AbstractResourceServices</literal> provides JNDI/Java EE spec "
+"compliant lookup methods."
 msgstr ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
 
 #. Tag: title
-#: ri-spi.xml:231
+#: ri-spi.xml:315
 #, no-c-format
 msgid "Resource loading"
 msgstr "资源加载"
 
 #. Tag: para
-#: ri-spi.xml:233
-#, no-c-format
+#: ri-spi.xml:317
+#, fuzzy, no-c-format
 msgid ""
-"The Web Beans RI needs to load classes and resources from the classpath at "
-"various times. By default, they are loaded from the same classloader that "
-"was used to load the RI, however this may not be correct for some "
-"environments. If this is case, you can implement <literal>org.jboss.webbeans."
-"spi.ResourceLoader</literal>:"
+"Web Beans needs to load classes and resources from the classpath at various "
+"times. By default, they are loaded from the Thread Context ClassLoader if "
+"available, if not the same classloader that was used to load Web Beans, "
+"however this may not be correct for some environments. If this is case, you "
+"can implement <literal>org.jboss.webbeans.spi.ResourceLoader</literal>:"
 msgstr ""
 "Web Beans参考实现需要在不同时间从类路径上加载类和资源。默认情况下,它们使用加"
 "载参考实现的类加载器加载,但是这在一些环境中可能是不适合的。如果出现这种情况"
 "的话,你可以实现<literal>org.jboss.webbeans.spi.ResourceLoader</literal> :"
 
 #. Tag: programlisting
-#: ri-spi.xml:241
+#: ri-spi.xml:326
 #, no-c-format
 msgid ""
 "<![CDATA[\n"
@@ -760,13 +815,13 @@
 "         ]]>"
 
 #. Tag: title
-#: ri-spi.xml:246
+#: ri-spi.xml:331
 #, no-c-format
 msgid "Servlet injection"
 msgstr "Servlet 注入"
 
 #. Tag: para
-#: ri-spi.xml:248
+#: ri-spi.xml:333
 #, no-c-format
 msgid ""
 "Java EE / Servlet does not provide any hooks which can be used to provide "
@@ -777,7 +832,7 @@
 "个接口来允许容器为一个Servlet请求JSR-299的注入。"
 
 #. Tag: para
-#: ri-spi.xml:254
+#: ri-spi.xml:339
 #, no-c-format
 msgid ""
 "To be compliant with JSR-299, the container should request servlet injection "
@@ -788,7 +843,7 @@
 "个新实例化的Servlet请求Servlet注入。"
 
 #. Tag: para
-#: ri-spi.xml:260
+#: ri-spi.xml:345
 #, no-c-format
 msgid ""
 "To perform injection on a servlet call <literal>WebBeansManager.injectServlet"
@@ -799,13 +854,13 @@
 "literal>。你可以通过 <literal>Bootstrap.getManager()</literal>来获得管理器。"
 
 #. Tag: title
-#: ri-spi.xml:271
+#: ri-spi.xml:356
 #, no-c-format
 msgid "The contract with the container"
 msgstr "容器的合约"
 
 #. Tag: para
-#: ri-spi.xml:273
+#: ri-spi.xml:358
 #, no-c-format
 msgid ""
 "There are a number of requirements that the Web Beans RI places on the "
@@ -813,13 +868,13 @@
 msgstr "为了接口实现之外的正确的功能,Web Beans参考实现对容器有大量的要求。"
 
 #. Tag: term
-#: ri-spi.xml:281
+#: ri-spi.xml:366
 #, no-c-format
 msgid "Classloader isolation"
 msgstr "类加载器隔离"
 
 #. Tag: para
-#: ri-spi.xml:285
+#: ri-spi.xml:370
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans RI into an environment that supports "
@@ -831,13 +886,13 @@
 "置或者自动化方式为每个Web Bean应用激活类加载器隔离。"
 
 #. Tag: term
-#: ri-spi.xml:294
+#: ri-spi.xml:379
 #, no-c-format
-msgid "Servlet listener and filters"
-msgstr "Servlet监听器和过滤器"
+msgid "Servlet"
+msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:298
+#: ri-spi.xml:383
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a Servlet environment you must "
@@ -849,8 +904,28 @@
 "需要以用户配置或者自动化形式将 <literal>org.jboss.webbeans.servlet."
 "WebBeansListener</literal> 注册为一个Servlet监听器。"
 
+#. Tag: term
+#: ri-spi.xml:394
+#, no-c-format
+msgid "<term>JSF</term>"
+msgstr ""
+
 #. Tag: para
-#: ri-spi.xml:307
+#: ri-spi.xml:399
+#, fuzzy, no-c-format
+msgid ""
+"If you are integrating the Web Beans into a JSF environment you must "
+"register <literal>org.jboss.webbeans.jsf.WebBeansPhaseListener</literal> as "
+"a phase listener, and <literal>org.jboss.webbeans.el.WebBeansELREsolver</"
+"literal> as an EL resolver, either automatically, or through user "
+"configuration, for each Web Beans application which uses JSF."
+msgstr ""
+"如果你将Web Bean整合到一个Servlet环境中,对每个使用Servlet的 Web Bean应用,你"
+"需要以用户配置或者自动化形式将 <literal>org.jboss.webbeans.servlet."
+"WebBeansListener</literal> 注册为一个Servlet监听器。"
+
+#. Tag: para
+#: ri-spi.xml:410
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a JSF environment you must "
@@ -864,14 +939,20 @@
 "ConversationPropagationFilter</literal> 注册为一个Servlet监听器。这个过滤器可"
 "以安全地向所有Servlet部署注册。"
 
+#. Tag: para
+#: ri-spi.xml:421
+#, no-c-format
+msgid "Web Beans only supports JSF 1.2 and above."
+msgstr ""
+
 #. Tag: term
-#: ri-spi.xml:319
+#: ri-spi.xml:428
 #, no-c-format
 msgid "Session Bean Interceptor"
 msgstr "会话Bean拦截器"
 
 #. Tag: para
-#: ri-spi.xml:323
+#: ri-spi.xml:432
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an EJB environment you must "
@@ -885,7 +966,7 @@
 "SessionBeanInterceptor</literal> 注册为应用中所有EJB的EJB拦截器。"
 
 #. Tag: para
-#: ri-spi.xml:333
+#: ri-spi.xml:442
 #, no-c-format
 msgid ""
 "You must register the <literal>SessionBeanInterceptor</literal> as the inner "
@@ -895,13 +976,13 @@
 "最内部的拦截器。"
 
 #. Tag: term
-#: ri-spi.xml:341
+#: ri-spi.xml:450
 #, fuzzy, no-c-format
 msgid "The <literal>webbeans-core.jar</literal>"
 msgstr "<literal>webbeans-ri.jar</literal>"
 
 #. Tag: para
-#: ri-spi.xml:345
+#: ri-spi.xml:454
 #, fuzzy, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an environment that supports "
@@ -912,6 +993,125 @@
 "如果你将Web Bean整合到一个支持应用部署的环境中,你必须将<literal>webbeans-ri."
 "jar</literal> 插入到应用隔离的类加载器中。它不能被一个共享的类加载器加载。"
 
+#. Tag: term
+#: ri-spi.xml:464
+#, no-c-format
+msgid "Binding the manager in JNDI"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:468
+#, no-c-format
+msgid ""
+"You should bind a <literal>Reference</literal> to the Manager "
+"<literal>ObjectFactory</literal> into JNDI at <literal>java:app/Manager</"
+"literal>. The type should be <literal>javax.inject.manager.Manager</literal> "
+"and the factory class is <literal>org.jboss.webbeans.resources."
+"ManagerObjectFactory</literal>"
+msgstr ""
+
+#~ msgid ""
+#~ "It should be possible to run Web Beans in an SE environment, but you'll "
+#~ "to do more work, adding your own contexts and lifecycle. The Web Beans RI "
+#~ "currently doesn't expose lifecycle extension points, so you would have to "
+#~ "code directly against Web Beans RI classes."
+#~ msgstr ""
+#~ "Web Bean可以在SE环境中运行,但是你需要做更多的工作,添加你自己的上下文和生"
+#~ "命周期。Web Bean参考实现目前没有暴露生命周期扩展点,所以你不得不直接编写"
+#~ "Web Bean参考实现的类。"
+
+#~ msgid ""
+#~ "All interfaces in the SPI support the decorator pattern and provide a "
+#~ "<literal>Forwarding</literal> class."
+#~ msgstr ""
+#~ "所有的SPI接口都支持装饰器模式,并且提供一个 <literal>Forwarding</literal> "
+#~ "类。"
+
+#, fuzzy
+#~ msgid ""
+#~ "<![CDATA[public interface EjbServices\n"
+#~ "{\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Gets a descriptor for each EJB in the application\n"
+#~ "    * \n"
+#~ "    * @return The bean class to descriptor map \n"
+#~ "    */\n"
+#~ "   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
+#~ msgstr ""
+#~ "<![CDATA[public interface EjbDiscovery\n"
+#~ "{\n"
+#~ "   public static final String PROPERTY_NAME = EjbDiscovery.class.getName"
+#~ "();\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Gets a descriptor for each EJB in the application\n"
+#~ "    * \n"
+#~ "    * @return The bean class to descriptor map \n"
+#~ "    */\n"
+#~ "   public Iterable<EjbDescriptor<?>> discoverEjbs();\n"
+#~ "   \n"
+#~ "}]]>"
+
+#~ msgid ""
+#~ "The Web Beans RI implements JNDI binding and lookup according to "
+#~ "standards, however you may want to alter the binding and lookup (for "
+#~ "example in an environment where JNDI isn't available). To do this, "
+#~ "implement <literal>org.jboss.webbeans.resources.spi.NamingContext</"
+#~ "literal>:"
+#~ msgstr ""
+#~ " Web Beans 参考实现实现了JNDI 的绑定和根据标准来查询,然而你可能想要改变这"
+#~ "些绑定和查询(例如在一个没有JNDI的环境中)。你可以通过实现 <literal>org."
+#~ "jboss.webbeans.resources.spi.NamingContext</literal>来完成这个工作:"
+
+#~ msgid ""
+#~ "<![CDATA[public interface NamingContext extends Serializable {\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Typed JNDI lookup\n"
+#~ "    * \n"
+#~ "    * @param <T> The type\n"
+#~ "    * @param name The JNDI name\n"
+#~ "    * @param expectedType The expected type\n"
+#~ "    * @return The object\n"
+#~ "    */\n"
+#~ "   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
+#~ "\n"
+#~ "   /**\n"
+#~ "    * Binds an item to JNDI\n"
+#~ "    * \n"
+#~ "    * @param name The key to bind under\n"
+#~ "    * @param value The item to bind\n"
+#~ "    */\n"
+#~ "   public void bind(String name, Object value);\n"
+#~ "   \n"
+#~ "}]]>"
+#~ msgstr ""
+#~ "<![CDATA[public interface NamingContext extends Serializable {\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Typed JNDI lookup\n"
+#~ "    * \n"
+#~ "    * @param <T> The type\n"
+#~ "    * @param name The JNDI name\n"
+#~ "    * @param expectedType The expected type\n"
+#~ "    * @return The object\n"
+#~ "    */\n"
+#~ "   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
+#~ "\n"
+#~ "   /**\n"
+#~ "    * Binds an item to JNDI\n"
+#~ "    * \n"
+#~ "    * @param name The key to bind under\n"
+#~ "    * @param value The item to bind\n"
+#~ "    */\n"
+#~ "   public void bind(String name, Object value);\n"
+#~ "   \n"
+#~ "}]]>"
+
+#~ msgid "Servlet listener and filters"
+#~ msgstr "Servlet监听器和过滤器"
+
 #~ msgid "EJB Discovery"
 #~ msgstr "EJB发现"
 

Deleted: doc/trunk/reference/zh-CN/ri.po
===================================================================
--- doc/trunk/reference/zh-CN/ri.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/zh-CN/ri.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -1,1433 +0,0 @@
-# Language zh-CN translations for master.xml package.
-# Automatically generated, 2008.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: master.xml\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-03-28 17:09+0000\n"
-"PO-Revision-Date: 2009-03-30 09:39+0800\n"
-"Last-Translator: Sean Wu <alartin at gmail.com>\n"
-"Language-Team: none\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Tag: title
-#: ri.xml:4
-#, no-c-format
-msgid "Web Beans, the Reference Implementation of JSR-299"
-msgstr "使用Web Beans的参考实现"
-
-#. Tag: para
-#: ri.xml:6
-#, no-c-format
-msgid "The Web Beans is being developed at <ulink url=\"http://seamframework.org/WebBeans\">the Seam project</ulink>. You can download the latest developer release of Web Beans from the <ulink url=\"http://seamframework.org/Download\">the downloads page</ulink>."
-msgstr "Web Bean参考实现由<ulink url=\"http://seamframework.org/WebBeans\">Seam项目</ulink>开发。你可以从<ulink url=\"http://seamframework.org/Download\">the downloads page</ulink>下载最新的开发者版本。"
-
-#. Tag: para
-#: ri.xml:13
-#, no-c-format
-msgid "Web Beans comes with a two deployable example applications: <literal>webbeans-numberguess</literal>, a war example, containing only simple beans, and <literal>webbeans-translator</literal> an ear example, containing enterprise beans. There are also two variations on the numberguess example, the tomcat example (suitable for deployment to Tomcat) and the jsf2 example, which you can use if you are running JSF2. To run the examples you'll need the following:"
-msgstr "Web Beans RI自带了两个例子:<literal>webbeans-numberguess</literal> (一个仅包含一个简单Bean的WAR应用例子)和<literal>webbeans-translator</literal> (一个包含企业Bean的EAR应用例子)。为了运行例子,你需要:"
-
-#. Tag: para
-#: ri.xml:25
-#, no-c-format
-msgid "the latest release of Web Beans,"
-msgstr "最新的Web Bean参考实现版本,"
-
-#. Tag: para
-#: ri.xml:28
-#, no-c-format
-msgid "JBoss AS 5.0.1.GA, or"
-msgstr "JBoss AS 5.0.0.GA, 和"
-
-#. Tag: para
-#: ri.xml:31
-#, no-c-format
-msgid "Apache Tomcat 6.0.x, and"
-msgstr "Apache Tomcat 6.0.X,和"
-
-#. Tag: para
-#: ri.xml:34
-#, no-c-format
-msgid "Ant 1.7.0."
-msgstr "Ant 1.7.0."
-
-#. Tag: title
-#: ri.xml:39
-#, no-c-format
-msgid "Using JBoss AS 5"
-msgstr "使用JBoss AS 5"
-
-#. Tag: para
-#: ri.xml:41
-#, no-c-format
-msgid "You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss.org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
-msgstr "当前,Web Beans参考实现只能运行在JBoss AS 5之上。你需要从<ulink url=\"http://www.jboss.org/jbossas/downloads/\">jboss.org</ulink>下载JBoss AS 5.0.0.GA, 然后解压。例如:"
-
-#. Tag: programlisting
-#: ri.xml:47
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.1.GA.zip]]>"
-msgstr ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.0.GA.zip]]>"
-
-#. Tag: para
-#: ri.xml:49
-#: ri.xml:170
-#, no-c-format
-msgid "Next, download Web Beans from <ulink url=\"http://seamframework.org/Download\">seamframework.org</ulink>, and unzip it. For example"
-msgstr "然后从<ulink url=\"http://seamframework.org/WebBeans\">seamframework.org</ulink>下载Web Beans的参考实现,然后解压。例如:"
-
-#. Tag: programlisting
-#: ri.xml:55
-#: ri.xml:176
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-$VERSION.zip]]>"
-msgstr ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-1.0.0.ALPHA1.zip]]>"
-
-#. Tag: para
-#: ri.xml:58
-#, no-c-format
-msgid "Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-as/build.properties</literal> and set the <literal>jboss.home</literal> property. For example:"
-msgstr "然后,我们需要告诉Web Beans JBoss的位置。编辑<literal>jboss-as/build.properties</literal>,设置<literal>jboss.home</literal>属性。例如:"
-
-#. Tag: programlisting
-#: ri.xml:64
-#, no-c-format
-msgid "jboss.home=/Applications/jboss-5.0.1.GA"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:66
-#, no-c-format
-msgid "To install Web Beans, you'll need Ant 1.7.0 installed, and the <literal>ANT_HOME</literal> environment variable set. For example:"
-msgstr "为了安装更新,你需要安装Ant 1.7.0,设置<literal>ANT_HOME</literal>环境变量。例如:"
-
-#. Tag: para
-#: ri.xml:67
-#, no-c-format
-msgid "Web Beans is bundled with JBoss AS 5.1 and above."
-msgstr "JBoss AS 5.1版本及以上捆绑了Web Bean。"
-
-#. Tag: para
-#: ri.xml:72
-#, no-c-format
-msgid "To install Web Beans, you'll need Ant 1.7.0 installed, and the <literal>ANT_HOME</literal> environment variable set. For example:"
-msgstr "为了安装更新,你需要安装Ant 1.7.0,设置<literal>ANT_HOME</literal>环境变量。例如:"
-
-#. Tag: programlisting
-#: ri.xml:71
-#, no-c-format
-msgid ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-msgstr ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-
-#. Tag: para
-#: ri.xml:73
-#, no-c-format
-msgid "Then, you can install the update. The update script will use Maven to download Web Beans automatically."
-msgstr "然后,你需要安装更新,更新脚本使用Maven来自动下载Web Beans和EJB3。"
-
-#. Tag: programlisting
-#: ri.xml:78
-#, no-c-format
-msgid ""
-"$ cd webbeans-$VERSION/jboss-as\n"
-"$ ant update"
-msgstr ""
-"$ cd webbeans-1.0.0.ALPHA1/jboss-as\n"
-"$ ant update"
-
-#. Tag: para
-#: ri.xml:80
-#, no-c-format
-msgid "Now, you're ready to deploy your first example!"
-msgstr "现在,你可以部署你的第一个例子了!"
-
-#. Tag: para
-#: ri.xml:85
-#, no-c-format
-msgid "The build scripts for the examples offer a number of targets for JBoss AS, these are:"
-msgstr "例子的构建脚本包含多个目标:"
-
-#. Tag: para
-#: ri.xml:91
-#, no-c-format
-msgid "<literal>ant restart</literal> - deploy the example in exploded format"
-msgstr "<literal>ant restart</literal> - 以exploded形式部署例子"
-
-#. Tag: para
-#: ri.xml:97
-#, no-c-format
-msgid "<literal>ant explode</literal> - update an exploded example, without restarting the deployment"
-msgstr "<literal>ant explode</literal> - 无需重新部署,更新一个exploded形式部署的例子"
-
-#. Tag: para
-#: ri.xml:103
-#, no-c-format
-msgid "<literal>ant deploy</literal> - deploy the example in compressed jar format"
-msgstr "<literal>ant deploy</literal> - 以压缩jar包形式部署例子"
-
-#. Tag: para
-#: ri.xml:108
-#, no-c-format
-msgid "<literal>ant undeploy</literal> - remove the example from the server"
-msgstr "<literal>ant undeploy</literal> - 将例子从服务器中移除"
-
-#. Tag: para
-#: ri.xml:113
-#, no-c-format
-msgid "<literal>ant clean</literal> - clean the example"
-msgstr "<literal>ant clean</literal> - 清除例子"
-
-#. Tag: para
-#: ri.xml:120
-#, no-c-format
-msgid "To deploy the numberguess example:"
-msgstr "部署猜数字(numberguess)例子:"
-
-#. Tag: programlisting
-#: ri.xml:124
-#, no-c-format
-msgid ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-msgstr ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:126
-#, no-c-format
-msgid "Start JBoss AS:"
-msgstr "启动 JBoss AS:"
-
-#. Tag: programlisting
-#: ri.xml:130
-#, no-c-format
-msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:133
-#, no-c-format
-msgid "If you use Windows, use the <literal>run.bat</literal>script."
-msgstr "如果你使用Windows操作系统,则使用<literal>run.bat</literal> 脚本。"
-
-#. Tag: para
-#: ri.xml:138
-#: ri.xml:240
-#, no-c-format
-msgid "Wait for the application to deploy, and enjoy hours of fun at <ulink url=\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
-msgstr "等待应用部署完毕,好好体验一下<ulink url=\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
-
-#. Tag: para
-#: ri.xml:143
-#, no-c-format
-msgid "Web Beans includes a second simple example that will translate your text into Latin. The numberguess example is a war example, and uses only simple beans; the translator example is an ear example, and includes enterprise beans, packaged in an EJB module. To try it out:"
-msgstr "Web Bean参考实现的第二个简单例子能够将你的文本翻译为拉丁文。猜数字例子是一个WAR应用,仅仅使用了一个简单Beans;翻译器例子是一个EAR应用,包含了打包在EJB模块中的企业Beans。试一下:"
-
-#. Tag: programlisting
-#: ri.xml:150
-#, no-c-format
-msgid ""
-"$ cd examples/translator\n"
-"ant deploy"
-msgstr ""
-"$ cd examples/traslator\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:152
-#, no-c-format
-msgid "Wait for the application to deploy, and visit <ulink url=\"http://localhost:8080/webbeans-translator\"></ulink>!"
-msgstr "等待应用部署,试一下<ulink url=\"http://localhost:8080/webbeans-translator\"></ulink>!"
-
-#. Tag: title
-#: ri.xml:160
-#, no-c-format
-msgid "Using Apache Tomcat 6.0"
-msgstr "使用Apache Tomcat 6.0"
-
-#. Tag: para
-#: ri.xml:162
-#, no-c-format
-msgid "You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. For example:"
-msgstr "然后从<ulink url=\"http://seamframework.org/WebBeans\">seamframework.org</ulink>下载Web Beans的参考实现,然后解压。例如:"
-
-#. Tag: programlisting
-#: ri.xml:168
-#, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
-msgstr ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.0.GA.zip]]>"
-
-#. Tag: para
-#: ri.xml:178
-#, no-c-format
-msgid "Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-as/build.properties</literal> and set the <literal>tomcat.home</literal> property. For example:"
-msgstr "然后,我们需要告诉Web Beans JBoss的位置。编辑<literal>jboss-as/build.properties</literal>,设置<literal>jboss.home</literal>属性。例如:"
-
-#. Tag: programlisting
-#: ri.xml:184
-#, no-c-format
-msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:187
-#, no-c-format
-msgid "The build scripts for the examples offer a number of targets for Tomcat, these are:"
-msgstr "例子的构建脚本包含多个目标:"
-
-#. Tag: para
-#: ri.xml:193
-#, no-c-format
-msgid "<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
-msgstr "<literal>ant restart</literal> - 以exploded形式部署例子"
-
-#. Tag: para
-#: ri.xml:199
-#, no-c-format
-msgid "<literal>ant tomcat.explode</literal> - update an exploded example, without restarting the deployment"
-msgstr "<literal>ant explode</literal> - 无需重新部署,更新一个exploded形式部署的例子"
-
-#. Tag: para
-#: ri.xml:205
-#, no-c-format
-msgid "<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar format"
-msgstr "<literal>ant deploy</literal> - 以压缩jar包形式部署例子"
-
-#. Tag: para
-#: ri.xml:210
-#, no-c-format
-msgid "<literal>ant tomcat.undeploy</literal> - remove the example from the server"
-msgstr "<literal>ant undeploy</literal> - 将例子从服务器中移除"
-
-#. Tag: para
-#: ri.xml:215
-#, no-c-format
-msgid "<literal>ant tomcat.clean</literal> - clean the example"
-msgstr "<literal>ant clean</literal> - 清除例子"
-
-#. Tag: para
-#: ri.xml:222
-#, no-c-format
-msgid "To deploy the numberguess example for tomcat:"
-msgstr "部署猜数字(numberguess)例子:"
-
-#. Tag: programlisting
-#: ri.xml:226
-#, no-c-format
-msgid ""
-"$ cd examples/tomcat\n"
-"ant tomcat.deploy"
-msgstr ""
-"$ cd examples/traslator\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:228
-#, no-c-format
-msgid "Start Tomcat:"
-msgstr "启动Tomcat:"
-
-#. Tag: programlisting
-#: ri.xml:232
-#, no-c-format
-msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:235
-#, no-c-format
-msgid "If you use Windows, use the <literal>startup.bat</literal>script."
-msgstr "如果你使用Windows操作系统,则使用<literal>run.bat</literal> 脚本。"
-
-#. Tag: title
-#: ri.xml:248
-#, no-c-format
-msgid "Using GlassFish"
-msgstr "使用Glassfish"
-
-#. Tag: para
-#: ri.xml:250
-#, no-c-format
-msgid "TODO"
-msgstr "待办"
-
-#. Tag: title
-#: ri.xml:254
-#, no-c-format
-msgid "The numberguess example"
-msgstr "猜数字例子"
-
-#. Tag: para
-#: ri.xml:256
-#, no-c-format
-msgid "In the numberguess application you get given 10 attempts to guess a number between 1 and 100. After each attempt, you will be told whether you are too high, or too low."
-msgstr "在猜数字应用中,你有十次机会来猜一个1到100之间的数字。每次猜测之后,应用都会告诉你你猜的数字是高了还是低了。"
-
-#. Tag: para
-#: ri.xml:262
-#, no-c-format
-msgid "The numberguess example is comprised of a number of Web Beans, configuration files, and Facelet JSF pages, packaged as a war. Let's start with the configuration files."
-msgstr "猜数字应用由Web Beans,配置文件,Facelete JSF页面组成,打包为一个WAR。我们先看一下配置文件。"
-
-#. Tag: para
-#: ri.xml:268
-#, no-c-format
-msgid "All the configuration files for this example are located in <literal>WEB-INF/</literal>, which is stored in <literal>WebContent</literal> in the source tree. First, we have <literal>faces-config.xml</literal>, in which we tell JSF to use Facelets:"
-msgstr "猜数字应用的所有的配置文件位于<literal>WEB-INF/</literal>,这个目录位于源码树的<literal>WebContent</literal>中。首先,我们在faces-config.xml文件中告诉JSF使用Faceletes:"
-
-#. Tag: programlisting
-#: ri.xml:276
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-msgstr ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-
-#. Tag: para
-#: ri.xml:278
-#, no-c-format
-msgid "There is an empty <literal>web-beans.xml</literal> file, which marks this application as a Web Beans application."
-msgstr "这有一个空的<literal>web-beans.xml</literal>文件,标识这个应用是一个Web Beans应用。"
-
-#. Tag: para
-#: ri.xml:283
-#, no-c-format
-msgid "Finally there is <literal>web.xml</literal>:"
-msgstr "最后,这有一个 <literal>web.xml</literal>:"
-
-#. Tag: section
-#: ri.xml:285
-#, no-c-format
-msgid ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> <area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default.suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces.servlet\"> <para> Enable and load the JSF servlet </para> </callout> <callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to <literal>.jsf</literal> pages to be handled by JSF </para> </callout> <callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be giving our source files (facelets) an extension of <literal>.jsf</literal> </para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a session timeout of 10 minutes </para> </callout> </calloutlist> </programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use Web Beans with any Servlet based web framework. </para> </note> <para> Let's take a look at the Facelet view: </para> <programlistingco> <areaspec> <area id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area id=\"validator\" coords=\"3!
 0\"/> <area id=\"submit\" coords=\"33\"/> </areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game.number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game.number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game.biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> <para> Facelets is a templating language for JSF, here we are wrapping our page in a template which defines the header. </para> </callout> <callout arearefs=\"messages\"> <para> There are a number of messages which can be sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the range of numbers they can guess gets smaller - this sentance changes to make sure they know what range to guess in. </para> </callout> <callout arearefs=\"guess\"> <para> This input field is bound to a Web Bean, using the value expression. </para> </callout> <callout arearefs=\"validator\"> <para> A range validator is used to make sure the user doesn't accidentally input a number outside of the range in which they can guess - if the validator wasn't here, the user might use up a guess on an out of range number. </para> </callout> <callout !
 arearefs=\"submit\"> <para> And, of course, there must be a way for the user to send their guess to the server. Here we bind to an action method on the Web Bean. </para> </callout> </calloutlist> </programlistingco>"
-msgstr ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> <area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default.suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"   \n"
-"    <listener>\n"
-"       <listener-class>org.jboss.webbeans.servlet.WebBeansListener</listener-class>\n"
-"    </listener>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces.servlet\"> <para> Enable and load the JSF servlet </para> </callout> <callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to <literal>.jsf</literal> pages to be handled by JSF </para> </callout> <callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be giving our source files (facelets) an extension of <literal>.jsf</literal> </para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a session timeout of 10 minutes </para> </callout> <callout arearefs=\"webbeans.listener\"> <para> Configure the Web Beans listener, so that Web Beans services can be used in the servlet request </para> </callout> </calloutlist> </programlistingco> <note> <para> The only configuration required by the Web Beans RI in <literal>web.xml</literal> is to add the Web Beans listener. </para> <para> Whilst this demo is a JSF demo, you can use the Web Beans RI with any Servlet based!
  web framework; just configure the Web Beans listener. </para> </note> <para> Let's take a look at the Facelet view: </para> <programlistingco> <areaspec> <area id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area id=\"validator\" coords=\"29\"/> <area id=\"submit\" coords=\"32\"/> </areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game.number gt game.guess}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game.number lt game.guess}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game.biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\" \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\"/>\n"
-"          </div>\n"
-"   \n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> <para> Facelets is a templating language for JSF, here we are wrapping our page in a template which defines the header. </para> </callout> <callout arearefs=\"messages\"> <para> There are a number of messages which can be sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the range of numbers they can guess gets smaller - this sentance changes to make sure they know what range to guess in. </para> </callout> <callout arearefs=\"guess\"> <para> This input field is bound to a Web Bean, using the value expression. </para> </callout> <callout arearefs=\"validator\"> <para> A range validator is used to make sure the user doesn't accidentally input a number outside of the range in which they can guess - if the validator wasn't here, the user might use up a guess on an out of range number. </para> </callout> <callout !
 arearefs=\"submit\"> <para> And, of course, there must be a way for the user to send their guess to the server. Here we bind to an action method on the Web Bean. </para> </callout> </calloutlist> </programlistingco>"
-
-#. Tag: para
-#: ri.xml:387
-#, no-c-format
-msgid "The example exists of 4 classes, the first two of which are binding types. First, there is the <literal>@Random</literal> binding type, used for injecting a random number:"
-msgstr "这个例子包括4个类,前面两个是绑定类型。首先,这有一个<literal>@Random</literal>绑定类型,用来注入一个随机数:"
-
-#. Tag: programlisting
-#: ri.xml:393
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-msgstr ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-
-#. Tag: para
-#: ri.xml:395
-#, no-c-format
-msgid "There is also the <literal>@MaxNumber</literal> binding type, used for injecting the maximum number that can be injected:"
-msgstr "这还有一个<literal>@MaxNumber</literal>绑定类型,用来注入一个最大值:"
-
-#. Tag: programlisting
-#: ri.xml:400
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-msgstr ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-
-#. Tag: para
-#: ri.xml:402
-#, no-c-format
-msgid "The <literal>Generator</literal> class is responsible for creating the random number, via a producer method. It also exposes the maximum possible number via a producer method:"
-msgstr "<literal>Generator</literal>类通过一个生产者(producer)方法创建一个随机数。它也通过一个生产者方法暴露可能的最大值:"
-
-#. Tag: programlisting
-#: ri.xml:408
-#, no-c-format
-msgid ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System.currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-msgstr ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System.currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-
-#. Tag: para
-#: ri.xml:410
-#, no-c-format
-msgid "You'll notice that the <literal>Generator</literal> is application scoped; therefore we don't get a different random each time."
-msgstr "你会注意到<literal>Generator</literal>是应用范围的;因此我们不会每次都得到一个不同的随机对象。"
-
-#. Tag: para
-#: ri.xml:415
-#, no-c-format
-msgid "The final Web Bean in the application is the session scoped <literal>Game</literal>."
-msgstr "最终的应用中的Web Bean是会话范围的 <literal>Game</literal> 。"
-
-#. Tag: para
-#: ri.xml:420
-#, no-c-format
-msgid "You'll note that we've used the <literal>@Named</literal> annotation, so that we can use the bean through EL in the JSF page. Finally, we've used constructor injection to initialize the game with a random number. And of course, we need to tell the player when they've won, so we give feedback with a <literal>FacesMessage</literal>."
-msgstr "你也许注意到我们使用了 <literal>@Named</literal>注释,以便我们能够通过EL(表达式语言)在JSF页面中使用Bean。最后,我们通过构造器注入来初始化猜数字游戏并给它设一个随机数。当然,在玩家猜对数字后,我们需要告诉玩家他赢了,所以我们通过<literal>FacesMessage</literal>反馈给玩家一条信息。"
-
-#. Tag: programlisting
-#: ri.xml:428
-#, no-c-format
-msgid ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-msgstr ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-
-#. Tag: title
-#: ri.xml:431
-#, no-c-format
-msgid "The numberguess example for Tomcat"
-msgstr "猜数字例子"
-
-#. Tag: para
-#: ri.xml:433
-#, no-c-format
-msgid "The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans should be deployed as a Web Application library in <literal>WEB-INF/lib</literal>. For your convenience we provide a single jar suitable for running Web Beans on Tomcat <literal>webbeans-tomcat.jar</literal>."
-msgstr "在Tomcat中部署猜数字应用有很多地方不同。首先,WebBean应该作为一个Web应用库文件,部署在<literal>WEB-INF/lib</literal>目录中。为方便起见,我们提供了一个单一的jar库 <literal>webbeans-tomcat.jar</literal>,能够让我们在Tomcat中运行Web Bean。"
-
-#. Tag: para
-#: ri.xml:442
-#, no-c-format
-msgid "Of course, you must also include JSF and EL, as well common annotations (<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
-msgstr "当然,你必须也要包含JSF和EL, 以及通用的注释(<literal>jsr250-api.jar</literal>),这些都是一个Java EE服务器默认应该包含的。 "
-
-#. Tag: para
-#: ri.xml:449
-#, no-c-format
-msgid "Secondly, we need to explicitly specify the Tomcat servlet listener (used to boot Web Beans, and control it's interaction with requests) in <literal>web.xml</literal>:"
-msgstr "第二,我们需要在<literal>web.xml</literal>中显式地指定Tomcat的Servlet监听器(用来启动Web Bean,并且控制其与请求的交互):"
-
-#. Tag: programlisting
-#: ri.xml:455
-#, no-c-format
-msgid ""
-"<![CDATA[<listener>\n"
-"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-class>\n"
-"</listener>]]>"
-msgstr ""
-"<![CDATA[<listener>\n"
-"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-class>\n"
-"</listener>]]>"
-
-#. Tag: title
-#: ri.xml:461
-#, no-c-format
-msgid "The translator example"
-msgstr "翻译器例子"
-
-#. Tag: para
-#: ri.xml:463
-#, no-c-format
-msgid "The translator example will take any sentences you enter, and translate them to Latin."
-msgstr "翻译器例子能够将你输入的句子翻译为拉丁文。"
-
-#. Tag: para
-#: ri.xml:468
-#, no-c-format
-msgid "The translator example is built as an ear, and contains EJBs. As a result, it's structure is more complex than the numberguess example."
-msgstr "翻译器例子是一个EAR应用,包含EJBs和企业Beans。因此,它的结构比猜数字例子复杂。"
-
-#. Tag: para
-#: ri.xml:474
-#, no-c-format
-msgid "EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make this structure much simpler!"
-msgstr "EJB3.1和Java EE 6允许你在WAR包中打包EJBs, 这将让这个结构更加简单!"
-
-#. Tag: para
-#: ri.xml:480
-#, no-c-format
-msgid "First, let's take a look at the ear aggregator, which is located in <literal>webbeans-translator-ear</literal> module. Maven automatically generates the <literal>application.xml</literal> for us:"
-msgstr "首先,让我们看一下EAR聚合器,它位于<literal>webbeans-translator-ear</literal>模块下。Maven将为我们自动生成<literal>application.xml</literal>和<literal>jboss-app.xml</literal>文件:"
-
-#. Tag: programlisting
-#: ri.xml:486
-#, no-c-format
-msgid ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-msgstr ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"      <jboss>\n"
-"         <loader-repository>webbeans.jboss.org:loader=webbeans-translator</loader-repository>\n"
-"      </jboss>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-
-#. Tag: para
-#: ri.xml:488
-#, no-c-format
-msgid "Here we set the context path, which gives us a nice url (<ulink url=\"http://localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-translator</ulink>)."
-msgstr "我们需要在这里做些事情-首先我们需要设置上下文路径为一个不错的URL(<ulink url=\"http://localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-translator</ulink>),我们还需要将JBoss AS的类加载器隔离配置激活。"
-
-#. Tag: para
-#: ri.xml:494
-#, no-c-format
-msgid "If you aren't using Maven to generate these files, you would need <literal>META-INF/application.xml</literal>:"
-msgstr "如果你不使用Maven来生成这些文件,你将需要<literal>META-INF/jboss-app.xml</literal>:"
-
-#. Tag: programlisting
-#: ri.xml:499
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-msgstr ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-
-#. Tag: para
-#: ri.xml:502
-#, no-c-format
-msgid "Next, lets look at the war. Just as in the numberguess example, we have a <literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web.xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
-msgstr "然后,我们看一下WAR包。在猜数字例子中,我们需要<literal>faces-config.xml</literal>(配置Facelets)和一个位于<literal>WebContent/WEB-INF</literal>下的<literal>web.xml</literal>(配置JSF并将Web Beans服务加入Servlet容器中)。"
-
-#. Tag: para
-#: ri.xml:509
-#, no-c-format
-msgid "More intersting is the facelet used to translate text. Just as in the numberguess example we have a template, which surrounds the form (ommitted here for brevity):"
-msgstr "更有意思的是用来翻译文本的facelet。在猜数字应用中我们有一个模板,这个模板套着表单(省略了表单):"
-
-#. Tag: programlisting
-#: ri.xml:515
-#, no-c-format
-msgid ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-msgstr ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-
-#. Tag: para
-#: ri.xml:517
-#, no-c-format
-msgid "The user can enter some text in the lefthand textarea, and hit the translate button to see the result to the right."
-msgstr "用户可以在左手边的文本区输入一些文本,点击翻译按钮查看右边的翻译结果。"
-
-#. Tag: para
-#: ri.xml:522
-#, no-c-format
-msgid "Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</literal>. In <literal>src/main/resources/META-INF</literal> there is just an empty <literal>web-beans.xml</literal>, used to mark the archive as containing Web Beans."
-msgstr "最后,我们看一下EJB模块,<literal>webbeans-translator-ejb</literal>。在<literal>src/main/resources/META-INF</literal>下有两个配置文件,一个是空的<literal>web-beans.xml</literal>,用来标识这个档案包包含Web Beans,一个是<literal>ejb-jar.xml</literal>。Web Beans为所有的EJB提供注入和初始化服务,使用<literal>ejb-jar.xml</literal>文件来配置。你将在使用Web Beans的EJB项目中需要这些配置:"
-
-#. Tag: para
-#: ri.xml:530
-#, no-c-format
-msgid "We've saved the most interesting bit to last, the code! The project has two simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</literal> and two enterprise beans, <literal>TranslatorControllerBean</literal> and <literal>SentenceTranslator</literal>. You should be getting quite familiar with what a Web Bean looks like by now, so we'll just highlight the most interesting bits here."
-msgstr "我们将最有意思的部分放在最后,那就是代码!这个例子有两个简单Beans, <literal>SentanceParser</literal>和<literal>TextTranslator</literal>,还有两个企业Beans,<literal>TanslatorControllerBean</literal>和<literal>SentenceTranslator</literal>。现在你应该对Web Beans有点熟悉了,我们在这里着重最有意思的部分。"
-
-#. Tag: para
-#: ri.xml:540
-#, no-c-format
-msgid "Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> are dependent beans, and <literal>TextTranslator</literal> uses constructor initialization:"
-msgstr "<literal>SentanceParser</literal>和<literal>TextTranslator</literal>是相互依赖的Beans,<literal>TextTranslator</literal>使用构造器初始化:"
-
-#. Tag: programlisting
-#: ri.xml:546
-#, no-c-format
-msgid ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-msgstr ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-
-#. Tag: para
-#: ri.xml:548
-#, no-c-format
-msgid "<literal>TextTranslator</literal> is a stateless bean (with a local business interface), where the magic happens - of course, we couldn't develop a full translator, but we gave it a good go!"
-msgstr "<literal>TextTranslator</literal>是一个无状态Bean(拥有一个本地业务接口),这里是魔术展现的地方-当然,我们不会开发一个完整的翻译器,但我们可以开发一个不错的小玩意!"
-
-#. Tag: para
-#: ri.xml:554
-#, no-c-format
-msgid "Finally, there is UI orientated controller, that collects the text from the user, and dispatches it to the translator. This is a request scoped, named, stateful session bean, which injects the translator."
-msgstr "最后,这里又要一个面向UI的控制器,从用户输入处搜集文本,转发给翻译器。这个控制器是请求范围的,具名的,有状态的会话Bean,它可以将翻译器注入进来。"
-
-#. Tag: programlisting
-#: ri.xml:560
-#, no-c-format
-msgid ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-msgstr ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-
-#. Tag: para
-#: ri.xml:562
-#, no-c-format
-msgid "The bean also has getters and setters for all the fields on the page."
-msgstr "这个Bean也拥有页面上所有域的getter和setter方法。"
-
-#. Tag: para
-#: ri.xml:566
-#, no-c-format
-msgid "As this is a stateful session bean, we have to have a remove method:"
-msgstr "这个Bean是有状态会话Bean,我们需要有一个remove方法:"
-
-#. Tag: programlisting
-#: ri.xml:570
-#, no-c-format
-msgid ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-msgstr ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-
-#. Tag: para
-#: ri.xml:572
-#, no-c-format
-msgid "The Web Beans manager will call the remove method for you when the bean is destroyed; in this case at the end of the request."
-msgstr "Web Beans管理器在这个bean销毁的时候调用remove方法;在这个例子中是请求结束的时候。"
-
-#. Tag: para
-#: ri.xml:578
-#, no-c-format
-msgid "That concludes our short tour of the Web Beans examples. For more on Web Beans , or to help out, please visit <ulink url=\"http://www.seamframework.org/WebBeans/Development\">http://www.seamframework.org/WebBeans/Development</ulink>."
-msgstr "Web Beans参考实现的例子到此结束。想要获得关于参考实现更多的知识或者帮助,请访问<ulink url=\"http://www.seamframework.org/WebBeans/Development\">http://www.seamframework.org/WebBeans/Development</ulink>。"
-
-#. Tag: para
-#: ri.xml:584
-#, no-c-format
-msgid "We need help in all areas - bug fixing, writing new features, writing examples and translating this reference guide."
-msgstr "我们在各个方面都需要帮助-bug修复,新特性开发,例子开发和参考指南的翻译等等。"
-
-#, fuzzy
-#~ msgid ""
-#~ "A new deployer, <literal>webbeans.deployer</literal> is added to JBoss "
-#~ "AS. This adds supports for Web Bean archives to JBoss AS, and allows the "
-#~ "Web Beans RI to query the EJB3 container and discover which EJBs are "
-#~ "installed in your application."
-#~ msgstr ""
-#~ "当前,我们需要两个更新。首先,需要添加一个新的部署器<literal>webbeans."
-#~ "deployer</literal>。这个部署器提供JBoss AS对Web Bean档案包的支持,能够让"
-#~ "Web Beans参考实现查询EJB3容器,发现应用中安装的EJB。第二,需要更新JBoss "
-#~ "EJB3。"
-#~ msgid "Web Beans is bundled with JBoss AS 5.1 and above."
-#~ msgstr "JBoss AS 5.1版本及以上捆绑了Web Bean。"
-#~ msgid ""
-#~ "As Web Beans is a new piece of software, you need to update JBoss AS to "
-#~ "run the Web Beans RI. Future versions of JBoss AS will include these "
-#~ "updates, and this step won't be necessary."
-#~ msgstr ""
-#~ "因为Web Beans是新的软件,你需要更新JBoss AS来运行Web Beans的参考实现。"
-#~ "JBoss AS未来的版本将包括这些更新,这些步骤将不再是必须的。"
-#~ msgid ""
-#~ "The final Web Bean in the application is the session scoped "
-#~ "<literal>Game</literal>. By making <literal>Game</literal> session "
-#~ "scoped, you can only play the game once per browser session. You could "
-#~ "easily add a reset button - a good exercise for the reader :-)"
-#~ msgstr ""
-#~ "最后,应用的Web Bean是会话范围的 <literal>Game</literal>。通过将 "
-#~ "<literal>Game</literal>的范围设为会话范围,你可以为每个浏览器会话启动一个"
-#~ "猜数字游戏。你可以简单地添加一个复位按钮-对于读者来说是一个很好的练习 :)"
-#~ msgid ""
-#~ "<![CDATA[@Named\n"
-#~ "@SessionScoped\n"
-#~ "public class Game {\n"
-#~ "   private int number;\n"
-#~ "   \n"
-#~ "   private int guess;\n"
-#~ "   private int smallest;\n"
-#~ "   private int biggest;\n"
-#~ "   private int remainingGuesses;\n"
-#~ "   \n"
-#~ "   public Game() {}\n"
-#~ "   \n"
-#~ "   @Initializer\n"
-#~ "   Game(@Random int number, @MaxNumber int maxNumber) {\n"
-#~ "      this.number = number;\n"
-#~ "      this.smallest = 1;\n"
-#~ "      this.biggest = maxNumber;\n"
-#~ "      this.remainingGuesses = 10;\n"
-#~ "   }\n"
-#~ "\n"
-#~ "   // Getters and setters for fields\n"
-#~ "   \n"
-#~ "   public String check() {\n"
-#~ "      if (guess>number) {\n"
-#~ "         biggest = guess - 1;\n"
-#~ "      }\n"
-#~ "      if (guess<number) {\n"
-#~ "         smallest = guess + 1;\n"
-#~ "      }\n"
-#~ "      if (guess == number) {\n"
-#~ "         FacesContext.getCurrentInstance().addMessage(null, new "
-#~ "FacesMessage(\"Correct!\"));\n"
-#~ "      }\n"
-#~ "      remainingGuesses--;\n"
-#~ "      return null;\n"
-#~ "   }\n"
-#~ "   \n"
-#~ "}]]>"
-#~ msgstr ""
-#~ "<![CDATA[@Named\n"
-#~ "@SessionScoped\n"
-#~ "public class Game {\n"
-#~ "   private int number;\n"
-#~ "   \n"
-#~ "   private int guess;\n"
-#~ "   private int smallest;\n"
-#~ "   private int biggest;\n"
-#~ "   private int remainingGuesses;\n"
-#~ "   \n"
-#~ "   public Game() {}\n"
-#~ "   \n"
-#~ "   @Initializer\n"
-#~ "   Game(@Random int number, @MaxNumber int maxNumber) {\n"
-#~ "      this.number = number;\n"
-#~ "      this.smallest = 1;\n"
-#~ "      this.biggest = maxNumber;\n"
-#~ "      this.remainingGuesses = 10;\n"
-#~ "   }\n"
-#~ "\n"
-#~ "   // Getters and setters for fields\n"
-#~ "   \n"
-#~ "   public String check() {\n"
-#~ "      if (guess>number) {\n"
-#~ "         biggest = guess - 1;\n"
-#~ "      }\n"
-#~ "      if (guess<number) {\n"
-#~ "         smallest = guess + 1;\n"
-#~ "      }\n"
-#~ "      if (guess == number) {\n"
-#~ "         FacesContext.getCurrentInstance().addMessage(null, new "
-#~ "FacesMessage(\"Correct!\"));\n"
-#~ "      }\n"
-#~ "      remainingGuesses--;\n"
-#~ "      return null;\n"
-#~ "   }\n"
-#~ "   \n"
-#~ "}]]>"
-#~ msgid ""
-#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-#~ "<!DOCTYPE jboss-app\n"
-#~ "    PUBLIC \"-//JBoss//DTD J2EE Application 4.2//EN\"\n"
-#~ "    \"http://www.jboss.org/j2ee/dtd/jboss-app_4_2.dtd\">\n"
-#~ "<jboss-app>\n"
-#~ "  <loader-repository>webbeans.jboss.org:loader=webbeans-translator</"
-#~ "loader-repository>\n"
-#~ "</jboss-app>]]>"
-#~ msgstr ""
-#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-#~ "<!DOCTYPE jboss-app\n"
-#~ "    PUBLIC \"-//JBoss//DTD J2EE Application 4.2//EN\"\n"
-#~ "    \"http://www.jboss.org/j2ee/dtd/jboss-app_4_2.dtd\">\n"
-#~ "<jboss-app>\n"
-#~ "  <loader-repository>webbeans.jboss.org:loader=webbeans-translator</"
-#~ "loader-repository>\n"
-#~ "</jboss-app>]]>"
-#~ msgid "and <literal>META-INF/application.xml</literal>:"
-#~ msgstr "和 <literal>META-INF/application.xml</literal>:"
-#~ msgid ""
-#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-#~ "<ejb-jar xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-#~ "         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n"
-#~ "         xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-#~ "java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd\"\n"
-#~ "         version=\"3.0\">\n"
-#~ "         \n"
-#~ "   <interceptors>\n"
-#~ "     <interceptor>\n"
-#~ "       <interceptor-class>org.jboss.webbeans.ejb.SessionBeanInterceptor</"
-#~ "interceptor-class>\n"
-#~ "     </interceptor>\n"
-#~ "   </interceptors>\n"
-#~ "   \n"
-#~ "   <assembly-descriptor>\n"
-#~ "      <interceptor-binding>\n"
-#~ "         <ejb-name>*</ejb-name>\n"
-#~ "         <interceptor-class>org.jboss.webbeans.ejb."
-#~ "SessionBeanInterceptor</interceptor-class>\n"
-#~ "      </interceptor-binding>\n"
-#~ "   </assembly-descriptor>\n"
-#~ "   \n"
-#~ "</ejb-jar>]]>"
-#~ msgstr ""
-#~ "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-#~ "<ejb-jar xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-#~ "         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n"
-#~ "         xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-#~ "java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd\"\n"
-#~ "         version=\"3.0\">\n"
-#~ "         \n"
-#~ "   <interceptors>\n"
-#~ "     <interceptor>\n"
-#~ "       <interceptor-class>org.jboss.webbeans.ejb.SessionBeanInterceptor</"
-#~ "interceptor-class>\n"
-#~ "     </interceptor>\n"
-#~ "   </interceptors>\n"
-#~ "   \n"
-#~ "   <assembly-descriptor>\n"
-#~ "      <interceptor-binding>\n"
-#~ "         <ejb-name>*</ejb-name>\n"
-#~ "         <interceptor-class>org.jboss.webbeans.ejb."
-#~ "SessionBeanInterceptor</interceptor-class>\n"
-#~ "      </interceptor-binding>\n"
-#~ "   </assembly-descriptor>\n"
-#~ "   \n"
-#~ "</ejb-jar>]]>"
-

Modified: doc/trunk/reference/zh-CN/scopescontexts.po
===================================================================
--- doc/trunk/reference/zh-CN/scopescontexts.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/zh-CN/scopescontexts.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: master.xml\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-02-07 18:51+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-30 09:18+0800\n"
 "Last-Translator: Sean Wu <alartin at gmail.com>\n"
 "Language-Team: none\n"
@@ -22,8 +22,16 @@
 #. Tag: para
 #: scopescontexts.xml:6
 #, no-c-format
-msgid "So far, we've seen a few examples of <emphasis>scope type annotations</emphasis>. The scope of a Web Bean determines the lifecycle of instances of the Web Bean. The scope also determines which clients refer to which instances of the Web Bean. According to the Web Beans specification, a scope determines:"
-msgstr "目前为止,我们已经看到了几个 <emphasis>范围类型注释</emphasis>的例子。Web Bean的范围决定了Web Bean实例的生命周期。范围还决定了哪个客户端引用了哪个Web Bean实例。根据Web Beans规范,一个范围决定:"
+msgid ""
+"So far, we've seen a few examples of <emphasis>scope type annotations</"
+"emphasis>. The scope of a Web Bean determines the lifecycle of instances of "
+"the Web Bean. The scope also determines which clients refer to which "
+"instances of the Web Bean. According to the Web Beans specification, a scope "
+"determines:"
+msgstr ""
+"目前为止,我们已经看到了几个 <emphasis>范围类型注释</emphasis>的例子。Web "
+"Bean的范围决定了Web Bean实例的生命周期。范围还决定了哪个客户端引用了哪个Web "
+"Bean实例。根据Web Beans规范,一个范围决定:"
 
 #. Tag: para
 #: scopescontexts.xml:14
@@ -40,14 +48,25 @@
 #. Tag: para
 #: scopescontexts.xml:20
 #, no-c-format
-msgid "Which injected references refer to any instance of a Web Bean with that scope"
+msgid ""
+"Which injected references refer to any instance of a Web Bean with that scope"
 msgstr "注入的引用指向该范围的Web Bean的哪个实例"
 
 #. Tag: para
 #: scopescontexts.xml:25
 #, no-c-format
-msgid "For example, if we have a session scoped Web Bean, <literal>CurrentUser</literal>, all Web Beans that are called in the context of the same <literal>HttpSession</literal> will see the same instance of <literal>CurrentUser</literal>. This instance will be automatically created the first time a <literal>CurrentUser</literal> is needed in that session, and automatically destroyed when the session ends."
-msgstr "例如,如果我们有一个会话范围的Web Bean:<literal>CurrentUser</literal>。那么在同一个<literal>HttpSession</literal>的上下文中调用的所有的Web Bean都将看到同一个<literal>CurrentUser</literal>实例。这个实例在会话第一次需要<literal>CurrentUser</literal>时被自动创建,在会话结束时被自动销毁。"
+msgid ""
+"For example, if we have a session scoped Web Bean, <literal>CurrentUser</"
+"literal>, all Web Beans that are called in the context of the same "
+"<literal>HttpSession</literal> will see the same instance of "
+"<literal>CurrentUser</literal>. This instance will be automatically created "
+"the first time a <literal>CurrentUser</literal> is needed in that session, "
+"and automatically destroyed when the session ends."
+msgstr ""
+"例如,如果我们有一个会话范围的Web Bean:<literal>CurrentUser</literal>。那么"
+"在同一个<literal>HttpSession</literal>的上下文中调用的所有的Web Bean都将看到"
+"同一个<literal>CurrentUser</literal>实例。这个实例在会话第一次需要"
+"<literal>CurrentUser</literal>时被自动创建,在会话结束时被自动销毁。"
 
 #. Tag: title
 #: scopescontexts.xml:32
@@ -58,8 +77,12 @@
 #. Tag: para
 #: scopescontexts.xml:34
 #, no-c-format
-msgid "Web Beans features an <emphasis>extensible context model</emphasis>. It is possible to define new scopes by creating a new scope type annotation:"
-msgstr "Web Bean有一个特性是<emphasis>可扩展的上下文模型</emphasis>。我们可以创建一个新的范围类型注释来定一个新的范围:"
+msgid ""
+"Web Beans features an <emphasis>extensible context model</emphasis>. It is "
+"possible to define new scopes by creating a new scope type annotation:"
+msgstr ""
+"Web Bean有一个特性是<emphasis>可扩展的上下文模型</emphasis>。我们可以创建一个"
+"新的范围类型注释来定一个新的范围:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:37
@@ -78,13 +101,22 @@
 #. Tag: para
 #: scopescontexts.xml:39
 #, no-c-format
-msgid "Of course, that's the easy part of the job. For this scope type to be useful, we will also need to define a <literal>Context</literal> object that implements the scope! Implementing a <literal>Context</literal> is usually a very technical task, intended for framework development only."
-msgstr "当然,这是这项工作最简单的部分。为了让这个范围类型可以使用,我们还需要定义一个<literal>Context(上下文)</literal>对象来实现这个范围!实现上下文通常是一个非常具备挑战的技术任务,这常常只能由开发编程框架的专家完成。"
+msgid ""
+"Of course, that's the easy part of the job. For this scope type to be "
+"useful, we will also need to define a <literal>Context</literal> object that "
+"implements the scope! Implementing a <literal>Context</literal> is usually a "
+"very technical task, intended for framework development only."
+msgstr ""
+"当然,这是这项工作最简单的部分。为了让这个范围类型可以使用,我们还需要定义一"
+"个<literal>Context(上下文)</literal>对象来实现这个范围!实现上下文通常是一"
+"个非常具备挑战的技术任务,这常常只能由开发编程框架的专家完成。"
 
 #. Tag: para
 #: scopescontexts.xml:44
 #, no-c-format
-msgid "We can apply a scope type annotation to a Web Bean implementation class to specify the scope of the Web Bean:"
+msgid ""
+"We can apply a scope type annotation to a Web Bean implementation class to "
+"specify the scope of the Web Bean:"
 msgstr "我们可以在Web Bean实现类中应用范围类型注释来指定Web Bean的范围:"
 
 #. Tag: programlisting
@@ -148,7 +180,9 @@
 #. Tag: para
 #: scopescontexts.xml:86
 #, no-c-format
-msgid "any servlet request has access to active request, session and application scopes, and, additionally"
+msgid ""
+"any servlet request has access to active request, session and application "
+"scopes, and, additionally"
 msgstr "任何Servlet请求可以访问激活的请求,会话和应用范围,并且"
 
 #. Tag: para
@@ -190,14 +224,24 @@
 #. Tag: para
 #: scopescontexts.xml:111
 #, no-c-format
-msgid "If the application tries to invoke a Web Bean with a scope that does not have an active context, a <literal>ContextNotActiveException</literal> is thrown by the Web Bean manager at runtime."
-msgstr "如果应用试图调用一个Web Bean,而对应的范围上下文没有处于激活状态时,Web Bean管理器在运行时将抛出一个<literal>ContextNotActiveException</literal>异常。"
+msgid ""
+"If the application tries to invoke a Web Bean with a scope that does not "
+"have an active context, a <literal>ContextNotActiveException</literal> is "
+"thrown by the Web Bean manager at runtime."
+msgstr ""
+"如果应用试图调用一个Web Bean,而对应的范围上下文没有处于激活状态时,Web Bean"
+"管理器在运行时将抛出一个<literal>ContextNotActiveException</literal>异常。"
 
 #. Tag: para
 #: scopescontexts.xml:115
 #, no-c-format
-msgid "Three of the four built-in scopes should be extremely familiar to every Java EE developer, so let's not waste time discussing them here. One of the scopes, however, is new."
-msgstr "这四个内置范围的其中三个对于每个Java EE程序员来说都非常熟悉,所以让我们别浪费时间来讨论他们。不过有一个范围是新的。"
+msgid ""
+"Three of the four built-in scopes should be extremely familiar to every Java "
+"EE developer, so let's not waste time discussing them here. One of the "
+"scopes, however, is new."
+msgstr ""
+"这四个内置范围的其中三个对于每个Java EE程序员来说都非常熟悉,所以让我们别浪费"
+"时间来讨论他们。不过有一个范围是新的。"
 
 #. Tag: title
 #: scopescontexts.xml:122
@@ -208,8 +252,15 @@
 #. Tag: para
 #: scopescontexts.xml:124
 #, no-c-format
-msgid "The Web Beans conversation scope is a bit like the traditional session scope in that it holds state associated with a user of the system, and spans multiple requests to the server. However, unlike the session scope, the conversation scope:"
-msgstr "Web Beans的对话(Conversation)范围有点类似与传统的会话范围(Session),传统的会话范围常常用来存储和系统用户相关的状态,并且能够跨越多个请求。然而,对话范围还有很多地方和会话范围不一样:"
+msgid ""
+"The Web Beans conversation scope is a bit like the traditional session scope "
+"in that it holds state associated with a user of the system, and spans "
+"multiple requests to the server. However, unlike the session scope, the "
+"conversation scope:"
+msgstr ""
+"Web Beans的对话(Conversation)范围有点类似与传统的会话范围(Session),传统的会"
+"话范围常常用来存储和系统用户相关的状态,并且能够跨越多个请求。然而,对话范围"
+"还有很多地方和会话范围不一样:"
 
 #. Tag: para
 #: scopescontexts.xml:130
@@ -220,20 +271,35 @@
 #. Tag: para
 #: scopescontexts.xml:133
 #, no-c-format
-msgid "holds state associated with a particular web browser tab in a JSF application."
+msgid ""
+"holds state associated with a particular web browser tab in a JSF "
+"application."
 msgstr "在一个JSF应用中持有与一个特定的Web浏览标签页关联的状态。"
 
 #. Tag: para
 #: scopescontexts.xml:138
 #, no-c-format
-msgid "A conversation represents a task, a unit of work from the point of view of the user. The conversation context holds state associated with what the user is currently working on. If the user is doing multiple things at the same time, there are multiple conversations."
-msgstr "从用户角度出发,一个对话代表一个任务,或者一个工作单元。用户当前工作相关的状态由对话上下文维护。如果用户同时处理多个事情,就会有多个对话与之对应。"
+msgid ""
+"A conversation represents a task, a unit of work from the point of view of "
+"the user. The conversation context holds state associated with what the user "
+"is currently working on. If the user is doing multiple things at the same "
+"time, there are multiple conversations."
+msgstr ""
+"从用户角度出发,一个对话代表一个任务,或者一个工作单元。用户当前工作相关的状"
+"态由对话上下文维护。如果用户同时处理多个事情,就会有多个对话与之对应。"
 
 #. Tag: para
 #: scopescontexts.xml:143
 #, no-c-format
-msgid "The conversation context is active during any JSF request. However, most conversations are destroyed at the end of the request. If a conversation should hold state across multiple requests, it must be explicitly promoted to a <emphasis>long-running conversation</emphasis>."
-msgstr "一个对话上下文在任何JSF请求中都是激活的。但是,大部分对话都在请求结束的时候被销毁了。如果一个对话需要跨越多个请求来维护状态的话,它必须显式地升级为<emphasis>长时对话</emphasis>。"
+msgid ""
+"The conversation context is active during any JSF request. However, most "
+"conversations are destroyed at the end of the request. If a conversation "
+"should hold state across multiple requests, it must be explicitly promoted "
+"to a <emphasis>long-running conversation</emphasis>."
+msgstr ""
+"一个对话上下文在任何JSF请求中都是激活的。但是,大部分对话都在请求结束的时候被"
+"销毁了。如果一个对话需要跨越多个请求来维护状态的话,它必须显式地升级为"
+"<emphasis>长时对话</emphasis>。"
 
 #. Tag: title
 #: scopescontexts.xml:149
@@ -244,8 +310,13 @@
 #. Tag: para
 #: scopescontexts.xml:151
 #, no-c-format
-msgid "Web Beans provides a built-in Web Bean for controlling the lifecyle of conversations in a JSF application. This Web Bean may be obtained by injection:"
-msgstr "Web Beans提供了一个内置的Web Bean来在控制一个JSF应用中对话的生命周期。这个Web Bean可以通过注入来获得:"
+msgid ""
+"Web Beans provides a built-in Web Bean for controlling the lifecyle of "
+"conversations in a JSF application. This Web Bean may be obtained by "
+"injection:"
+msgstr ""
+"Web Beans提供了一个内置的Web Bean来在控制一个JSF应用中对话的生命周期。这个"
+"Web Bean可以通过注入来获得:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:154
@@ -256,13 +327,23 @@
 #. Tag: para
 #: scopescontexts.xml:156
 #, no-c-format
-msgid "To promote the conversation associated with the current request to a long-running conversation, call the <literal>begin()</literal> method from application code. To schedule the current long-running conversation context for destruction at the end of the current request, call <literal>end()</literal>."
-msgstr "将当前请求关联的对话升级为长时对话的方法是从应用代码中调用 <literal>begin()</literal>方法。将当前长时对话上下文在当前请求结束时销毁的方法是调用<literal>end()</literal>方法。"
+msgid ""
+"To promote the conversation associated with the current request to a long-"
+"running conversation, call the <literal>begin()</literal> method from "
+"application code. To schedule the current long-running conversation context "
+"for destruction at the end of the current request, call <literal>end()</"
+"literal>."
+msgstr ""
+"将当前请求关联的对话升级为长时对话的方法是从应用代码中调用 <literal>begin()</"
+"literal>方法。将当前长时对话上下文在当前请求结束时销毁的方法是调用"
+"<literal>end()</literal>方法。"
 
 #. Tag: para
 #: scopescontexts.xml:161
 #, no-c-format
-msgid "In the following example, a conversation-scoped Web Bean controls the conversation with which it is associated:"
+msgid ""
+"In the following example, a conversation-scoped Web Bean controls the "
+"conversation with which it is associated:"
 msgstr "在下面的例子中,一个对话范围的Web Bean控制和它关联的对话:"
 
 #. Tag: programlisting
@@ -334,8 +415,13 @@
 #. Tag: para
 #: scopescontexts.xml:166
 #, no-c-format
-msgid "This Web Bean is able to control its own lifecycle through use of the <literal>Conversation</literal> API. But some other Web Beans have a lifecycle which depends completely upon another object."
-msgstr "Web Bean可以通过<literal>Conversation</literal>接口控制自己的生命周期。但是其他一些Web Bean的生命周期完全依赖与其他对象。"
+msgid ""
+"This Web Bean is able to control its own lifecycle through use of the "
+"<literal>Conversation</literal> API. But some other Web Beans have a "
+"lifecycle which depends completely upon another object."
+msgstr ""
+"Web Bean可以通过<literal>Conversation</literal>接口控制自己的生命周期。但是其"
+"他一些Web Bean的生命周期完全依赖与其他对象。"
 
 #. Tag: title
 #: scopescontexts.xml:173
@@ -346,14 +432,29 @@
 #. Tag: para
 #: scopescontexts.xml:175
 #, no-c-format
-msgid "The conversation context automatically propagates with any JSF faces request (JSF form submission). It does not automatically propagate with non-faces requests, for example, navigation via a link."
-msgstr "对话上下文在任何JSF faces请求中自动传播(JSF表单提交)。在非faces请求中,对话上下文将不会自动传播,例如通过一个链接来导航。"
+msgid ""
+"The conversation context automatically propagates with any JSF faces request "
+"(JSF form submission). It does not automatically propagate with non-faces "
+"requests, for example, navigation via a link."
+msgstr ""
+"对话上下文在任何JSF faces请求中自动传播(JSF表单提交)。在非faces请求中,对话"
+"上下文将不会自动传播,例如通过一个链接来导航。"
 
 #. Tag: para
 #: scopescontexts.xml:179
 #, no-c-format
-msgid "We can force the conversation to propagate with a non-faces request by including the unique identifier of the conversation as a request parameter. The Web Beans specification reserves the request parameter named <literal>cid</literal> for this use. The unique identifier of the conversation may be obtained from the <literal>Conversation</literal> object, which has the Web Beans name <literal>conversation</literal>."
-msgstr "我们可以强迫在非faces请求中传播对话,方法是在请求参数中包含一个对话的唯一标识符即可。Web Beans规范为此保留了一个请求参数关键字<literal>cid</literal>。对话的唯一标识符可以通过<literal>Conversation</literal>对象获得,它拥有Web Beans的名字<literal>conversation</literal>。"
+msgid ""
+"We can force the conversation to propagate with a non-faces request by "
+"including the unique identifier of the conversation as a request parameter. "
+"The Web Beans specification reserves the request parameter named "
+"<literal>cid</literal> for this use. The unique identifier of the "
+"conversation may be obtained from the <literal>Conversation</literal> "
+"object, which has the Web Beans name <literal>conversation</literal>."
+msgstr ""
+"我们可以强迫在非faces请求中传播对话,方法是在请求参数中包含一个对话的唯一标识"
+"符即可。Web Beans规范为此保留了一个请求参数关键字<literal>cid</literal>。对话"
+"的唯一标识符可以通过<literal>Conversation</literal>对象获得,它拥有Web Beans"
+"的名字<literal>conversation</literal>。"
 
 #. Tag: para
 #: scopescontexts.xml:186
@@ -364,14 +465,27 @@
 #. Tag: programlisting
 #: scopescontexts.xml:188
 #, no-c-format
-msgid "<![CDATA[<a href=\"/addProduct.jsp?cid=#{conversation.id}\">Add Product</a>]]>"
-msgstr "<![CDATA[<a href=\"/addProduct.jsp?cid=#{conversation.id}\">Add Product</a>]]>"
+msgid ""
+"<![CDATA[<a href=\"/addProduct.jsp?cid=#{conversation.id}\">Add Product</a>]]"
+">"
+msgstr ""
+"<![CDATA[<a href=\"/addProduct.jsp?cid=#{conversation.id}\">Add Product</a>]]"
+">"
 
 #. Tag: para
 #: scopescontexts.xml:190
 #, no-c-format
-msgid "The Web Bean manager is also required to propagate conversations across any redirect, even if the conversation is not marked long-running. This makes it very easy to implement the common POST-then-redirect pattern, without resort to fragile constructs such as a \"flash\" object. In this case, the Web Bean manager automatically adds a request parameter to the redirect URL."
-msgstr "Web Bean管理器也需要能够跨越任何重定向来传播对话,甚至这个对话没有被升级为长时对话。这样我们就能很容易实现常用的POST-then-redirect模式,而不需要构建一个脆弱的 \"闪存\"对象。在这个例子中,Web Bean管理器自动向重定向URL中添加一个请求参数。"
+msgid ""
+"The Web Bean manager is also required to propagate conversations across any "
+"redirect, even if the conversation is not marked long-running. This makes it "
+"very easy to implement the common POST-then-redirect pattern, without resort "
+"to fragile constructs such as a \"flash\" object. In this case, the Web Bean "
+"manager automatically adds a request parameter to the redirect URL."
+msgstr ""
+"Web Bean管理器也需要能够跨越任何重定向来传播对话,甚至这个对话没有被升级为长"
+"时对话。这样我们就能很容易实现常用的POST-then-redirect模式,而不需要构建一个"
+"脆弱的 \"闪存\"对象。在这个例子中,Web Bean管理器自动向重定向URL中添加一个请"
+"求参数。"
 
 #. Tag: title
 #: scopescontexts.xml:200
@@ -382,14 +496,28 @@
 #. Tag: para
 #: scopescontexts.xml:202
 #, no-c-format
-msgid "The Web Bean manager is permitted to destroy a conversation and all state held in its context at any time in order to preserve resources. A Web Bean manager implementation will normally do this on the basis of some kind of timeout &#151; though this is not required by the Web Beans specification. The timeout is the period of inactivity before the conversation is destroyed."
-msgstr "Web Bean管理器可以在任何时候销毁一个对话及其上下文中维护的所有状态,这样的设计可以降低资源的消耗。一个Web Bean管理器的实现将根据超时&#151;设置自动的完成上述任务,虽然这个特性在Web Bean规范中没有要求。超时指的是对话被销毁前的非激活时间。"
+msgid ""
+"The Web Bean manager is permitted to destroy a conversation and all state "
+"held in its context at any time in order to preserve resources. A Web Bean "
+"manager implementation will normally do this on the basis of some kind of "
+"timeout &#151; though this is not required by the Web Beans specification. "
+"The timeout is the period of inactivity before the conversation is destroyed."
+msgstr ""
+"Web Bean管理器可以在任何时候销毁一个对话及其上下文中维护的所有状态,这样的设"
+"计可以降低资源的消耗。一个Web Bean管理器的实现将根据超时&#151;设置自动的完成"
+"上述任务,虽然这个特性在Web Bean规范中没有要求。超时指的是对话被销毁前的非激"
+"活时间。"
 
 #. Tag: para
 #: scopescontexts.xml:208
 #, no-c-format
-msgid "The <literal>Conversation</literal> object provides a method to set the timeout. This is a hint to the Web Bean manager, which is free to ignore the setting."
-msgstr "<literal>Conversation</literal>对象提供一个方法来设置超时。这个方法可以让Web Bean管理器忽略原来的配置。"
+msgid ""
+"The <literal>Conversation</literal> object provides a method to set the "
+"timeout. This is a hint to the Web Bean manager, which is free to ignore the "
+"setting."
+msgstr ""
+"<literal>Conversation</literal>对象提供一个方法来设置超时。这个方法可以让Web "
+"Bean管理器忽略原来的配置。"
 
 #. Tag: programlisting
 #: scopescontexts.xml:212
@@ -398,79 +526,117 @@
 msgstr "conversation.setTimeout(timeoutInMillis);"
 
 #. Tag: title
-#: scopescontexts.xml:219
+#: scopescontexts.xml:218
 #, no-c-format
 msgid "The dependent pseudo-scope"
 msgstr "依赖的伪范围"
 
 #. Tag: para
-#: scopescontexts.xml:221
+#: scopescontexts.xml:220
 #, no-c-format
-msgid "In addition to the four built-in scopes, Web Beans features the so-called <emphasis>dependent pseudo-scope</emphasis>. This is the default scope for a Web Bean which does not explicitly declare a scope type."
-msgstr "除了内置的四个范围,Web Beans还提供了一个<emphasis>依赖的伪范围</emphasis>。这个范围是没有显式设置范围类型的Web Bean的默认范围。"
+msgid ""
+"In addition to the four built-in scopes, Web Beans features the so-called "
+"<emphasis>dependent pseudo-scope</emphasis>. This is the default scope for a "
+"Web Bean which does not explicitly declare a scope type."
+msgstr ""
+"除了内置的四个范围,Web Beans还提供了一个<emphasis>依赖的伪范围</emphasis>。"
+"这个范围是没有显式设置范围类型的Web Bean的默认范围。"
 
 #. Tag: para
-#: scopescontexts.xml:225
+#: scopescontexts.xml:224
 #, no-c-format
-msgid "For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
+msgid ""
+"For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
 msgstr "例如,这个Web Bean有一个范围类型<literal>@Dependent</literal>:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:227
+#: scopescontexts.xml:226
 #, no-c-format
 msgid "<![CDATA[public class Calculator { ... }]]>"
 msgstr "<![CDATA[public class Calculator { ... }]]>"
 
 #. Tag: para
-#: scopescontexts.xml:229
+#: scopescontexts.xml:228
 #, no-c-format
-msgid "When an injection point of a Web Bean resolves to a dependent Web Bean, a new instance of the dependent Web Bean is created every time the first Web Bean is instantiated. Instances of dependent Web Beans are never shared between different Web Beans or different injection points. They are <emphasis>dependent objects</emphasis> of some other Web Bean instance."
-msgstr "当一个注入点被解析为一个依赖的Web Bean之后,每当第一个Web Bean被初始化时,都会创建一个依赖的Web Bean实例。不同的Web Beans或者不同的注入点的依赖的Web Beans的实例都不会被共享。它们是其它Web Bean实例的<emphasis>依赖的对象</emphasis>。"
+msgid ""
+"When an injection point of a Web Bean resolves to a dependent Web Bean, a "
+"new instance of the dependent Web Bean is created every time the first Web "
+"Bean is instantiated. Instances of dependent Web Beans are never shared "
+"between different Web Beans or different injection points. They are "
+"<emphasis>dependent objects</emphasis> of some other Web Bean instance."
+msgstr ""
+"当一个注入点被解析为一个依赖的Web Bean之后,每当第一个Web Bean被初始化时,都"
+"会创建一个依赖的Web Bean实例。不同的Web Beans或者不同的注入点的依赖的Web "
+"Beans的实例都不会被共享。它们是其它Web Bean实例的<emphasis>依赖的对象</"
+"emphasis>。"
 
 #. Tag: para
-#: scopescontexts.xml:235
+#: scopescontexts.xml:234
 #, no-c-format
-msgid "Dependent Web Bean instances are destroyed when the instance they depend upon is destroyed."
+msgid ""
+"Dependent Web Bean instances are destroyed when the instance they depend "
+"upon is destroyed."
 msgstr "依赖的Web Bean实例在它们所依赖对象实例销毁的时候被销毁。"
 
 #. Tag: para
-#: scopescontexts.xml:243
+#: scopescontexts.xml:242
 #, no-c-format
-msgid "Web Beans makes it easy to obtain a dependent instance of a Java class or EJB bean, even if the class or EJB bean is already declared as a Web Bean with some other scope type."
-msgstr "Web Bean能够让我们轻松获得一个Java类或者EJB Bean的依赖实例,甚至这个类或者EJB Bean已经被声明为一个其他范围的Web Bean也没问题。"
+msgid ""
+"Web Beans makes it easy to obtain a dependent instance of a Java class or "
+"EJB bean, even if the class or EJB bean is already declared as a Web Bean "
+"with some other scope type."
+msgstr ""
+"Web Bean能够让我们轻松获得一个Java类或者EJB Bean的依赖实例,甚至这个类或者"
+"EJB Bean已经被声明为一个其他范围的Web Bean也没问题。"
 
 #. Tag: title
-#: scopescontexts.xml:248
+#: scopescontexts.xml:247
 #, no-c-format
 msgid "The <literal>@New</literal> annotation"
 msgstr "<literal>@New</literal>注释"
 
 #. Tag: para
-#: scopescontexts.xml:250
+#: scopescontexts.xml:249
 #, no-c-format
-msgid "The built-in <literal>@New</literal> binding annotation allows <emphasis>implicit</emphasis> definition of a dependent Web Bean at an injection point. Suppose we declare the following injected field:"
-msgstr "内置的<literal>@New</literal>绑定注释允许在注入点<emphasis>隐式</emphasis>地定义一个依赖的Web Bean。假设我们需要声明下面的注入域:"
+msgid ""
+"The built-in <literal>@New</literal> binding annotation allows "
+"<emphasis>implicit</emphasis> definition of a dependent Web Bean at an "
+"injection point. Suppose we declare the following injected field:"
+msgstr ""
+"内置的<literal>@New</literal>绑定注释允许在注入点<emphasis>隐式</emphasis>地"
+"定义一个依赖的Web Bean。假设我们需要声明下面的注入域:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:254
+#: scopescontexts.xml:253
 #, no-c-format
 msgid "<![CDATA[@New Calculator calculator;]]>"
 msgstr "<![CDATA[@New Calculator calculator;]]>"
 
 #. Tag: para
-#: scopescontexts.xml:256
+#: scopescontexts.xml:255
 #, no-c-format
-msgid "Then a Web Bean with scope <literal>@Dependent</literal>, binding type <literal>@New</literal>, API type <literal>Calculator</literal>, implementation class <literal>Calculator</literal> and deployment type <literal>@Standard</literal> is implicitly defined."
-msgstr "这个Web Bean被隐式地定义为范围为<literal>@Dependent</literal>,绑定类型为<literal>@New</literal>,API类型为<literal>Calculator</literal>,实现了<literal>Calculator</literal>类,部署类型为<literal>@Standard</literal>。"
+msgid ""
+"Then a Web Bean with scope <literal>@Dependent</literal>, binding type "
+"<literal>@New</literal>, API type <literal>Calculator</literal>, "
+"implementation class <literal>Calculator</literal> and deployment type "
+"<literal>@Standard</literal> is implicitly defined."
+msgstr ""
+"这个Web Bean被隐式地定义为范围为<literal>@Dependent</literal>,绑定类型为"
+"<literal>@New</literal>,API类型为<literal>Calculator</literal>,实现了"
+"<literal>Calculator</literal>类,部署类型为<literal>@Standard</literal>。"
 
 #. Tag: para
-#: scopescontexts.xml:261
+#: scopescontexts.xml:260
 #, no-c-format
-msgid "This is true even if <literal>Calculator</literal> is <emphasis>already</emphasis> declared with a different scope type, for example:"
-msgstr "甚至在<literal>Calculator</literal><emphasis>已经</emphasis>通过不同的范围类型声明过的情况下也是如此。例如:"
+msgid ""
+"This is true even if <literal>Calculator</literal> is <emphasis>already</"
+"emphasis> declared with a different scope type, for example:"
+msgstr ""
+"甚至在<literal>Calculator</literal><emphasis>已经</emphasis>通过不同的范围类"
+"型声明过的情况下也是如此。例如:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:264
+#: scopescontexts.xml:263
 #, no-c-format
 msgid ""
 "<![CDATA[@ConversationScoped\n"
@@ -480,13 +646,16 @@
 "public class Calculator { ... }]]>"
 
 #. Tag: para
-#: scopescontexts.xml:266
+#: scopescontexts.xml:265
 #, no-c-format
-msgid "So the following injected attributes each get a different instance of <literal>Calculator</literal>:"
-msgstr "所以下面注入的属性,每个都获得一个不同的 <literal>Calculator</literal>实例:"
+msgid ""
+"So the following injected attributes each get a different instance of "
+"<literal>Calculator</literal>:"
+msgstr ""
+"所以下面注入的属性,每个都获得一个不同的 <literal>Calculator</literal>实例:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:269
+#: scopescontexts.xml:268
 #, no-c-format
 msgid ""
 "<![CDATA[public class PaymentCalc {\n"
@@ -504,14 +673,23 @@
 "}]]>"
 
 #. Tag: para
-#: scopescontexts.xml:271
+#: scopescontexts.xml:270
 #, no-c-format
-msgid "The <literal>calculator</literal> field has a conversation-scoped instance of <literal>Calculator</literal> injected. The <literal>newCalculator</literal> field has a new instance of <literal>Calculator</literal> injected, with a lifecycle that is bound to the owning <literal>PaymentCalc</literal>."
-msgstr "<literal>calculator</literal>域有一个对话范围的<literal>Calculator</literal>实例注入。<literal>newCalculator</literal>域有一个新的<literal>Calculator</literal>实例注入,这个实例的生命周期绑定在其拥有者<literal>PaymentCalc</literal>类上。"
+msgid ""
+"The <literal>calculator</literal> field has a conversation-scoped instance "
+"of <literal>Calculator</literal> injected. The <literal>newCalculator</"
+"literal> field has a new instance of <literal>Calculator</literal> injected, "
+"with a lifecycle that is bound to the owning <literal>PaymentCalc</literal>."
+msgstr ""
+"<literal>calculator</literal>域有一个对话范围的<literal>Calculator</literal>"
+"实例注入。<literal>newCalculator</literal>域有一个新的<literal>Calculator</"
+"literal>实例注入,这个实例的生命周期绑定在其拥有者<literal>PaymentCalc</"
+"literal>类上。"
 
 #. Tag: para
-#: scopescontexts.xml:276
+#: scopescontexts.xml:275
 #, no-c-format
-msgid "This feature is particularly useful with producer methods, as we'll see in the next chapter."
+msgid ""
+"This feature is particularly useful with producer methods, as we'll see in "
+"the next chapter."
 msgstr "这个特性对于生产者方法来说特别有用,我们将在下一章看到。"
-

Added: doc/trunk/reference/zh-CN/viewlayers.po
===================================================================
--- doc/trunk/reference/zh-CN/viewlayers.po	                        (rev 0)
+++ doc/trunk/reference/zh-CN/viewlayers.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,160 @@
+# Language zh-CN translations for Web_Beans:_Java_Contexts_and_Dependency_Injection package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2009-04-19 20:36+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: viewlayers.xml:4
+#, no-c-format
+msgid "Alternative view layers"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:7
+#, no-c-format
+msgid "Using Web Beans with Wicket"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:10
+#, no-c-format
+msgid "The <literal>WebApplication</literal> class"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:12
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass; Web Beans provides, for your utility, a subclass of this which "
+"sets up the Wicket/JSR-299 integration. You should subclass <literal>org."
+"jboss.webbeans.wicket.WebBeansApplication</literal>."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:21
+#, no-c-format
+msgid ""
+"If you would prefer not to subclass <literal>WebBeansApplication</literal>, "
+"you can manually add a (small!) number of overrides and listeners to your "
+"own <literal>WebApplication</literal> subclass. The javadocs of "
+"<literal>WebBeansApplication</literal>detail this."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:30
+#, no-c-format
+msgid "For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: viewlayers.xml:33
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:37
+#, no-c-format
+msgid "Conversations with Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:38
+#, no-c-format
+msgid ""
+"The conversation scope can be used in Web Beans with the Apache Wicket web "
+"framework, through the <literal>webbeans-wicket</literal> module. This "
+"module takes care of:"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:45
+#, no-c-format
+msgid ""
+"Setting up the conversation context at the beginning of a Wicket request, "
+"and tearing it down afterwards"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:51
+#, no-c-format
+msgid ""
+"Storing the id of any long-running conversation in Wicket's metadata when "
+"the page response is complete"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:57
+#, no-c-format
+msgid ""
+"Activating the correct long-running conversation based upon which page is "
+"being accessed"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:63
+#, no-c-format
+msgid ""
+"Propagating the conversation context for any long-running conversation to "
+"new pages"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:70
+#, no-c-format
+msgid "Starting and stopping conversations in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:71
+#, no-c-format
+msgid ""
+"As JSF applications, a conversation <emphasis>always</emphasis> exists for "
+"any request, but its lifetime is only that of the current request unless it "
+"is marked as <emphasis>long-running</emphasis>. For Wicket applications this "
+"is accomplished as in JSF applications, by injecting the <literal>@Current "
+"Conversation</literal> and then invoking <literal>conversation.begin()</"
+"literal>. Likewise, conversations are ended with <literal>conversation.end()"
+"</literal>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:85
+#, no-c-format
+msgid "Long running conversation propagation in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:86
+#, no-c-format
+msgid ""
+"When a conversation is marked as long-running, the id of that conversation "
+"will be stored in Wicket's metadata for the current page. If a new page is "
+"created and set as the response target through <literal>setResponsePage</"
+"literal>, this new page will also participate in this conversation. This "
+"occurs for both directly instantiated pages (<literal>setResponsePage(new "
+"OtherPage())</literal>), as well as for bookmarkable pages created with "
+"<literal>setResponsePage(OtherPage.class)</literal> where <literal>OtherPage."
+"class</literal> is mounted as bookmarkable from your "
+"<literal>WebApplication</literal> subclass (or through annotations). In the "
+"latter case, because the new page instance is not created until after a "
+"redirect, the conversation id will be propagated through a request "
+"parameter, and then stored in page metadata after the redirect."
+msgstr ""

Modified: doc/trunk/reference/zh-TW/environments.po
===================================================================
--- doc/trunk/reference/zh-TW/environments.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/zh-TW/environments.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -6,7 +6,7 @@
 "Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
 "VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-28 17:09+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -96,13 +96,15 @@
 #. Tag: title
 #: environments.xml:53
 #, no-c-format
-msgid "Tomcat (or any plain Servlet container)"
+msgid "Servlet Containers (such as Tomcat or Jetty)"
 msgstr ""
 
 #. Tag: para
 #: environments.xml:55
 #, no-c-format
-msgid "Web Beans can be used in Tomcat 6.0."
+msgid ""
+"Web Beans can be used in any Servlet container such as Tomcat 6.0 or Jetty "
+"6.1."
 msgstr ""
 
 #. Tag: para
@@ -111,17 +113,18 @@
 msgid ""
 "Web Beans doesn't support deploying session beans, injection using "
 "<literal>@EJB</literal>, or <literal>@PersistenceContext</literal> or using "
-"transactional events on Tomcat."
+"transactional events in Servlet containers."
 msgstr ""
 
 #. Tag: para
 #: environments.xml:66
 #, no-c-format
 msgid ""
-"Web Beans should be used as a web application library in Tomcat. You should "
-"place <literal>webbeans-tomcat.jar</literal> in <literal>WEB-INF/lib</"
-"literal>. <literal>webbeans-tomcat.jar</literal> is an \"uber-jar\" provided "
-"for your convenience. Instead, you could use its component jars:"
+"Web Beans should be used as a web application library in a servlet "
+"container. You should place <literal>webbeans-servlet.jar</literal> in "
+"<literal>WEB-INF/lib</literal>. <literal>webbeans-serv;et.jar</literal> is "
+"an \"uber-jar\" provided for your convenience. Instead, you could use its "
+"component jars:"
 msgstr ""
 
 #. Tag: literal
@@ -157,7 +160,7 @@
 #. Tag: literal
 #: environments.xml:102
 #, no-c-format
-msgid "webbeans-tomcat-int.jar"
+msgid "webbeans-servlet-int.jar"
 msgstr ""
 
 #. Tag: literal
@@ -176,9 +179,9 @@
 #: environments.xml:117
 #, no-c-format
 msgid ""
-"You also need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control its interaction with requests) in <literal>web."
-"xml</literal>:"
+"You also need to explicitly specify the servlet listener (used to boot Web "
+"Beans, and control its interaction with requests) in <literal>web.xml</"
+"literal>:"
 msgstr ""
 
 #. Tag: programlisting
@@ -191,8 +194,14 @@
 "</listener>]]>"
 msgstr ""
 
+#. Tag: title
+#: environments.xml:126
+#, no-c-format
+msgid "Tomcat"
+msgstr ""
+
 #. Tag: para
-#: environments.xml:125
+#: environments.xml:128
 #, no-c-format
 msgid ""
 "Tomcat has a read-only JNDI, so Web Beans can't automatically bind the "
@@ -201,7 +210,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:131
+#: environments.xml:134
 #, no-c-format
 msgid ""
 "<![CDATA[<Resource name=\"app/Manager\" \n"
@@ -212,7 +221,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:133
+#: environments.xml:136
 #, no-c-format
 msgid ""
 "and make it available to your deployment by adding this to <literal>web.xml</"
@@ -220,7 +229,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:138
+#: environments.xml:141
 #, no-c-format
 msgid ""
 "<![CDATA[<resource-env-ref>\n"
@@ -234,7 +243,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:140
+#: environments.xml:143
 #, no-c-format
 msgid ""
 "Tomcat only allows you to bind entries to <literal>java:comp/env</literal>, "
@@ -243,7 +252,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:146
+#: environments.xml:149
 #, no-c-format
 msgid ""
 "Web Beans also supports Servlet injection in Tomcat. To enable this, place "
@@ -253,7 +262,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:153
+#: environments.xml:156
 #, no-c-format
 msgid ""
 "<![CDATA[<Listener className=\"org.jboss.webbeans.environment.tomcat."
@@ -261,13 +270,13 @@
 msgstr ""
 
 #. Tag: title
-#: environments.xml:158
+#: environments.xml:163
 #, no-c-format
 msgid "Java SE"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:160
+#: environments.xml:165
 #, no-c-format
 msgid ""
 "Apart from improved integration of the Enterprise Java stack, Web Beans also "
@@ -279,7 +288,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:168
+#: environments.xml:173
 #, no-c-format
 msgid ""
 "When executing in the SE environment the following features of Web Beans are "
@@ -287,61 +296,49 @@
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:174
+#: environments.xml:179
 #, no-c-format
 msgid "Simple Web Beans (POJOs)"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:179
+#: environments.xml:184
 #, no-c-format
 msgid "Typesafe Dependency Injection"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:184
+#: environments.xml:189
 #, no-c-format
 msgid "Application and Dependent Contexts"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:189
+#: environments.xml:194
 #, no-c-format
 msgid "Binding Types"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:194
+#: environments.xml:199
 #, no-c-format
 msgid "Stereotypes"
 msgstr ""
 
 #. Tag: literal
-#: environments.xml:199
-#, no-c-format
-msgid "Decorators"
-msgstr ""
-
-#. Tag: literal
 #: environments.xml:204
 #, no-c-format
-msgid "(TODO: Interceptors ?)"
-msgstr ""
-
-#. Tag: literal
-#: environments.xml:209
-#, no-c-format
 msgid "Typesafe Event Model"
 msgstr ""
 
 #. Tag: title
-#: environments.xml:215
+#: environments.xml:210
 #, no-c-format
 msgid "Web Beans SE Module"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:217
+#: environments.xml:212
 #, no-c-format
 msgid ""
 "To make life easy for developers Web Beans provides a special module with a "
@@ -354,7 +351,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:226
+#: environments.xml:221
 #, no-c-format
 msgid ""
 "<![CDATA[@Parameters List<String> params;\n"
@@ -363,13 +360,13 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:227
+#: environments.xml:222
 #, no-c-format
 msgid "Here's an example of a simple Web Beans SE application:"
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:231
+#: environments.xml:226
 #, no-c-format
 msgid ""
 "<![CDATA[@ApplicationScoped\n"
@@ -385,20 +382,20 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:233
+#: environments.xml:228
 #, no-c-format
 msgid ""
 "Web Beans SE applications are started by running the following main method."
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:235
+#: environments.xml:230
 #, no-c-format
 msgid "<![CDATA[java org.jboss.webbeans.environments.se.StartMain <args>]]>"
 msgstr ""
 
 #. Tag: para
-#: environments.xml:237
+#: environments.xml:232
 #, no-c-format
 msgid ""
 "If you need to do any custom initialization of the Web Beans manager, for "
@@ -408,7 +405,7 @@
 msgstr ""
 
 #. Tag: programlisting
-#: environments.xml:242
+#: environments.xml:237
 #, no-c-format
 msgid ""
 "<![CDATA[public class PerformSetup\n"
@@ -422,7 +419,7 @@
 msgstr ""
 
 #. Tag: para
-#: environments.xml:246
+#: environments.xml:240
 #, no-c-format
 msgid ""
 "The command line parameters do not become available for injection until the "

Modified: doc/trunk/reference/zh-TW/extensions.po
===================================================================
--- doc/trunk/reference/zh-TW/extensions.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/zh-TW/extensions.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -3,9 +3,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection "
+"VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-03-28 17:09+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-03-28 17:09+0000\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -33,13 +34,68 @@
 msgstr ""
 
 #. Tag: para
-#: extensions.xml:17 extensions.xml:26
+#: extensions.xml:17
 #, no-c-format
-msgid "TODO"
+msgid ""
+"Adding logging to your application is now even easier with simple injection "
+"of a logger object into any JSR-299 bean. Simply annotate a org.jboss."
+"webbeans.log.Log type member with <emphasis>@Logger</emphasis> and an "
+"appropriate logger object will be injected into any instance of the bean."
 msgstr ""
 
-#. Tag: title
-#: extensions.xml:24
+#. Tag: programlisting
+#: extensions.xml:25
 #, no-c-format
-msgid "XSD Generator for JSR-299 XML deployment descriptors"
+msgid ""
+"<![CDATA[public class Checkout {\n"
+"    import org.jboss.webbeans.annotation.Logger;\n"
+"    import org.jboss.webbeans.log.Log;\n"
+"    \n"
+"    @Logger\n"
+"    private Log log;\n"
+"\n"
+"    void invoiceItems() {\n"
+"        ShoppingCart cart;\n"
+"        . . .\n"
+"        log.debug(\"Items invoiced for {0}\", cart);\n"
+"    }\n"
+"    \n"
+"}]]>"
 msgstr ""
+
+#. Tag: para
+#: extensions.xml:27
+#, no-c-format
+msgid ""
+"The example shows how objects can be interpolated into a message. This "
+"interpolation is done using <emphasis>java.text.MessageFormat</emphasis>, so "
+"see the JavaDoc for that class for more details. In this case, the "
+"ShoppingCart should have implemented the <emphasis>toString()</emphasis> "
+"method to produce a human readable value that is meaningful in messages. "
+"Normally, this call would have involved evaluating cart.toString() with "
+"String concatenation to produce a single String argument. Thus it was "
+"necessary to surround the call with an if-statement using the condition "
+"<emphasis>log.isDebugEnabled()</emphasis> to avoid the expensive String "
+"concatenation if the message was not actually going to be used. However, "
+"when using @Logger injected logging, the conditional test can be left out "
+"since the object arguments are not evaluated unless the message is going to "
+"be logged."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:44
+#, no-c-format
+msgid ""
+"You can add the Web Beans Logger to your project by including webbeans-"
+"logger.jar and webbeans-logging.jar to your project. Alternatively, express "
+"a dependency on the <literal>org.jboss.webbeans:webbeans-logger</literal> "
+"Maven artifact."
+msgstr ""
+
+#. Tag: para
+#: extensions.xml:51
+#, no-c-format
+msgid ""
+"If you are using Web Beans as your JSR-299 implementation, there is no need "
+"to include <literal>webbeans-logging.jar</literal> as it's already included."
+msgstr ""

Copied: doc/trunk/reference/zh-TW/gettingstarted.po (from rev 2516, doc/trunk/reference/zh-TW/ri.po)
===================================================================
--- doc/trunk/reference/zh-TW/gettingstarted.po	                        (rev 0)
+++ doc/trunk/reference/zh-TW/gettingstarted.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,2211 @@
+# translation of ri.po to Traditional Chinese
+# Language zh-TW translations for Introduction_to_Web_Beans package.
+#
+# Automatically generated, 2009.
+# Terry Chuang <tchuang at redhat.com>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: ri\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2009-01-19 18:21+1000\n"
+"Last-Translator: Terry Chuang <tchuang at redhat.com>\n"
+"Language-Team: Traditional Chinese <zh at li.org>\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
+#: gettingstarted.xml:4
+#, fuzzy, no-c-format
+msgid "Getting started with Web Beans, the Reference Implementation of JSR-299"
+msgstr "Web Bean 參照實做"
+
+#. Tag: para
+#: gettingstarted.xml:6
+#, fuzzy, no-c-format
+msgid ""
+"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
+"WebBeans\">the Seam project</ulink>. You can download the latest developer "
+"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
+"\">the downloads page</ulink>."
+msgstr ""
+"Web Bean 參照實作(Web Beans Reference Implementation)開發於 <ulink url="
+"\"http://seamframework.org/WebBeans\">the Seam project</ulink>。您可藉由 "
+"<ulink url=\"http://seamframework.org/Download\">the downloads page</ulink> "
+"來下載最新開發人員版本的 Web Bean。"
+
+#. Tag: para
+#: gettingstarted.xml:13
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans comes with a two deployable example applications: "
+"<literal>webbeans-numberguess</literal>, a war example, containing only "
+"simple beans, and <literal>webbeans-translator</literal> an ear example, "
+"containing enterprise beans. There are also two variations on the "
+"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
+"and the jsf2 example, which you can use if you are running JSF2. To run the "
+"examples you'll need the following:"
+msgstr ""
+"Web Bean RI 包含了兩個可建置的範例應用程式:<literal>webbeans-numberguess</"
+"literal>,這是個 war 範例,並且只包含著基本的 bean,以及 <literal>webbeans-"
+"translator</literal>,這是個 ear 範例,並包含著企業級的 bean。若要執行這些範"
+"例,您將需要滿足下列需求:"
+
+#. Tag: para
+#: gettingstarted.xml:25
+#, fuzzy, no-c-format
+msgid "the latest release of Web Beans,"
+msgstr "最新版本的 Web Beans RI、"
+
+#. Tag: para
+#: gettingstarted.xml:28
+#, fuzzy, no-c-format
+msgid "JBoss AS 5.0.1.GA, or"
+msgstr "JBoss AS 5.0.0.GA,以及"
+
+#. Tag: para
+#: gettingstarted.xml:31
+#, no-c-format
+msgid "Apache Tomcat 6.0.x, and"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:34
+#, no-c-format
+msgid "Ant 1.7.0."
+msgstr "Ant 1.7.0。"
+
+#. Tag: title
+#: gettingstarted.xml:39
+#, no-c-format
+msgid "Using JBoss AS 5"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:41
+#, fuzzy, no-c-format
+msgid ""
+"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
+"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
+msgstr ""
+"目前,Web Beans RI 只能在 JBoss Application Server 5 上執行。您將需要由 "
+"<ulink url=\"http://www.jboss.org/jbossas/downloads/\">jboss.org</ulink> 來下"
+"載 JBoss AS 5.0.0.GA,然後再將它解壓縮。例如:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:47
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.1.GA.zip]]>"
+msgstr ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.0.GA.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:49 gettingstarted.xml:170
+#, fuzzy, no-c-format
+msgid ""
+"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
+"\">seamframework.org</ulink>, and unzip it. For example"
+msgstr ""
+"接下來,請由 <ulink url=\"http://seamframework.org/Download\">seamframework."
+"org</ulink> 下載 Web Beans RI 並將它解壓縮。例如"
+
+#. Tag: programlisting
+#: gettingstarted.xml:55 gettingstarted.xml:176
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-$VERSION.zip]]>"
+msgstr ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-1.0.0.ALPHA1.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:58
+#, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>jboss.home</literal> "
+"property. For example:"
+msgstr ""
+"接下來,我們需要讓 Web Bean 知道 JBoss 的位置在哪裡。請編輯 <literal>jboss-"
+"as/build.properties</literal> 然後設置 <literal>jboss.home</literal> 內容。例"
+"如:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:64
+#, fuzzy, no-c-format
+msgid "jboss.home=/Applications/jboss-5.0.1.GA"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: gettingstarted.xml:66
+#, fuzzy, no-c-format
+msgid ""
+"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
+"<literal>ANT_HOME</literal> environment variable set. For example:"
+msgstr ""
+"若要安裝更新,您將需要先安裝 Ant 1.7.0,並設置 <literal>ANT_HOME</literal> 環"
+"境變數。例如:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:71
+#, no-c-format
+msgid ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+msgstr ""
+"$ unzip apache-ant-1.7.0.zip\n"
+"$ export ANT_HOME=~/apache-ant-1.7.0"
+
+#. Tag: para
+#: gettingstarted.xml:73
+#, fuzzy, no-c-format
+msgid ""
+"Then, you can install the update. The update script will use Maven to "
+"download Web Beans automatically."
+msgstr ""
+"接下來,您便可安裝更新。更新 script 將會使用 Maven 來自動地下載 Web Bean 以"
+"及 EJB3。"
+
+#. Tag: programlisting
+#: gettingstarted.xml:78
+#, fuzzy, no-c-format
+msgid ""
+"$ cd webbeans-$VERSION/jboss-as\n"
+"$ ant update"
+msgstr ""
+"$ cd webbeans-1.0.0.ALPHA1/jboss-as\n"
+"$ ant update"
+
+#. Tag: para
+#: gettingstarted.xml:80
+#, no-c-format
+msgid "Now, you're ready to deploy your first example!"
+msgstr "現在,您已準備好建置您的第一個範例!"
+
+#. Tag: para
+#: gettingstarted.xml:85
+#, fuzzy, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for JBoss AS, "
+"these are:"
+msgstr "這些範例的建置 script 提供了一些目標,它們包含了:"
+
+#. Tag: para
+#: gettingstarted.xml:91
+#, no-c-format
+msgid "<literal>ant restart</literal> - deploy the example in exploded format"
+msgstr "<literal>ant restart</literal> - 以分解的格式來建置範例"
+
+#. Tag: para
+#: gettingstarted.xml:97
+#, no-c-format
+msgid ""
+"<literal>ant explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+"<literal>ant explode</literal> - 在不重新建置的情況下更新一個已分解的範例"
+
+#. Tag: para
+#: gettingstarted.xml:103
+#, no-c-format
+msgid ""
+"<literal>ant deploy</literal> - deploy the example in compressed jar format"
+msgstr "<literal>ant deploy</literal> - 以 jar 格式來建置範例"
+
+#. Tag: para
+#: gettingstarted.xml:108
+#, no-c-format
+msgid "<literal>ant undeploy</literal> - remove the example from the server"
+msgstr "<literal>ant undeploy</literal> - 將範例由伺服器中移除"
+
+#. Tag: para
+#: gettingstarted.xml:113
+#, no-c-format
+msgid "<literal>ant clean</literal> - clean the example"
+msgstr "<literal>ant clean</literal> - 清除範例"
+
+#. Tag: para
+#: gettingstarted.xml:120
+#, no-c-format
+msgid "To deploy the numberguess example:"
+msgstr "若要建置 numberguess 範例:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:124
+#, no-c-format
+msgid ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+msgstr ""
+"$ cd examples/numberguess\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:126
+#, no-c-format
+msgid "Start JBoss AS:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:130
+#, fuzzy, no-c-format
+msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: gettingstarted.xml:133
+#, no-c-format
+msgid "If you use Windows, use the <literal>run.bat</literal>script."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:138 gettingstarted.xml:240
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
+"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
+msgstr ""
+"請等待應用程式的建置,然後在 <ulink url=\"http://localhost:8080/webbeans-"
+"numberguess\"></ulink> 花上幾個小時!"
+
+#. Tag: para
+#: gettingstarted.xml:143
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans includes a second simple example that will translate your text "
+"into Latin. The numberguess example is a war example, and uses only simple "
+"beans; the translator example is an ear example, and includes enterprise "
+"beans, packaged in an EJB module. To try it out:"
+msgstr ""
+"Web Bean RI 包含了第二個基本範例,它可將您的文字轉譯為拉丁文。numberguess 範"
+"例為一個 war 範例,並且只使用基本的 bean;轉譯器範例則為 ear 範例,並且包含著"
+"企業級的 bean,封裝於一個 EJB 模組中。若要嘗試:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:150
+#, no-c-format
+msgid ""
+"$ cd examples/translator\n"
+"ant deploy"
+msgstr ""
+"$ cd examples/translator\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:152
+#, no-c-format
+msgid ""
+"Wait for the application to deploy, and visit <ulink url=\"http://"
+"localhost:8080/webbeans-translator\"></ulink>!"
+msgstr ""
+"請等待應用程式的建置並進入 <ulink url=\"http://localhost:8080/webbeans-"
+"translator\"></ulink>!"
+
+#. Tag: title
+#: gettingstarted.xml:160
+#, no-c-format
+msgid "Using Apache Tomcat 6.0"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:162
+#, fuzzy, no-c-format
+msgid ""
+"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
+"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
+"For example:"
+msgstr ""
+"接下來,請由 <ulink url=\"http://seamframework.org/Download\">seamframework."
+"org</ulink> 下載 Web Beans RI 並將它解壓縮。例如"
+
+#. Tag: programlisting
+#: gettingstarted.xml:168
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
+msgstr ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.0.GA.zip]]>"
+
+#. Tag: para
+#: gettingstarted.xml:178
+#, fuzzy, no-c-format
+msgid ""
+"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
+"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
+"property. For example:"
+msgstr ""
+"接下來,我們需要讓 Web Bean 知道 JBoss 的位置在哪裡。請編輯 <literal>jboss-"
+"as/build.properties</literal> 然後設置 <literal>jboss.home</literal> 內容。例"
+"如:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:184
+#, fuzzy, no-c-format
+msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: gettingstarted.xml:187
+#, fuzzy, no-c-format
+msgid ""
+"The build scripts for the examples offer a number of targets for Tomcat, "
+"these are:"
+msgstr "這些範例的建置 script 提供了一些目標,它們包含了:"
+
+#. Tag: para
+#: gettingstarted.xml:193
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
+msgstr "<literal>ant restart</literal> - 以分解的格式來建置範例"
+
+#. Tag: para
+#: gettingstarted.xml:199
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.explode</literal> - update an exploded example, without "
+"restarting the deployment"
+msgstr ""
+"<literal>ant explode</literal> - 在不重新建置的情況下更新一個已分解的範例"
+
+#. Tag: para
+#: gettingstarted.xml:205
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
+"format"
+msgstr "<literal>ant deploy</literal> - 以 jar 格式來建置範例"
+
+#. Tag: para
+#: gettingstarted.xml:210
+#, fuzzy, no-c-format
+msgid ""
+"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
+msgstr "<literal>ant undeploy</literal> - 將範例由伺服器中移除"
+
+#. Tag: para
+#: gettingstarted.xml:215
+#, fuzzy, no-c-format
+msgid "<literal>ant tomcat.clean</literal> - clean the example"
+msgstr "<literal>ant clean</literal> - 清除範例"
+
+#. Tag: para
+#: gettingstarted.xml:222
+#, fuzzy, no-c-format
+msgid "To deploy the numberguess example for tomcat:"
+msgstr "若要建置 numberguess 範例:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:226
+#, fuzzy, no-c-format
+msgid ""
+"$ cd examples/tomcat\n"
+"ant tomcat.deploy"
+msgstr ""
+"$ cd examples/translator\n"
+"ant deploy"
+
+#. Tag: para
+#: gettingstarted.xml:228
+#, no-c-format
+msgid "Start Tomcat:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:232
+#, fuzzy, no-c-format
+msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
+
+#. Tag: para
+#: gettingstarted.xml:235
+#, no-c-format
+msgid "If you use Windows, use the <literal>startup.bat</literal>script."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:248
+#, no-c-format
+msgid "Using GlassFish"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:250
+#, no-c-format
+msgid "TODO"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:254
+#, no-c-format
+msgid "The numberguess example"
+msgstr "numberguess 範例"
+
+#. Tag: para
+#: gettingstarted.xml:256
+#, no-c-format
+msgid ""
+"In the numberguess application you get given 10 attempts to guess a number "
+"between 1 and 100. After each attempt, you will be told whether you are too "
+"high, or too low."
+msgstr ""
+"在 numberguess 應用程式中,您將會有 10 次機會來猜一個介於 1 至 100 之間的號"
+"碼。每當猜過一遍,系統便會告知您您所輸入的數字是否太大或太小。"
+
+#. Tag: para
+#: gettingstarted.xml:262
+#, no-c-format
+msgid ""
+"The numberguess example is comprised of a number of Web Beans, configuration "
+"files, and Facelet JSF pages, packaged as a war. Let's start with the "
+"configuration files."
+msgstr ""
+"numberguess 範例包含了 Web Bean 的一個數字、配置檔案,以及 Facelet JSF 頁面,"
+"並且封裝為 war。讓我們先從配置檔案開始。"
+
+#. Tag: para
+#: gettingstarted.xml:268
+#, no-c-format
+msgid ""
+"All the configuration files for this example are located in <literal>WEB-INF/"
+"</literal>, which is stored in <literal>WebContent</literal> in the source "
+"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
+"JSF to use Facelets:"
+msgstr ""
+"此範例的所有配置檔案都位於 <literal>WEB-INF/</literal> 中,並且它又儲存在來源"
+"樹中的 <literal>WebContent</literal> 裡。首先,我們有個可使用來指定 JSF 來使"
+"用 Facelet 的 <literal>faces-config.xml</literal>:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:276
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+msgstr ""
+"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
+"<faces-config version=\"1.2\"\n"
+"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
+"    \n"
+"    <application>\n"
+"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
+"    </application>\n"
+"\n"
+"</faces-config>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:278
+#, no-c-format
+msgid ""
+"There is an empty <literal>web-beans.xml</literal> file, which marks this "
+"application as a Web Beans application."
+msgstr ""
+"有個空的 <literal>web-beans.xml</literal> 檔案,它會將此應用程式標記為一個 "
+"Web Bean 應用程式。"
+
+#. Tag: para
+#: gettingstarted.xml:283
+#, no-c-format
+msgid "Finally there is <literal>web.xml</literal>:"
+msgstr "最後為 <literal>web.xml</literal>:"
+
+#. Tag: section
+#: gettingstarted.xml:285
+#, fuzzy, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
+"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
+"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
+"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
+"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
+"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
+"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
+"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
+"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
+"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
+"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
+"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
+"session timeout of 10 minutes </para> </callout> </calloutlist> </"
+"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
+"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
+"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
+"id=\"template\" coords=\"8\"/> <area id=\"messages2\" coords=\"12\"/> <area "
+"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
+"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
+"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
+"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
+"dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
+"number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
+"number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game."
+"biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
+"{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
+"<para> Facelets is a templating language for JSF, here we are wrapping our "
+"page in a template which defines the header. </para> </callout> <callout "
+"arearefs=\"messages2\"> <para> There are a number of messages which can be "
+"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
+"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
+"range of numbers they can guess gets smaller - this sentance changes to make "
+"sure they know what range to guess in. </para> </callout> <callout arearefs="
+"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
+"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
+"range validator is used to make sure the user doesn't accidentally input a "
+"number outside of the range in which they can guess - if the validator "
+"wasn't here, the user might use up a guess on an out of range number. </"
+"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
+"must be a way for the user to send their guess to the server. Here we bind "
+"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
+"programlistingco>"
+msgstr ""
+"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
+"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
+"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
+"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
+"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"\n"
+"<web-app version=\"2.5\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
+"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
+"   \n"
+"   <display-name>Web Beans Numbergues example</display-name>\n"
+"\n"
+"   <!-- JSF -->\n"
+"\n"
+"   <servlet>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
+"      <load-on-startup>1</load-on-startup>\n"
+"   </servlet>\n"
+"\n"
+"   <servlet-mapping>\n"
+"      <servlet-name>Faces Servlet</servlet-name>\n"
+"      <url-pattern>*.jsf</url-pattern>\n"
+"   </servlet-mapping>\n"
+"   \n"
+"   <context-param>\n"
+"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
+"      <param-value>.xhtml</param-value>\n"
+"   </context-param>\n"
+"\n"
+"   <session-config>\n"
+"      <session-timeout>10</session-timeout>\n"
+"   </session-config>\n"
+"\n"
+"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
+"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
+"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
+"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
+"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
+"giving our source files (facelets) an extension of <literal>.jsf</literal> </"
+"para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
+"session timeout of 10 minutes </para> </callout> </calloutlist> </"
+"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
+"the Web Beans RI with any Servlet based web framework. </para> </note> "
+"<para> Let's take a look at the Facelet view: </para> <programlistingco> "
+"<areaspec> <area id=\"template\" coords=\"8\"/> <area id=\"messages\" coords="
+"\"12\"/> <area id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords="
+"\"25\"/> <area id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords="
+"\"33\"/> </areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//"
+"W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/"
+"xhtml1-transitional.dtd\">\n"
+"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
+"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
+"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
+"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
+"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
+"\n"
+"  <ui:composition template=\"template.xhtml\">\n"
+"    <ui:define name=\"content\">\n"
+"       <h1>Guess a number...</h1>\n"
+"       <h:form id=\"NumberGuessMain\">\n"
+"          <div style=\"color: red\">\n"
+"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
+"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
+"number gt game.guess and game.guess ne 0}\"/>\n"
+"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
+"number lt game.guess and game.guess ne 0}\"/>\n"
+"          </div>\n"
+"   \n"
+"          <div>\n"
+"             I'm thinking of a number between #{game.smallest} and #{game."
+"biggest}.\n"
+"             You have #{game.remainingGuesses} guesses.\n"
+"          </div>\n"
+"     \n"
+"          <div>\n"
+"             Your guess: \n"
+"             <h:inputText id=\"inputGuess\" \n"
+"                          value=\"#{game.guess}\" \n"
+"                          required=\"true\" \n"
+"                          size=\"3\" \n"
+"                          disabled=\"#{game.number eq game.guess}\">\n"
+"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
+"                                     minimum=\"#{game.smallest}\"/>\n"
+"             </h:inputText>\n"
+"            <h:commandButton id=\"GuessButton\"  \n"
+"                             value=\"Guess\" \n"
+"                             action=\"#{game.check}\" \n"
+"                             disabled=\"#{game.number eq game.guess}\"/>\n"
+"          </div>\n"
+"          <div>\n"
+"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
+"{game.reset}\" immediate=\"true\" />\n"
+"          </div>\n"
+"       </h:form>\n"
+"    </ui:define>\n"
+"  </ui:composition>\n"
+"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
+"<para> Facelets is a templating language for JSF, here we are wrapping our "
+"page in a template which defines the header. </para> </callout> <callout "
+"arearefs=\"messages\"> <para> There are a number of messages which can be "
+"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
+"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
+"range of numbers they can guess gets smaller - this sentance changes to make "
+"sure they know what range to guess in. </para> </callout> <callout arearefs="
+"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
+"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
+"range validator is used to make sure the user doesn't accidentally input a "
+"number outside of the range in which they can guess - if the validator "
+"wasn't here, the user might use up a guess on an out of range number. </"
+"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
+"must be a way for the user to send their guess to the server. Here we bind "
+"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
+"programlistingco>"
+
+#. Tag: para
+#: gettingstarted.xml:387
+#, no-c-format
+msgid ""
+"The example exists of 4 classes, the first two of which are binding types. "
+"First, there is the <literal>@Random</literal> binding type, used for "
+"injecting a random number:"
+msgstr ""
+"範例存有 4 個類別,前兩個為綁定類型。首先,有個使用來注入亂數號碼的 "
+"<literal>@Random</literal> 綁定類型:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:393
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+msgstr ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface Random {}]]>"
+
+#. Tag: para
+#: gettingstarted.xml:395
+#, no-c-format
+msgid ""
+"There is also the <literal>@MaxNumber</literal> binding type, used for "
+"injecting the maximum number that can be injected:"
+msgstr ""
+"還有個用來注入可注入之最大號碼的 <literal>@MaxNumber</literal> 綁定類型:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:400
+#, no-c-format
+msgid ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+msgstr ""
+"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
+"@Retention(RUNTIME)\n"
+"@Documented\n"
+"@BindingType\n"
+"public @interface MaxNumber {}\n"
+"]]>"
+
+#. Tag: para
+#: gettingstarted.xml:402
+#, no-c-format
+msgid ""
+"The <literal>Generator</literal> class is responsible for creating the "
+"random number, via a producer method. It also exposes the maximum possible "
+"number via a producer method:"
+msgstr ""
+"<literal>Generator</literal> 類別負責透過產生器的方式來建立亂數號碼。它也會透"
+"過一個產生器的方式來顯示最大的可能號碼:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:408
+#, no-c-format
+msgid ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System."
+"currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+msgstr ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"   \n"
+"   private java.util.Random random = new java.util.Random( System."
+"currentTimeMillis() );\n"
+"   \n"
+"   private int maxNumber = 100;\n"
+"   \n"
+"   java.util.Random getRandom()\n"
+"   {\n"
+"      return random;\n"
+"   }\n"
+"   \n"
+"   @Produces @Random int next() { \n"
+"      return getRandom().nextInt(maxNumber); \n"
+"   }\n"
+"   \n"
+"   @Produces @MaxNumber int getMaxNumber()\n"
+"   {\n"
+"      return maxNumber;\n"
+"   }\n"
+"\n"
+"}]]>"
+
+#. Tag: para
+#: gettingstarted.xml:410
+#, no-c-format
+msgid ""
+"You'll notice that the <literal>Generator</literal> is application scoped; "
+"therefore we don't get a different random each time."
+msgstr ""
+"您將會注意到 <literal>Generator</literal> 是屬於應用程式導向的;因此,我們不"
+"會每次都一定能得到不同的亂數號碼。"
+
+#. Tag: para
+#: gettingstarted.xml:415
+#, no-c-format
+msgid ""
+"The final Web Bean in the application is the session scoped <literal>Game</"
+"literal>."
+msgstr "應用程式中最後的 Web Bean 為 session 導向的 <literal>Game</literal>。"
+
+#. Tag: para
+#: gettingstarted.xml:420
+#, no-c-format
+msgid ""
+"You'll note that we've used the <literal>@Named</literal> annotation, so "
+"that we can use the bean through EL in the JSF page. Finally, we've used "
+"constructor injection to initialize the game with a random number. And of "
+"course, we need to tell the player when they've won, so we give feedback "
+"with a <literal>FacesMessage</literal>."
+msgstr ""
+"您將會注意到我們使用了 <literal>@Named</literal> 標記,如此一來我們便可在 "
+"JSF 頁面中的 EL 上使用這個 bean。最後,我們使用了 constructor injection 來利"
+"用亂數號碼來初始化了這個遊戲。當然,當玩家贏時我們將需要告知玩家,並藉由一個 "
+"<literal>FacesMessage</literal> 來給予回應。"
+
+#. Tag: programlisting
+#: gettingstarted.xml:428
+#, no-c-format
+msgid ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
+"(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new "
+"AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+msgstr ""
+"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
+"\n"
+"\n"
+"import javax.annotation.PostConstruct;\n"
+"import javax.faces.application.FacesMessage;\n"
+"import javax.faces.context.FacesContext;\n"
+"import javax.webbeans.AnnotationLiteral;\n"
+"import javax.webbeans.Current;\n"
+"import javax.webbeans.Initializer;\n"
+"import javax.webbeans.Named;\n"
+"import javax.webbeans.SessionScoped;\n"
+"import javax.webbeans.manager.Manager;\n"
+"\n"
+"@Named\n"
+"@SessionScoped\n"
+"public class Game\n"
+"{\n"
+"   private int number;\n"
+"   \n"
+"   private int guess;\n"
+"   private int smallest;\n"
+"   private int biggest;\n"
+"   private int remainingGuesses;\n"
+"   \n"
+"   @Current Manager manager;\n"
+"   \n"
+"   public Game()\n"
+"   {\n"
+"   }\n"
+"   \n"
+"   @Initializer\n"
+"   Game(@MaxNumber int maxNumber)\n"
+"   {      \n"
+"      this.biggest = maxNumber;\n"
+"   }\n"
+"\n"
+"   public int getNumber()\n"
+"   {\n"
+"      return number;\n"
+"   }\n"
+"   \n"
+"   public int getGuess()\n"
+"   {\n"
+"      return guess;\n"
+"   }\n"
+"   \n"
+"   public void setGuess(int guess)\n"
+"   {\n"
+"      this.guess = guess;\n"
+"   }\n"
+"   \n"
+"   public int getSmallest()\n"
+"   {\n"
+"      return smallest;\n"
+"   }\n"
+"   \n"
+"   public int getBiggest()\n"
+"   {\n"
+"      return biggest;\n"
+"   }\n"
+"   \n"
+"   public int getRemainingGuesses()\n"
+"   {\n"
+"      return remainingGuesses;\n"
+"   }\n"
+"   \n"
+"   public String check()\n"
+"   {\n"
+"      if (guess>number)\n"
+"      {\n"
+"         biggest = guess - 1;\n"
+"      }\n"
+"      if (guess<number)\n"
+"      {\n"
+"         smallest = guess + 1;\n"
+"      }\n"
+"      if (guess == number)\n"
+"      {\n"
+"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
+"(\"Correct!\"));\n"
+"      }\n"
+"      remainingGuesses--;\n"
+"      return null;\n"
+"   }\n"
+"   \n"
+"   @PostConstruct\n"
+"   public void reset()\n"
+"   {\n"
+"      this.smallest = 0;\n"
+"      this.guess = 0;\n"
+"      this.remainingGuesses = 10;\n"
+"      this.number = manager.getInstanceByType(Integer.class, new "
+"AnnotationLiteral<Random>(){});\n"
+"   }\n"
+"   \n"
+"}]]>"
+
+#. Tag: title
+#: gettingstarted.xml:431
+#, fuzzy, no-c-format
+msgid "The numberguess example in Tomcat"
+msgstr "numberguess 範例"
+
+#. Tag: para
+#: gettingstarted.xml:433
+#, no-c-format
+msgid ""
+"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
+"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
+"literal>. For your convenience we provide a single jar suitable for running "
+"Web Beans in any servlet container <literal>webbeans-servlet.jar</literal>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:442
+#, no-c-format
+msgid ""
+"Of course, you must also include JSF and EL, as well common annotations "
+"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:449
+#, no-c-format
+msgid ""
+"Secondly, we need to explicitly specify the servlet listener (used to boot "
+"Web Beans, and control it's interaction with requests) in <literal>web.xml</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:455
+#, no-c-format
+msgid ""
+"<![CDATA[<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:460
+#, fuzzy, no-c-format
+msgid "The numberguess example for Apache Wicket"
+msgstr "numberguess 範例"
+
+#. Tag: para
+#: gettingstarted.xml:461
+#, no-c-format
+msgid ""
+"Whilst JSR-299 specifies integration with Java ServerFaces, Web Beans allows "
+"you to inject into Wicket components, and also allows you to use a "
+"conversation context with Wicket. In this section, we'll walk you through "
+"the Wicket version of the numberguess example."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:470
+#, no-c-format
+msgid ""
+"You may want to review the Wicket documentation at <ulink url=\"http://"
+"wicket.apache.org/\">http://wicket.apache.org/</ulink>."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:476
+#, no-c-format
+msgid ""
+"Like the previous example, the Wicket WebBeans examples make use of the "
+"<literal>webbeans-servlet</literal> module. The use of the <ulink url="
+"\"http://jetty.mortbay.org/\">Jetty servlet container</ulink> is common in "
+"the Wicket community, and is chosen here as the runtime container in order "
+"to facilitate comparison between the standard Wicket examples and these "
+"examples, and also to show how the webbeans-servlet integration is not "
+"dependent upon Tomcat as the servlet container."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:487
+#, no-c-format
+msgid ""
+"These examples make use of the Eclipse IDE; instructions are also given to "
+"deploy the application from the command line."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:493
+#, no-c-format
+msgid "Creating the Eclipse project"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:495
+#, no-c-format
+msgid "To generate an Eclipse project from the example:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:499
+#, no-c-format
+msgid ""
+"<![CDATA[cd examples/wicket/numberguess\n"
+"mvn eclipse:eclipse]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:501
+#, no-c-format
+msgid ""
+"Then, from eclipse, choose <emphasis>File -> Import -> General -> Existing "
+"Projects into Workspace</emphasis>, select the root directory of the "
+"numberguess example, and click finish. This will create a project in your "
+"workspace called <literal>webbeans-wicket-numberguess</literal>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:516
+#, no-c-format
+msgid "Running the example from Eclipse"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:518
+#, no-c-format
+msgid ""
+"This project follows the <literal>wicket-quickstart</literal> approach of "
+"creating an instance of Jetty in the <literal>Start</literal> class. So "
+"running the example is as simple as right-clicking on that Start class in "
+"<literal>src/test/java</literal> in the <emphasis>Package Explorer</"
+"emphasis> and choosing <emphasis>Run as Java Application</emphasis>. You "
+"should see console output related to Jetty starting up; then visit able "
+"<literal>http://localhost:8080</literal> to view the app. To debug choose "
+"<emphasis>Debug as Java Application</emphasis>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:533
+#, no-c-format
+msgid "Running the example from the command line in JBoss AS or Tomcat"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:535
+#, no-c-format
+msgid ""
+"This example can also be deployed from the command line in a (similar to the "
+"other examples). Assuming you have set up the <literal>build.properties</"
+"literal> file in the <literal>examples</literal> directory to specify the "
+"location of JBoss AS or Tomcat, as previously described, you can run "
+"<literal>ant deploy</literal> from the <literal>examples/wicket/numberguess</"
+"literal> directory, and access the application at <literal>http://"
+"localhost:8080/webbeans-numberguess-wicket</literal>."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:549
+#, no-c-format
+msgid "Understanding the code"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:551
+#, no-c-format
+msgid ""
+"JSF uses Unified EL expressions to bind view layer components in JSP or "
+"Facelet views to beans, Wicket defines it's components in Java. The markup "
+"is plain html with a one-to-one mapping between html elements and the view "
+"components. All view logic, including binding of components to models and "
+"controlling the response of view actions, is handled in Java. The "
+"integration of Web Beans with Wicket takes advantage of the same binding "
+"annotations used in your business layer to provide injection into your "
+"WebPage subclass (or into other custom wicket component subclasses)."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:563
+#, no-c-format
+msgid ""
+"The code in the wicket numberguess example is very similar to the JSF-based "
+"numberguess example. The business layer is identical!"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:568
+#, no-c-format
+msgid "Differences are:"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:573
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass, In our case, our application class is <literal>SampleApplication</"
+"literal>:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:579
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:580
+#, no-c-format
+msgid ""
+"This class specifies which page wicket should treat as our home page, in our "
+"case, <literal>HomePage.class</literal>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:586
+#, no-c-format
+msgid ""
+"In <literal>HomePage</literal> we see typical wicket code to set up page "
+"elements. The bit that is interesting is the injection of the <literal>Game</"
+"literal> bean:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:592
+#, no-c-format
+msgid "<![CDATA[ @Current Game game;]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:594
+#, no-c-format
+msgid ""
+"The <literal>Game</literal> bean is can then be used, for example, by the "
+"code for submitting a guess:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:599
+#, no-c-format
+msgid ""
+"<![CDATA[final Component guessButton = new AjaxButton(\"GuessButton\") { \n"
+"   protected void onSubmit(AjaxRequestTarget target, Form form) {\n"
+"      if (game.check()) {]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:602
+#, no-c-format
+msgid ""
+"All injections may be serialized; actual storage of the bean is managed by "
+"JSR-299. Note that Wicket components, like the HomePage and it "
+"subcomponents, are <emphasis>not</emphasis> JSR-299 beans."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:608
+#, no-c-format
+msgid ""
+"Wicket components allow injection, but they <emphasis>cannot</emphasis> use "
+"interceptors, decorators and lifecycle callbacks such as "
+"<literal>@PostConstruct</literal> or <literal>@Initializer</literal> methods."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:618
+#, no-c-format
+msgid ""
+"The example uses AJAX for processing of button events, and dynamically hides "
+"buttons that are no longer relevant, for example when the user has won the "
+"game."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:626
+#, no-c-format
+msgid ""
+"In order to activate wicket for this webapp, the Wicket filter is added to "
+"web.xml, and our application class is specified:"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:631
+#, no-c-format
+msgid ""
+"<![CDATA[<filter>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-"
+"class>\n"
+"   <init-param>\n"
+"      <param-name>applicationClassName</param-name>\n"
+"      <param-value>org.jboss.webbeans.examples.wicket.SampleApplication</"
+"param-value>\n"
+"   </init-param>\n"
+"</filter>\n"
+"\n"
+"<filter-mapping>\n"
+"   <filter-name>wicket.numberguess-example</filter-name>\n"
+"   <url-pattern>/*</url-pattern>\n"
+"</filter-mapping>\n"
+" \n"
+"<listener>\n"
+"   <listener-class>org.jboss.webbeans.environment.servlet.Listener</listener-"
+"class>\n"
+"</listener>]]>"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:632
+#, no-c-format
+msgid ""
+"Note that the servlet listener is also added, as in the Tomcat example, in "
+"order to boostrap Web Beans when Jetty starts, and to hook Web Beans into "
+"the Jetty servlet request and session lifecycles."
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:645
+#, fuzzy, no-c-format
+msgid "The numberguess example for Java SE with Swing"
+msgstr "numberguess 範例"
+
+#. Tag: para
+#: gettingstarted.xml:647
+#, no-c-format
+msgid ""
+"This example can be found in the <literal>examples/se/numberguess</literal> "
+"folder of the Web Beans distribution."
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:654
+#, fuzzy, no-c-format
+msgid "To run this example:"
+msgstr "轉譯器範例"
+
+#. Tag: para
+#: gettingstarted.xml:660
+#, no-c-format
+msgid ""
+"Open a command line/terminal window in the <literal>examples/se/numberguess</"
+"literal> directory"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:666
+#, no-c-format
+msgid "Ensure that Maven 2 is installed and in your PATH"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:671
+#, no-c-format
+msgid ""
+"Ensure that the <literal>JAVA_HOME</literal> environment variable is "
+"pointing to your JDK installation"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:677
+#, no-c-format
+msgid "execute the following command"
+msgstr ""
+
+#. Tag: programlisting
+#: gettingstarted.xml:680
+#, no-c-format
+msgid "mvn -Drun"
+msgstr ""
+
+#. Tag: para
+#: gettingstarted.xml:686
+#, fuzzy, no-c-format
+msgid ""
+"There is an empty <literal>beans.xml</literal> file in the root package "
+"(<literal>src/main/resources/beans.xml</literal>), which marks this "
+"application as a Web Beans application."
+msgstr ""
+"有個空的 <literal>web-beans.xml</literal> 檔案,它會將此應用程式標記為一個 "
+"Web Bean 應用程式。"
+
+#. Tag: para
+#: gettingstarted.xml:692
+#, no-c-format
+msgid ""
+"The game's main logic is located in <literal>Game.java</literal>. Here is "
+"the code for that class, highlighting the changes made from the web "
+"application version:"
+msgstr ""
+
+#. Tag: section
+#: gettingstarted.xml:696
+#, no-c-format
+msgid ""
+"<programlistingco> <areaspec> <area id=\"scope\" coords=\"1\"/> <area id="
+"\"name\" coords=\"1\"/> <area id=\"messages1\" coords=\"26\"/> <area id="
+"\"validation\" coords=\"39\"/> <area id=\"reset\" coords=\"68\"/> </"
+"areaspec> <programlisting role=\"JAVA\"><![CDATA[@ApplicationScoped\n"
+"public class Game implements Serializable\n"
+"{\n"
+"\n"
+"    private int number;\n"
+"    private int guess;\n"
+"    private int smallest;\n"
+"\n"
+"    @MaxNumber\n"
+"    private int maxNumber;\n"
+"\n"
+"    private int biggest;\n"
+"    private int remainingGuesses;\n"
+"    private boolean validNumberRange = true;\n"
+"\n"
+"    @Current Generator rndGenerator;\n"
+"\n"
+"    ...\n"
+"\n"
+"    public boolean isValidNumberRange()\n"
+"    {\n"
+"        return validNumberRange;\n"
+"    }\n"
+"\n"
+"    public boolean isGameWon()\n"
+"    {\n"
+"        return guess == number;\n"
+"    }\n"
+"\n"
+"    public boolean isGameLost()\n"
+"    {\n"
+"        return guess != number && remainingGuesses <= 0;\n"
+"    }\n"
+"\n"
+"    public boolean check()\n"
+"    {\n"
+"        boolean result = false;\n"
+"\n"
+"        if ( checkNewNumberRangeIsValid() )\n"
+"        {\n"
+"            if ( guess > number )\n"
+"            {\n"
+"                biggest = guess - 1;\n"
+"            }\n"
+"\n"
+"            if ( guess < number )\n"
+"            {\n"
+"                smallest = guess + 1;\n"
+"            }\n"
+"\n"
+"            if ( guess == number )\n"
+"            {\n"
+"                result = true;\n"
+"            }\n"
+"\n"
+"            remainingGuesses--;\n"
+"        }\n"
+"\n"
+"        return result;\n"
+"    }\n"
+"\n"
+"    private boolean checkNewNumberRangeIsValid()\n"
+"    {\n"
+"        return validNumberRange = ( ( guess >= smallest ) && ( guess <= "
+"biggest ) );\n"
+"    }\n"
+"\n"
+"    @PostConstruct\n"
+"    public void reset()\n"
+"    {\n"
+"        this.smallest = 0;\n"
+"        ...\n"
+"        this.number = rndGenerator.next();\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"scope\"> <para> The "
+"bean is application scoped instead of session scoped, since an instance of "
+"the application represents a single 'session'. </para> </callout> <callout "
+"arearefs=\"name\"> <para> The bean is not named, since it doesn't need to be "
+"accessed via EL </para> </callout> <callout arearefs=\"messages1\"> <para> "
+"There is no JSF <literal>FacesContext</literal> to add messages to. Instead "
+"the <literal>Game</literal> class provides additional information about the "
+"state of the current game including: </para> <itemizedlist> <listitem> "
+"<para> If the game has been won or lost </para> </listitem> <listitem> "
+"<para> If the most recent guess was invalid </para> </listitem> </"
+"itemizedlist> <para> This allows the Swing UI to query the state of the "
+"game, which it does indirectly via a class called <literal>MessageGenerator,"
+"</literal> in order to determine the appropriate messages to display to the "
+"user during the game. </para> </callout> <callout arearefs=\"validation\"> "
+"<para> Validation of user input is performed during the <literal>check()</"
+"literal> method, since there is no dedicated validation phase </para> </"
+"callout> <callout arearefs=\"reset\"> <para> The <literal>reset()</literal> "
+"method makes a call to the injected <literal>rndGenerator</literal> in order "
+"to get the random number at the start of each game. It cannot use "
+"<literal>manager.getInstanceByType(Integer.class, new AnnotationLiteral&lt;"
+"Random&gt;(){})</literal> as the JSF example does because there will not be "
+"any active contexts like there is during a JSF request. </para> </callout> </"
+"calloutlist> </programlistingco> <para> The <literal>MessageGenerator</"
+"literal> class depends on the current instance of <literal>Game</literal>, "
+"and queries its state in order to determine the appropriate messages to "
+"provide as the prompt for the user's next guess and the response to the "
+"previous guess. The code for <literal>MessageGenerator</literal> is as "
+"follows: </para> <programlistingco> <areaspec> <area id=\"game\" coords=\"3"
+"\"/> <area id=\"challenge\" coords=\"5\"/> <area id=\"result\" coords=\"16\"/"
+"> </areaspec> <programlisting role=\"JAVA\"><![CDATA[public class "
+"MessageGenerator\n"
+"{\n"
+"    @Current Game game;\n"
+"\n"
+"    public String getChallengeMessage()\n"
+"    {\n"
+"        StringBuilder challengeMsg = new StringBuilder( \"I'm thinking of a "
+"number between \" );\n"
+"        challengeMsg.append( game.getSmallest() );\n"
+"        challengeMsg.append( \" and \" );\n"
+"        challengeMsg.append( game.getBiggest() );\n"
+"        challengeMsg.append( \". Can you guess what it is?\" );\n"
+"\n"
+"        return challengeMsg.toString();\n"
+"    }\n"
+"\n"
+"    public String getResultMessage()\n"
+"    {\n"
+"        if ( game.isGameWon() )\n"
+"        {\n"
+"            return \"You guess it! The number was \" + game.getNumber();\n"
+"        } else if ( game.isGameLost() )\n"
+"        {\n"
+"            return \"You are fail! The number was \" + game.getNumber();\n"
+"        } else if ( ! game.isValidNumberRange() )\n"
+"        {\n"
+"            return \"Invalid number range!\";\n"
+"        } else if ( game.getRemainingGuesses() == Game.MAX_NUM_GUESSES )\n"
+"        {\n"
+"            return \"What is your first guess?\";\n"
+"        } else\n"
+"        {\n"
+"            String direction = null;\n"
+"\n"
+"            if ( game.getGuess() < game.getNumber() )\n"
+"            {\n"
+"                direction = \"Higher\";\n"
+"            } else\n"
+"            {\n"
+"                direction = \"Lower\";\n"
+"            }\n"
+"\n"
+"            return direction + \"! You have \" + game.getRemainingGuesses() "
+"+ \" guesses left.\";\n"
+"        }\n"
+"    }\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"game\"> <para> The "
+"instance of <literal>Game</literal> for the application is injected here. </"
+"para> </callout> <callout arearefs=\"challenge\"> <para> The <literal>Game</"
+"literal>'s state is interrogated to determine the appropriate challenge "
+"message. </para> </callout> <callout arearefs=\"result\"> <para> And again "
+"to determine whether to congratulate, console or encourage the user to "
+"continue. </para> </callout> </calloutlist> </programlistingco> <para> "
+"Finally we come to the <literal>NumberGuessFrame</literal> class which "
+"provides the Swing front end to our guessing game. </para> "
+"<programlistingco> <areaspec> <area id=\"gameIn\" coords=\"3\"/> <area id="
+"\"messagesIn\" coords=\"4\"/> <area id=\"start\" coords=\"6\"/> <area id="
+"\"init\" coords=\"18\"/> <area id=\"guess1\" coords=\"34\"/> <area id="
+"\"replay\" coords=\"44\"/> <area id=\"refresh\" coords=\"50\"/> </areaspec> "
+"<programlisting role=\"JAVA\"><![CDATA[public class NumberGuessFrame  "
+"extends javax.swing.JFrame\n"
+"{\n"
+"    private @Current Game game;\n"
+"    private @Current MessageGenerator msgGenerator;\n"
+"\n"
+"    public void start( @Observes @Deployed Manager manager )\n"
+"    {\n"
+"        java.awt.EventQueue.invokeLater( new Runnable()\n"
+"            {\n"
+"                public void run()\n"
+"                {\n"
+"                    initComponents();\n"
+"                    setVisible( true );\n"
+"                }\n"
+"            } );\n"
+"    }\n"
+"\n"
+"    private void initComponents() {\n"
+"\n"
+"        buttonPanel = new javax.swing.JPanel();\n"
+"        mainMsgPanel = new javax.swing.JPanel();\n"
+"        mainLabel = new javax.swing.JLabel();\n"
+"        messageLabel = new javax.swing.JLabel();\n"
+"        guessText = new javax.swing.JTextField();\n"
+"        ...\n"
+"        mainLabel.setText(msgGenerator.getChallengeMessage());\n"
+"        mainMsgPanel.add(mainLabel);\n"
+"\n"
+"        messageLabel.setText(msgGenerator.getResultMessage());\n"
+"        mainMsgPanel.add(messageLabel);\n"
+"        ...\n"
+"    }\n"
+"\n"
+"    private void guessButtonActionPerformed( java.awt.event.ActionEvent "
+"evt )\n"
+"    {\n"
+"        int guess =  Integer.parseInt(guessText.getText());\n"
+"\n"
+"        game.setGuess( guess );\n"
+"        game.check();\n"
+"        refreshUI();\n"
+"\n"
+"    }\n"
+"\n"
+"    private void replayBtnActionPerformed( java.awt.event.ActionEvent evt )\n"
+"    {\n"
+"       game.reset();\n"
+"       refreshUI();\n"
+"    }\n"
+"\n"
+"    private void refreshUI()\n"
+"    {\n"
+"        mainLabel.setText( msgGenerator.getChallengeMessage() );\n"
+"        messageLabel.setText( msgGenerator.getResultMessage() );\n"
+"        guessText.setText( \"\" );\n"
+"        guessesLeftBar.setValue( game.getRemainingGuesses() );\n"
+"        guessText.requestFocus();\n"
+"    }\n"
+"\n"
+"    // swing components\n"
+"    private javax.swing.JPanel borderPanel;\n"
+"    ...\n"
+"    private javax.swing.JButton replayBtn;\n"
+"\n"
+"}]]></programlisting> <calloutlist> <callout arearefs=\"gameIn\"> <para> The "
+"injected instance of the game (logic and state). </para> </callout> <callout "
+"arearefs=\"messagesIn\"> <para> The injected message generator for UI "
+"messages. </para> </callout> <callout arearefs=\"start\"> <para> This "
+"application is started in the usual Web Beans SE way, by observing the "
+"<literal>@Deployed Manager</literal> event. </para> </callout> <callout "
+"arearefs=\"init\"> <para> This method initialises all of the Swing "
+"components. Note the use of the <literal>msgGenerator</literal>. </para> </"
+"callout> <callout arearefs=\"guess1\"> <para> "
+"<literal>guessButtonActionPerformed</literal> is called when the 'Guess' "
+"button is clicked, and it does the following: </para> <itemizedlist> "
+"<listitem> <para> Gets the guess entered by the user and sets it as the "
+"current guess in the <literal>Game</literal> </para> </listitem> <listitem> "
+"<para> Calls <literal>game.check()</literal> to validate and perform one "
+"'turn' of the game </para> </listitem> <listitem> <para> Calls "
+"<literal>refreshUI</literal>. If there were validation errors with the "
+"input, this will have been captured during <literal>game.check()</literal> "
+"and as such will be reflected in the messeges returned by "
+"<literal>MessageGenerator</literal> and subsequently presented to the user. "
+"If there are no validation errors then the user will be told to guess again "
+"(higher or lower) or that the game has ended either in a win (correct guess) "
+"or a loss (ran out of guesses). </para> </listitem> </itemizedlist> </"
+"callout> <callout arearefs=\"replay\"> <para> "
+"<literal>replayBtnActionPerformed</literal> simply calls <literal>game.reset"
+"()</literal> to start a new game and refreshes the messages in the UI. </"
+"para> </callout> <callout arearefs=\"refresh\"> <para> <literal>refreshUI</"
+"literal> uses the <literal>MessageGenerator</literal> to update the messages "
+"to the user based on the current state of the Game. </para> </callout> </"
+"calloutlist> </programlistingco>"
+msgstr ""
+
+#. Tag: title
+#: gettingstarted.xml:904
+#, no-c-format
+msgid "The translator example"
+msgstr "轉譯器範例"
+
+#. Tag: para
+#: gettingstarted.xml:906
+#, no-c-format
+msgid ""
+"The translator example will take any sentences you enter, and translate them "
+"to Latin."
+msgstr "轉譯器範例能接受您所輸入的任何句子,然後將它們翻譯成拉丁文。"
+
+#. Tag: para
+#: gettingstarted.xml:911
+#, no-c-format
+msgid ""
+"The translator example is built as an ear, and contains EJBs. As a result, "
+"it's structure is more complex than the numberguess example."
+msgstr ""
+"轉換器範例被建置為一個 ear 並包含著 EJB。正因如此,它的結構比 numberguess 範"
+"例要複雜得多。"
+
+#. Tag: para
+#: gettingstarted.xml:917
+#, no-c-format
+msgid ""
+"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
+"this structure much simpler!"
+msgstr ""
+"EJB 3.1 和 Jave EE 6 能讓您將 EJB 封裝為 war,並使得該結構變得更為簡樸!"
+
+#. Tag: para
+#: gettingstarted.xml:923
+#, no-c-format
+msgid ""
+"First, let's take a look at the ear aggregator, which is located in "
+"<literal>webbeans-translator-ear</literal> module. Maven automatically "
+"generates the <literal>application.xml</literal> for us:"
+msgstr ""
+"首先,讓我們先來看一下 ear 聚合器,它位於 <literal>webbeans-translator-ear</"
+"literal> 模組中。Maven 會自動地為我們產生 <literal>application.xml</"
+"literal>:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:929
+#, no-c-format
+msgid ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+msgstr ""
+"<![CDATA[<plugin>\n"
+"   <groupId>org.apache.maven.plugins</groupId>\n"
+"   <artifactId>maven-ear-plugin</artifactId>\n"
+"   <configuration>\n"
+"      <modules>\n"
+"         <webModule>\n"
+"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
+"            <artifactId>webbeans-translator-war</artifactId>\n"
+"            <contextRoot>/webbeans-translator</contextRoot>\n"
+"         </webModule>\n"
+"      </modules>\n"
+"   </configuration>\n"
+"</plugin>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:931
+#, no-c-format
+msgid ""
+"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
+"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
+"translator</ulink>)."
+msgstr ""
+"在此我們將設置 context 路徑,它能提供給我們一個網址(<ulink url=\"http://"
+"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
+"translator</ulink>)。"
+
+#. Tag: para
+#: gettingstarted.xml:937
+#, no-c-format
+msgid ""
+"If you aren't using Maven to generate these files, you would need "
+"<literal>META-INF/application.xml</literal>:"
+msgstr ""
+"若您不使用 Maven 來產生這些檔案,那麼您將需要 <literal>META-INF/application."
+"xml</literal>:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:942
+#, no-c-format
+msgid ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web "
+"Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+msgstr ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
+"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
+"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
+"             version=\"5\">\n"
+"  <display-name>webbeans-translator-ear</display-name>\n"
+"  <description>Ear Example for the reference implementation of JSR 299: Web "
+"Beans</description>\n"
+"  \n"
+"  <module>\n"
+"    <web>\n"
+"      <web-uri>webbeans-translator.war</web-uri>\n"
+"      <context-root>/webbeans-translator</context-root>\n"
+"    </web>\n"
+"  </module>\n"
+"  <module>\n"
+"    <ejb>webbeans-translator.jar</ejb>\n"
+"  </module>\n"
+"</application>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:945
+#, fuzzy, no-c-format
+msgid ""
+"Next, lets look at the war. Just as in the numberguess example, we have a "
+"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
+"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
+msgstr ""
+"接下來,讓我們看一下 war。就和 numberguess 範例中一樣,我們在 "
+"<literal>WebContent/WEB-INF</literal> 中有個 <literal>faces-config.xml</"
+"literal>(用來啟用 Facelets)以及一個 <literal>web.xml</literal>(用來啟用 "
+"JSF)。"
+
+#. Tag: para
+#: gettingstarted.xml:952
+#, no-c-format
+msgid ""
+"More intersting is the facelet used to translate text. Just as in the "
+"numberguess example we have a template, which surrounds the form (ommitted "
+"here for brevity):"
+msgstr ""
+"還有更有趣的就是使用來轉換文字的 facelet。就和 numberguess 範例中一樣,我們有"
+"個圍繞著 form 的頁面格式(在此將省略不提):"
+
+#. Tag: programlisting
+#: gettingstarted.xml:958
+#, no-c-format
+msgid ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+msgstr ""
+"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
+"            \n"
+"   <table>\n"
+"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
+"         <td>\n"
+"            Your text\n"
+"         </td>\n"
+"         <td>\n"
+"            Translation\n"
+"         </td>\n"
+"      </tr>\n"
+"      <tr>\n"
+"         <td>\n"
+"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
+"required=\"true\" rows=\"5\" cols=\"80\" />\n"
+"         </td>\n"
+"         <td>\n"
+"            <h:outputText value=\"#{translator.translatedText}\" />\n"
+"         </td>\n"
+"      </tr>\n"
+"   </table>\n"
+"   <div>\n"
+"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
+"{translator.translate}\"/>\n"
+"   </div>\n"
+"   \n"
+"</h:form>]]>"
+
+#. Tag: para
+#: gettingstarted.xml:960
+#, no-c-format
+msgid ""
+"The user can enter some text in the lefthand textarea, and hit the translate "
+"button to see the result to the right."
+msgstr ""
+"用戶可在左手邊的文字區域中輸入一些文字,然後點選轉譯按鈕並於右手邊的區域中查"
+"看結果。"
+
+#. Tag: para
+#: gettingstarted.xml:965
+#, no-c-format
+msgid ""
+"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
+"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
+"empty <literal>web-beans.xml</literal>, used to mark the archive as "
+"containing Web Beans."
+msgstr ""
+"最後,讓我們來看一下 ejb 模組 <literal>webbeans-translator-ejb</literal>。在 "
+"<literal>src/main/resources/META-INF</literal> 中只有一個用來將 archive 標記"
+"為包含著 Web Bean 的空 <literal>web-beans.xml</literal>。"
+
+#. Tag: para
+#: gettingstarted.xml:973
+#, no-c-format
+msgid ""
+"We've saved the most interesting bit to last, the code! The project has two "
+"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
+"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
+"literal> and <literal>SentenceTranslator</literal>. You should be getting "
+"quite familiar with what a Web Bean looks like by now, so we'll just "
+"highlight the most interesting bits here."
+msgstr ""
+"我們將最有趣的部份保留到了最後,那就是程式碼!該專案含有兩個基本的 bean,"
+"<literal>SentenceParser</literal> 和 <literal>TextTranslator</literal>,以及"
+"兩個企業級的 bean,<literal>TranslatorControllerBean</literal> 和 "
+"<literal>SentenceTranslator</literal>。到了現在您應該已經很熟悉 Web Bean 長得"
+"如何了,因此我們在此將只著重於其它較有趣的部份。"
+
+#. Tag: para
+#: gettingstarted.xml:983
+#, no-c-format
+msgid ""
+"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
+"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
+"initialization:"
+msgstr ""
+"<literal>SentenceParser</literal> 和 <literal>TextTranslator</literal> 兩者皆"
+"為相依性的 bean,並且 <literal>TextTranslator</literal> 使用了 constructor 初"
+"始化:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:989
+#, no-c-format
+msgid ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator "
+"sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+msgstr ""
+"<![CDATA[public class TextTranslator { \n"
+"   private SentenceParser sentenceParser; \n"
+"   private Translator sentenceTranslator; \n"
+"   \n"
+"   @Initializer\n"
+"   TextTranslator(SentenceParser sentenceParser, Translator "
+"sentenceTranslator) \n"
+"   { \n"
+"      this.sentenceParser = sentenceParser; \n"
+"      this.sentenceTranslator = sentenceTranslator;]]>"
+
+#. Tag: para
+#: gettingstarted.xml:991
+#, no-c-format
+msgid ""
+"<literal>TextTranslator</literal> is a stateless bean (with a local business "
+"interface), where the magic happens - of course, we couldn't develop a full "
+"translator, but we gave it a good go!"
+msgstr ""
+"<literal>TextTranslator</literal> 是個無狀態的 bean(以及一個本地的商業介"
+"面)- 當然,我們無法開發一個完整的轉譯器。"
+
+#. Tag: para
+#: gettingstarted.xml:997
+#, no-c-format
+msgid ""
+"Finally, there is UI orientated controller, that collects the text from the "
+"user, and dispatches it to the translator. This is a request scoped, named, "
+"stateful session bean, which injects the translator."
+msgstr ""
+"最後,有個 UI 導向的控制器,它會藉由用戶收集文字然後將它發送給轉譯器。這是個"
+"請求導向、被命名,而有狀態的 session bean,並且會注入轉譯器。"
+
+#. Tag: programlisting
+#: gettingstarted.xml:1003
+#, no-c-format
+msgid ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+msgstr ""
+"<![CDATA[@Stateful\n"
+"@RequestScoped\n"
+"@Named(\"translator\")\n"
+"public class TranslatorControllerBean implements TranslatorController\n"
+"{\n"
+"   \n"
+"   @Current TextTranslator translator;]]>"
+
+#. Tag: para
+#: gettingstarted.xml:1005
+#, no-c-format
+msgid "The bean also has getters and setters for all the fields on the page."
+msgstr "這個 bean 針對於頁面上所有欄位都有 getter 與 setter。"
+
+#. Tag: para
+#: gettingstarted.xml:1009
+#, no-c-format
+msgid "As this is a stateful session bean, we have to have a remove method:"
+msgstr ""
+"因為這是個 stateful(有狀態)的 session bean,因此我們必須要有個 remove "
+"method:"
+
+#. Tag: programlisting
+#: gettingstarted.xml:1013
+#, no-c-format
+msgid ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+msgstr ""
+"<![CDATA[   @Remove\n"
+"   public void remove()\n"
+"   {\n"
+"      \n"
+"   }]]>"
+
+#. Tag: para
+#: gettingstarted.xml:1015
+#, no-c-format
+msgid ""
+"The Web Beans manager will call the remove method for you when the bean is "
+"destroyed; in this case at the end of the request."
+msgstr ""
+"當 bean 被毀掉後,Web Bean 管理員會為您調用 remove 這個 method;在此情況下為"
+"請求結束之後。"
+
+#. Tag: para
+#: gettingstarted.xml:1021
+#, fuzzy, no-c-format
+msgid ""
+"That concludes our short tour of the Web Beans examples. For more on Web "
+"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
+"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
+"Development</ulink>."
+msgstr ""
+"這結束了我們簡短的 Web Bean RI 範例。如欲取得更多有關於 RI 的相關資訊,或是提"
+"供相關協助,請參閱 <ulink url=\"http://www.seamframework.org/WebBeans/"
+"Development\">http://www.seamframework.org/WebBeans/Development</ulink>。"
+
+#. Tag: para
+#: gettingstarted.xml:1027
+#, no-c-format
+msgid ""
+"We need help in all areas - bug fixing, writing new features, writing "
+"examples and translating this reference guide."
+msgstr ""
+"我們在所有層面都需要協助 - 錯誤修正、編寫新功能、編寫範例,以及翻譯此參照指"
+"南。"
+
+#, fuzzy
+#~ msgid ""
+#~ "A new deployer, <literal>webbeans.deployer</literal> is added to JBoss "
+#~ "AS. This adds supports for Web Bean archives to JBoss AS, and allows the "
+#~ "Web Beans RI to query the EJB3 container and discover which EJBs are "
+#~ "installed in your application."
+#~ msgstr ""
+#~ "目前您需要兩個更新。首先一個新的建置器 <literal>webbeans.deployer</"
+#~ "literal> 被新增了。這可為 JBoss AS 提供 Web Bean archive,並能讓 Web Bean "
+#~ "RI 查詢 EJB3 container,並找出安裝在您應用程式中的 EJB 為何。接下來,您需"
+#~ "要 JBoss EJB3 的更新。"
+
+#~ msgid ""
+#~ "As Web Beans is a new piece of software, you need to update JBoss AS to "
+#~ "run the Web Beans RI. Future versions of JBoss AS will include these "
+#~ "updates, and this step won't be necessary."
+#~ msgstr ""
+#~ "因為 Web Bean 是個新的軟體,您需要更新 JBoss AS 才可執行 Web Bean RI。未來"
+#~ "版本的 JBoss AS 將會包含這些更新,因此這個步驟將可被忽略。"


Property changes on: doc/trunk/reference/zh-TW/gettingstarted.po
___________________________________________________________________
Name: svn:mergeinfo
   + 

Modified: doc/trunk/reference/zh-TW/producermethods.po
===================================================================
--- doc/trunk/reference/zh-TW/producermethods.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/zh-TW/producermethods.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: producermethods\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-01-16 12:31+1000\n"
 "Last-Translator: Terry Chuang <tchuang at redhat.com>\n"
 "Language-Team: Traditional Chinese <zh at li.org>\n"
@@ -43,29 +43,83 @@
 msgid "According to the spec:"
 msgstr "根據規格:"
 
-#. Tag: chapter
-#: producermethods.xml:12
+#. Tag: para
+#: producermethods.xml:16
 #, no-c-format
 msgid ""
-"<blockquote> <para>A Web Beans producer method acts as a source of objects "
-"to be injected, where:</para> <itemizedlist> <listitem> <para>the objects to "
-"be injected are not required to be instances of Web Beans,</para> </"
-"listitem> <listitem> <para>the concrete type of the objects to be injected "
-"may vary at runtime or</para> </listitem> <listitem> <para>the objects "
-"require some custom initialization that is not performed by the Web Bean "
-"constructor</para> </listitem> </itemizedlist> </blockquote> <para>For "
-"example, producer methods let us:</para> <itemizedlist> <listitem> "
-"<para>expose a JPA entity as a Web Bean,</para> </listitem> <listitem> "
-"<para>expose any JDK class as a Web Bean,</para> </listitem> <listitem> "
-"<para>define multiple Web Beans, with different scopes or initialization, "
-"for the same implementation class, or</para> </listitem> <listitem> "
-"<para>vary the implementation of an API type at runtime.</para> </listitem> "
-"</itemizedlist> <para>In particular, producer methods let us use runtime "
-"polymorphism with Web Beans. As we've seen, deployment types are a powerful "
-"solution to the problem of deployment-time polymorphism. But once the system "
-"is deployed, the Web Bean implementation is fixed. A producer method has no "
-"such limitation:</para> <programlisting role=\"JAVA\"><![CDATA"
-"[@SessionScoped\n"
+"A Web Beans producer method acts as a source of objects to be injected, "
+"where:"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:20
+#, no-c-format
+msgid ""
+"the objects to be injected are not required to be instances of Web Beans,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:23
+#, no-c-format
+msgid "the concrete type of the objects to be injected may vary at runtime or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:26
+#, no-c-format
+msgid ""
+"the objects require some custom initialization that is not performed by the "
+"Web Bean constructor"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:33
+#, fuzzy, no-c-format
+msgid "For example, producer methods let us:"
+msgstr "producer method 的 scope"
+
+#. Tag: para
+#: producermethods.xml:37
+#, no-c-format
+msgid "expose a JPA entity as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:40
+#, no-c-format
+msgid "expose any JDK class as a Web Bean,"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:43
+#, no-c-format
+msgid ""
+"define multiple Web Beans, with different scopes or initialization, for the "
+"same implementation class, or"
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:47
+#, no-c-format
+msgid "vary the implementation of an API type at runtime."
+msgstr ""
+
+#. Tag: para
+#: producermethods.xml:51
+#, no-c-format
+msgid ""
+"In particular, producer methods let us use runtime polymorphism with Web "
+"Beans. As we've seen, deployment types are a powerful solution to the "
+"problem of deployment-time polymorphism. But once the system is deployed, "
+"the Web Bean implementation is fixed. A producer method has no such "
+"limitation:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:56
+#, fuzzy, no-c-format
+msgid ""
+"<![CDATA[@SessionScoped\n"
 "public class Preferences {\n"
 "    \n"
 "    private PaymentStrategyType paymentStrategy;\n"
@@ -82,52 +136,52 @@
 "        } \n"
 "    }\n"
 "    \n"
-"}]]></programlisting> <para>Consider an injection point:</para> "
-"<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
-"paymentStrat;]]></programlisting> <para>This injection point has the same "
-"type and binding annotations as the producer method, so it resolves to the "
-"producer method using the usual Web Beans injection rules. The producer "
-"method will be called by the Web Bean manager to obtain an instance to "
-"service this injection point.</para>."
+"}]]>"
 msgstr ""
-"<blockquote> <para>Web Bean 的 producer method 的作用為要被注入之物件的來源:"
-"</para> <itemizedlist> <listitem> <para>要被注入的物件無須是 Web Bean 的 "
-"instance,</para> </listitem> <listitem> <para>要被注入的物件的具體類型取決"
-"於 runtime,或是</para> </listitem> <listitem> <para>該物件需要進行一些並非"
-"由 Web Bean 建構函式所實施的自訂初始化</para> </listitem> </itemizedlist> </"
-"blockquote> <para>比方說,producer method 能讓我們:</para> <itemizedlist> "
-"<listitem> <para>將 JPA entity 顯示為 Web Bean、</para> </listitem> "
-"<listitem> <para>將任何 JDK class 顯示為 Web Bean、</para> </listitem> "
-"<listitem> <para>為相同的實做 class 定義多重 Web Bean 以及不同的 scope 或初始"
-"化,或是</para> </listitem> <listitem> <para>在 runtime 時改變一個 API 類型的"
-"實做。</para> </listitem> </itemizedlist> <para>特別是,producer method 讓我"
-"們可以同時使用 Web Bean 和執行期多型性(runtime polymorphism)。就如我們所"
-"見,建置類型(deployment type)對於建置期多型性(deployment-time "
-"polymorphism)的問題來說是個強大的解決方法。不過一旦系統被建置後,Web Bean 實"
-"做便會是故定的。Producer method 則沒有這方面的限制:</para> <programlisting "
-"role=\"JAVA\"><![CDATA[@SessionScoped\n"
-"public class Preferences {\n"
-"    \n"
-"    private PaymentStrategyType paymentStrategy;\n"
-"    \n"
+"<![CDATA[@Produces @Preferred @SessionScoped\n"
+"public PaymentStrategy getPaymentStrategy(CreditCardPaymentStrategy ccps,\n"
+"                                          ChequePaymentStrategy cps,\n"
+"                                          PayPalPaymentStrategy ppps) {\n"
+"    switch (paymentStrategy) {\n"
+"        case CREDIT_CARD: return ccps;\n"
+"        case CHEQUE: return cps;\n"
+"        case PAYPAL: return ppps;\n"
+"        default: return null;\n"
+"    } \n"
+"}]]>"
+
+#. Tag: para
+#: producermethods.xml:58
+#, no-c-format
+msgid "Consider an injection point:"
+msgstr ""
+
+#. Tag: programlisting
+#: producermethods.xml:60
+#, fuzzy, no-c-format
+msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
+msgstr ""
+"<![CDATA[@Produces @Preferred @SessionScoped\n"
+"public PaymentStrategy getPaymentStrategy() {\n"
 "    ...\n"
-"    \n"
-"    @Produces @Preferred \n"
-"    public PaymentStrategy getPaymentStrategy() {\n"
-"        switch (paymentStrategy) {\n"
-"            case CREDIT_CARD: return new CreditCardPaymentStrategy();\n"
-"            case CHEQUE: return new ChequePaymentStrategy();\n"
-"            case PAYPAL: return new PayPalPaymentStrategy();\n"
-"            default: return null;\n"
-"        } \n"
-"    }\n"
-"    \n"
-"}]]></programlisting> <para>考慮這個注入點:</para> <programlisting role="
-"\"JAVA\"><![CDATA[@Preferred PaymentStrategy paymentStrat;]]></"
-"programlisting> <para>這個注入點擁有和 producer method 相同的類型和綁定標記,"
-"因此它會使用一般的 Web Bean 注入規則來解析 producer method。Producer method "
-"會被 Web Bean 管理員調用來取得一個 instance 來服務這個注入點。</para>"
+"}]]>"
 
+#. Tag: para
+#: producermethods.xml:62
+#, no-c-format
+msgid ""
+"This injection point has the same type and binding annotations as the "
+"producer method, so it resolves to the producer method using the usual Web "
+"Beans injection rules. The producer method will be called by the Web Bean "
+"manager to obtain an instance to service this injection point."
+msgstr ""
+
+#. Tag: chapter
+#: producermethods.xml:65
+#, no-c-format
+msgid "<chapter>.</chapter>"
+msgstr ""
+
 #. Tag: title
 #: producermethods.xml:68
 #, no-c-format
@@ -350,13 +404,26 @@
 "<literal>Preferences</literal> 物件於 session 結束時被毀掉之前,dependent 物"
 "件不會被毀掉。"
 
-#, fuzzy
-#~ msgid "For example, producer methods let us:"
-#~ msgstr "producer method 的 scope"
-
-#, fuzzy
 #~ msgid ""
-#~ "<![CDATA[@SessionScoped\n"
+#~ "<blockquote> <para>A Web Beans producer method acts as a source of "
+#~ "objects to be injected, where:</para> <itemizedlist> <listitem> <para>the "
+#~ "objects to be injected are not required to be instances of Web Beans,</"
+#~ "para> </listitem> <listitem> <para>the concrete type of the objects to be "
+#~ "injected may vary at runtime or</para> </listitem> <listitem> <para>the "
+#~ "objects require some custom initialization that is not performed by the "
+#~ "Web Bean constructor</para> </listitem> </itemizedlist> </blockquote> "
+#~ "<para>For example, producer methods let us:</para> <itemizedlist> "
+#~ "<listitem> <para>expose a JPA entity as a Web Bean,</para> </listitem> "
+#~ "<listitem> <para>expose any JDK class as a Web Bean,</para> </listitem> "
+#~ "<listitem> <para>define multiple Web Beans, with different scopes or "
+#~ "initialization, for the same implementation class, or</para> </listitem> "
+#~ "<listitem> <para>vary the implementation of an API type at runtime.</"
+#~ "para> </listitem> </itemizedlist> <para>In particular, producer methods "
+#~ "let us use runtime polymorphism with Web Beans. As we've seen, deployment "
+#~ "types are a powerful solution to the problem of deployment-time "
+#~ "polymorphism. But once the system is deployed, the Web Bean "
+#~ "implementation is fixed. A producer method has no such limitation:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@SessionScoped\n"
 #~ "public class Preferences {\n"
 #~ "    \n"
 #~ "    private PaymentStrategyType paymentStrategy;\n"
@@ -373,25 +440,49 @@
 #~ "        } \n"
 #~ "    }\n"
 #~ "    \n"
-#~ "}]]>"
+#~ "}]]></programlisting> <para>Consider an injection point:</para> "
+#~ "<programlisting role=\"JAVA\"><![CDATA[@Preferred PaymentStrategy "
+#~ "paymentStrat;]]></programlisting> <para>This injection point has the same "
+#~ "type and binding annotations as the producer method, so it resolves to "
+#~ "the producer method using the usual Web Beans injection rules. The "
+#~ "producer method will be called by the Web Bean manager to obtain an "
+#~ "instance to service this injection point.</para>."
 #~ msgstr ""
-#~ "<![CDATA[@Produces @Preferred @SessionScoped\n"
-#~ "public PaymentStrategy getPaymentStrategy(CreditCardPaymentStrategy "
-#~ "ccps,\n"
-#~ "                                          ChequePaymentStrategy cps,\n"
-#~ "                                          PayPalPaymentStrategy ppps) {\n"
-#~ "    switch (paymentStrategy) {\n"
-#~ "        case CREDIT_CARD: return ccps;\n"
-#~ "        case CHEQUE: return cps;\n"
-#~ "        case PAYPAL: return ppps;\n"
-#~ "        default: return null;\n"
-#~ "    } \n"
-#~ "}]]>"
-
-#, fuzzy
-#~ msgid "<![CDATA[@Preferred PaymentStrategy paymentStrat;]]>"
-#~ msgstr ""
-#~ "<![CDATA[@Produces @Preferred @SessionScoped\n"
-#~ "public PaymentStrategy getPaymentStrategy() {\n"
+#~ "<blockquote> <para>Web Bean 的 producer method 的作用為要被注入之物件的來"
+#~ "源:</para> <itemizedlist> <listitem> <para>要被注入的物件無須是 Web Bean "
+#~ "的 instance,</para> </listitem> <listitem> <para>要被注入的物件的具體類型"
+#~ "取決於 runtime,或是</para> </listitem> <listitem> <para>該物件需要進行一"
+#~ "些並非由 Web Bean 建構函式所實施的自訂初始化</para> </listitem> </"
+#~ "itemizedlist> </blockquote> <para>比方說,producer method 能讓我們:</"
+#~ "para> <itemizedlist> <listitem> <para>將 JPA entity 顯示為 Web Bean、</"
+#~ "para> </listitem> <listitem> <para>將任何 JDK class 顯示為 Web Bean、</"
+#~ "para> </listitem> <listitem> <para>為相同的實做 class 定義多重 Web Bean 以"
+#~ "及不同的 scope 或初始化,或是</para> </listitem> <listitem> <para>在 "
+#~ "runtime 時改變一個 API 類型的實做。</para> </listitem> </itemizedlist> "
+#~ "<para>特別是,producer method 讓我們可以同時使用 Web Bean 和執行期多型性"
+#~ "(runtime polymorphism)。就如我們所見,建置類型(deployment type)對於建"
+#~ "置期多型性(deployment-time polymorphism)的問題來說是個強大的解決方法。不"
+#~ "過一旦系統被建置後,Web Bean 實做便會是故定的。Producer method 則沒有這方"
+#~ "面的限制:</para> <programlisting role=\"JAVA\"><![CDATA[@SessionScoped\n"
+#~ "public class Preferences {\n"
+#~ "    \n"
+#~ "    private PaymentStrategyType paymentStrategy;\n"
+#~ "    \n"
 #~ "    ...\n"
-#~ "}]]>"
+#~ "    \n"
+#~ "    @Produces @Preferred \n"
+#~ "    public PaymentStrategy getPaymentStrategy() {\n"
+#~ "        switch (paymentStrategy) {\n"
+#~ "            case CREDIT_CARD: return new CreditCardPaymentStrategy();\n"
+#~ "            case CHEQUE: return new ChequePaymentStrategy();\n"
+#~ "            case PAYPAL: return new PayPalPaymentStrategy();\n"
+#~ "            default: return null;\n"
+#~ "        } \n"
+#~ "    }\n"
+#~ "    \n"
+#~ "}]]></programlisting> <para>考慮這個注入點:</para> <programlisting role="
+#~ "\"JAVA\"><![CDATA[@Preferred PaymentStrategy paymentStrat;]]></"
+#~ "programlisting> <para>這個注入點擁有和 producer method 相同的類型和綁定標"
+#~ "記,因此它會使用一般的 Web Bean 注入規則來解析 producer method。Producer "
+#~ "method 會被 Web Bean 管理員調用來取得一個 instance 來服務這個注入點。</"
+#~ "para>"

Modified: doc/trunk/reference/zh-TW/ri-spi.po
===================================================================
--- doc/trunk/reference/zh-TW/ri-spi.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/zh-TW/ri-spi.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: ri-spi\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-01-20 11:43+1000\n"
 "Last-Translator: Terry Chuang <tchuang at redhat.com>\n"
 "Language-Team: Traditional Chinese <zh at li.org>\n"
@@ -18,93 +18,79 @@
 
 #. Tag: title
 #: ri-spi.xml:4
-#, no-c-format
-msgid "Integrating the Web Beans RI into other environments"
+#, fuzzy, no-c-format
+msgid "Integrating Web Beans into other environments"
 msgstr "將 Web Bean RI 整合入其它環境中"
 
 #. Tag: para
 #: ri-spi.xml:6
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
-"Currently the Web Beans RI only runs in JBoss AS 5; integrating the RI into "
-"other EE environments (for example another application server like "
-"Glassfish), into a servlet container (like Tomcat), or with an Embedded "
-"EJB3.1 implementation is fairly easy. In this Appendix we will briefly "
-"discuss the steps needed."
+"Currently Web Beans only runs in JBoss AS 5; integrating the RI into other "
+"EE environments (for example another application server like Glassfish), "
+"into a servlet container (like Tomcat), or with an Embedded EJB3.1 "
+"implementation is fairly easy. In this Appendix we will briefly discuss the "
+"steps needed."
 msgstr ""
 "目前,Web Bean RI 只能在 JBoss AS 5 中執行;要將 RI 整合入其它 EE 環境中(比"
 "方說另一個像是 Glassfish 的應用程式伺服器)、整合入一個 servlet 容器(例如 "
 "Tomcat)中,或是和一個崁入式的 EJB3.1 實做整合都是相當容易的。在此附錄中,我"
 "們將簡略地討論所需的步驟。"
 
-#. Tag: para
+#. Tag: title
 #: ri-spi.xml:15
-#, no-c-format
-msgid ""
-"It should be possible to run Web Beans in an SE environment, but you'll to "
-"do more work, adding your own contexts and lifecycle. The Web Beans RI "
-"currently doesn't expose lifecycle extension points, so you would have to "
-"code directly against Web Beans RI classes."
-msgstr ""
-"您可在一個 SE 環境下執行 Web Bean,不過您必須進行較多步驟,包括新增您自己的 "
-"context 和生命週期。Web Bean RI 目前並不會顯示生命週期的延伸點,因此您必須針"
-"對於 Web Bean RI 的 class 來直接地進行程式撰寫。"
-
-#. Tag: title
-#: ri-spi.xml:24
-#, no-c-format
-msgid "The Web Beans RI SPI"
+#, fuzzy, no-c-format
+msgid "The Web Beans SPI"
 msgstr "Web Beans RI SPI"
 
 #. Tag: para
-#: ri-spi.xml:26
+#: ri-spi.xml:17
 #, fuzzy, no-c-format
 msgid ""
-"The Web Beans SPI is located in <literal>webbeans-spi</literal> module, and "
-"packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, if "
-"you need to override the default behavior, others are required."
+"The Web Beans SPI is located in the <literal>webbeans-spi</literal> module, "
+"and packaged as <literal>webbeans-spi.jar</literal>. Some SPIs are optional, "
+"if you need to override the default behavior, others are required."
 msgstr ""
 "Web Bean SPI 位於 <literal>webbeans-ri-spi</literal> 模組中,並且被封裝為 "
 "<literal>webbeans-ri-spi.jar</literal>。有些 SPI 為可選的,若您需要置換預設的"
 "特性,您則需要其它 SPI。"
 
 #. Tag: para
-#: ri-spi.xml:33
+#: ri-spi.xml:24
 #, no-c-format
 msgid ""
 "All interfaces in the SPI support the decorator pattern and provide a "
-"<literal>Forwarding</literal> class."
+"<literal>Forwarding</literal> class located in the <literal>helpers</"
+"literal> sub package. Additional, commonly used, utility classes, and "
+"standard implementations are also located in the <literal>helpers</literal> "
+"sub package."
 msgstr ""
-"SPI 中所有的介面都支援裝飾器模式並提供了一個 <literal>Forwarding</literal> "
-"class。"
 
 #. Tag: title
-#: ri-spi.xml:39
+#: ri-spi.xml:33
 #, no-c-format
 msgid "Web Bean Discovery"
 msgstr "Web Bean 搜尋"
 
 #. Tag: programlisting
-#: ri-spi.xml:41
-#, no-c-format
+#: ri-spi.xml:35
+#, fuzzy, no-c-format
 msgid ""
-"<![CDATA[public interface WebBeanDiscovery {\n"
-"   /**\n"
-"    * Gets list of all classes in classpath archives with web-beans.xml "
-"files\n"
+"<![CDATA[/**\n"
+"    * Gets list of all classes in classpath archives with META-INF/beans.xml "
+"(or\n"
+"    * for WARs WEB-INF/beans.xml) files\n"
 "    * \n"
 "    * @return An iterable over the classes \n"
 "    */\n"
 "   public Iterable<Class<?>> discoverWebBeanClasses();\n"
 "   \n"
 "   /**\n"
-"    * Gets a list of all web-beans.xml files in the app classpath\n"
+"    * Gets a list of all deployment descriptors in the app classpath\n"
 "    * \n"
-"    * @return An iterable over the web-beans.xml files \n"
+"    * @return An iterable over the beans.xml files \n"
 "    */\n"
-"   public Iterable<URL> discoverWebBeansXml();\n"
-"   \n"
-"}]]>"
+"   public Iterable<URL> discoverWebBeansXml();]]>"
 msgstr ""
 "<![CDATA[public interface WebBeanDiscovery {\n"
 "   /**\n"
@@ -125,28 +111,36 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:43
-#, no-c-format
+#: ri-spi.xml:37
+#, fuzzy, no-c-format
 msgid ""
-"The discovery of Web Bean classes and <literal>web-bean.xml</literal> files "
-"is self-explanatory (the algorithm is described in Section 11.1 of the JSR-"
-"299 specification, and isn't repeated here)."
+"The discovery of Web Bean classes and <literal>beans.xml</literal> files is "
+"self-explanatory (the algorithm is described in Section 11.1 of the JSR-299 "
+"specification, and isn't repeated here)."
 msgstr ""
 "Web Bean 類別和 <literal>web-bean.xml</literal> 檔案的搜尋相當明顯(演算法描"
 "述於 JSR-299 規格的章節 11.1 中,在此不重複)。"
 
 #. Tag: title
-#: ri-spi.xml:52
+#: ri-spi.xml:46
 #, no-c-format
 msgid "EJB services"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:54
+#: ri-spi.xml:49
 #, no-c-format
 msgid ""
-"The Web Beans RI also delegates EJB3 bean discovery to the container so that "
-"it doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
+"Web Beans will run without an EJB container; in this case you don't need to "
+"implement the EJB SPI."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:55
+#, fuzzy, no-c-format
+msgid ""
+"Web Beans also delegates EJB3 bean discovery to the container so that it "
+"doesn't have to scan for EJB3 annotations or parse <literal>ejb-jar.xml</"
 "literal>. For each EJB in the application an EJBDescriptor should be "
 "discovered:"
 msgstr ""
@@ -155,39 +149,13 @@
 "能發現一個 EJBDescriptor:"
 
 #. Tag: programlisting
-#: ri-spi.xml:61
+#: ri-spi.xml:62
 #, fuzzy, no-c-format
 msgid ""
-"<![CDATA[public interface EjbServices\n"
+"<![CDATA[public interface EjbDescriptor<T>\n"
 "{\n"
 "   \n"
 "   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
-msgstr ""
-"<![CDATA[public interface EjbDiscovery\n"
-"{\n"
-"   public static final String PROPERTY_NAME = EjbDiscovery.class.getName();\n"
-"   \n"
-"   /**\n"
-"    * Gets a descriptor for each EJB in the application\n"
-"    * \n"
-"    * @return The bean class to descriptor map \n"
-"    */\n"
-"   public Iterable<EjbDescriptor<?>> discoverEjbs();\n"
-"   \n"
-"}]]>"
-
-#. Tag: programlisting
-#: ri-spi.xml:63
-#, no-c-format
-msgid ""
-"<![CDATA[public interface EjbDescriptor<T> {\n"
-"   \n"
-"   /**\n"
 "    * Gets the EJB type\n"
 "    * \n"
 "    * @return The EJB Bean class\n"
@@ -250,10 +218,7 @@
 "    * \n"
 "    * @return The name\n"
 "    */\n"
-"   public String getEjbName();\n"
-"   \n"
-"   \n"
-"}]]>"
+"   public String getEjbName();]]>"
 msgstr ""
 "<![CDATA[public interface EjbDescriptor<T> {\n"
 "   \n"
@@ -326,7 +291,7 @@
 "}]]>"
 
 #. Tag: para
-#: ri-spi.xml:65
+#: ri-spi.xml:64
 #, no-c-format
 msgid ""
 "The <literal>EjbDescriptor</literal> is fairly self-explanatory, and should "
@@ -342,17 +307,32 @@
 "EJB instance 的 interface class 以及 jndi 名稱)。"
 
 #. Tag: para
-#: ri-spi.xml:74
+#: ri-spi.xml:73
 #, no-c-format
 msgid ""
-"The resolution of <literal>@EJB</literal> and <literal>@Resource</literal> "
-"is delegated to the container. You must provide an implementation of "
-"<literal>org.jboss.webbeans.ejb.spi.EjbServices</literal> which provides "
-"these operations. Web Beans passes in the <literal>javax.inject.manager."
-"InjectionPoint</literal> the resolution is for, as well as the "
-"<literal>NamingContext</literal> in use for each resolution request."
+"The resolution of <literal>@EJB</literal> (for injection into simple beans), "
+"the resolution of local EJBs (for backing session beans) and remote EJBs "
+"(for injection as a Java EE resource) is delegated to the container. You "
+"must provide an implementation of <literal>org.jboss.webbeans.ejb.spi."
+"EjbServices</literal> which provides these operations. For resolving the "
+"<literal>@EJB</literal> injection point, Web Beans will provide the "
+"<literal>InjectionPoint</literal>; for resolving local EJBs, the "
+"<literal>EjbDescriptor</literal> will be provided, and for remote EJBs the "
+"<literal>jndiName</literal>, <literal>mappedName</literal>, or "
+"<literal>ejbLink</literal> will be provided."
 msgstr ""
 
+#. Tag: para
+#: ri-spi.xml:87
+#, no-c-format
+msgid ""
+"When resolving local EJBs (used to back session beans) a wrapper "
+"(<literal>SessionObjectReference</literal>) around the EJB reference is "
+"returned. This wrapper allows Web Beans to request a reference that "
+"implements the given business interface, and, in the case of SFSBs, request "
+"the removal of the EJB from the container."
+msgstr ""
+
 #. Tag: title
 #: ri-spi.xml:98
 #, no-c-format
@@ -363,35 +343,59 @@
 #: ri-spi.xml:100
 #, no-c-format
 msgid ""
-"Just as resolution of <literal>@EJB</literal> is delegated to the container, "
-"so is resolution of <literal>@PersistenceContext</literal>."
+"Just as EJB resolution is delegated to the container, resolution of "
+"<literal>@PersistenceContext</literal> for injection into simple beans (with "
+"the <literal>InjectionPoint</literal> provided), and resolution of "
+"persistence contexts and persistence units (with the <literal>unitName</"
+"literal> provided) for injection as a Java EE resource is delegated to the "
+"container."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:106
+#: ri-spi.xml:109
 #, no-c-format
 msgid ""
-"OPEN ISSUE: Web Beans also requires the container to provide a list of "
-"entities in the deployment, so that they aren't discovered as simple beans."
+"To allow JPA integration, the <literal>JpaServices</literal> interface "
+"should be implemented."
 msgstr ""
 
-#. Tag: title
+#. Tag: para
 #: ri-spi.xml:114
 #, no-c-format
+msgid ""
+"Web Beans also needs to know what entities are in a deployment (so that they "
+"aren't managed by Web Beans). An implementation that detects entities "
+"through <literal>@Entity</literal> and <literal>orm.xml</literal> is "
+"provided by default. If you want to provide support for a entities defined "
+"by a JPA provider (such as Hibernate's <literal>.hbm.xml</literal> you can "
+"wrap or replace the default implementation."
+msgstr ""
+
+#. Tag: programlisting
+#: ri-spi.xml:124
+#, no-c-format
+msgid ""
+"<![CDATA[EntityDiscovery delegate = bootstrap.getServices().get"
+"(EntityDiscovery.class);]]>"
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:129
+#, no-c-format
 msgid "Transaction Services"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:116
+#: ri-spi.xml:131
 #, no-c-format
 msgid ""
-"The Web Beans RI must delegate JTA activities to the container. The SPI "
-"provides a couple hooks to easily achieve this with the "
-"<literal>TransactionServices</literal> interface."
+"Web Beans must delegate JTA activities to the container. The SPI provides a "
+"couple hooks to easily achieve this with the <literal>TransactionServices</"
+"literal> interface."
 msgstr ""
 
 #. Tag: programlisting
-#: ri-spi.xml:122
+#: ri-spi.xml:137
 #, no-c-format
 msgid ""
 "<![CDATA[public interface TransactionServices\n"
@@ -427,7 +431,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:124
+#: ri-spi.xml:139
 #, no-c-format
 msgid ""
 "The enumeration <literal>Status</literal> is a convenience for implementors "
@@ -437,7 +441,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:131
+#: ri-spi.xml:147
 #, no-c-format
 msgid ""
 "Any <literal>javax.transaction.Synchronization</literal> implementation may "
@@ -447,7 +451,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:138
+#: ri-spi.xml:155
 #, no-c-format
 msgid ""
 "To make it easier to determine whether or not a transaction is currently "
@@ -457,30 +461,99 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:147
+#: ri-spi.xml:165
 #, no-c-format
+msgid "JMS services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:167
+#, no-c-format
+msgid ""
+"A number of JMS operations are not container specific, and so should be "
+"provided via the SPI <literal>JmsServices</literal>. JMS does not specify "
+"how to obtain a <literal>ConnectionFactory</literal> so the SPI provides a "
+"method which should be used to look up a factory. Web Beans also delegates "
+"<literal>Destination</literal> lookup to the container via the SPI."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:178
+#, fuzzy, no-c-format
+msgid "Resource Services"
+msgstr "資源載入"
+
+#. Tag: para
+#: ri-spi.xml:180
+#, no-c-format
+msgid ""
+"The resolution of <literal>@Resource</literal> (for injection into simple "
+"beans) and the resolution of resources (for injection as a Java EE resource) "
+"is delegated to the container. You must provide an implementation of "
+"<literal>ResourceServices</literal> which provides these operations. For "
+"resolving the <literal>@Resource</literal> injection, Web Beans will provide "
+"the <literal>InjectionPoint</literal>; and for Java EE resources, the "
+"<literal>jndiName</literal> or <literal>mappedName</literal> will be "
+"provided."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:194
+#, no-c-format
+msgid "Web Services"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:196
+#, no-c-format
+msgid ""
+"The resolution of web service references (for injection as a Java EE "
+"resource) is delegated to the container. You must provide an implementation "
+"of <literal>WebServices</literal> whichprovides this operation. For "
+"resolving the Java EE resource, the <literal>jndiName</literal> or "
+"<literal>mappedName</literal> will be provided."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:207
+#, no-c-format
+msgid "The bean store"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:209
+#, no-c-format
+msgid ""
+"Web Beans uses a map like structure to store bean instances - <literal>org."
+"jboss.webbeans.context.api.BeanStore</literal>. You may find <literal>org."
+"jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore</literal> "
+"useful."
+msgstr ""
+
+#. Tag: title
+#: ri-spi.xml:219
+#, no-c-format
 msgid "The application context"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:149
+#: ri-spi.xml:221
 #, no-c-format
 msgid ""
 "Web Beans expects the Application Server or other container to provide the "
 "storage for each application's context. The <literal>org.jboss.webbeans."
 "context.api.BeanStore</literal> should be implemented to provide an "
-"application scoped storage. You may find <literal>org.jboss.webbeans.context."
-"api.helpers.ConcurrentHashMapBeanStore</literal> useful."
+"application scoped storage."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:162
+#: ri-spi.xml:231
 #, no-c-format
 msgid "Bootstrap and shutdown"
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:163
+#: ri-spi.xml:232
 #, no-c-format
 msgid ""
 "The <literal>org.jboss.webbeans.bootstrap.api.Bootstrap</literal> interface "
@@ -491,7 +564,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:172
+#: ri-spi.xml:241
 #, no-c-format
 msgid ""
 "The bootstrap is split into phases, bootstrap initialization and boot and "
@@ -502,20 +575,32 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:180
+#: ri-spi.xml:249
 #, no-c-format
 msgid ""
-"The bootstrap supports multiple environments. Different environments require "
-"different services to be present (for example servlet doesn't require "
-"transaction, EJB or JPA services). By default an EE environment is assumed, "
-"but you can adjust the environment by calling <literal>bootstrap."
-"setEnvironment()</literal>."
+"The bootstrap supports multiple environments. An environment is defined by "
+"an implementation of the <literal>Environment</literal> interface. A number "
+"of standard envrionments are built in as the enumeration "
+"<literal>Environments</literal>. Different environments require different "
+"services to be present (for example servlet doesn't require transaction, EJB "
+"or JPA services). By default an EE environment is assumed, but you can "
+"adjust the environment by calling <literal>bootstrap.setEnvironment()</"
+"literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:188
+#: ri-spi.xml:260
 #, no-c-format
 msgid ""
+"Web Beans uses a generic-typed service registry to allow services to be "
+"registered. All services implement the <literal>Service</literal> interface. "
+"The service registry allows services to be added and retrieved."
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:267
+#, no-c-format
+msgid ""
 "To initialize the bootstrap you call <literal>Bootstrap.initialize()</"
 "literal>. Before calling <literal>initialize()</literal>, you must register "
 "any services required by your environment. You can do this by calling "
@@ -524,7 +609,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:197
+#: ri-spi.xml:276
 #, no-c-format
 msgid ""
 "Having called <literal>initialize()</literal>, the <literal>Manager</"
@@ -533,101 +618,57 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:203
+#: ri-spi.xml:282
 #, no-c-format
 msgid "To boot the container you call <literal>Bootstrap.boot()</literal>."
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:207
+#: ri-spi.xml:286
 #, no-c-format
 msgid ""
-"To shutdown the container you call <literal>Bootstrap.shutdown()</literal>. "
-"This allows the container to perform any cleanup operations needed."
+"To shutdown the container you call <literal>Bootstrap.shutdown()</literal> "
+"or <literal>webBeansManager.shutdown()</literal>. This allows the container "
+"to perform any cleanup operations needed."
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:216
+#: ri-spi.xml:296
 #, no-c-format
 msgid "JNDI"
 msgstr "JNDI"
 
 #. Tag: para
-#: ri-spi.xml:218
-#, fuzzy, no-c-format
+#: ri-spi.xml:298
+#, no-c-format
 msgid ""
-"The Web Beans RI implements JNDI binding and lookup according to standards, "
-"however you may want to alter the binding and lookup (for example in an "
-"environment where JNDI isn't available). To do this, implement <literal>org."
-"jboss.webbeans.resources.spi.NamingContext</literal>:"
+"Web Beans delegates all JNDI operations to the container through the SPI."
 msgstr ""
-"Web Beans RI 會實做 JNDI 綁定並依照標準來進行搜尋,不過您可能在某些情況下會希"
-"望修改綁定和搜尋(比方說在一個 JNDI 無法使用的環境下)。若要如此,請實做 "
-"<literal>org.jboss.webbeans.spi.resources.NamingContext</literal>:"
 
-#. Tag: programlisting
-#: ri-spi.xml:226
+#. Tag: para
+#: ri-spi.xml:304
 #, no-c-format
 msgid ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
+"A number of the SPI interface require JNDI lookup, and the class "
+"<literal>AbstractResourceServices</literal> provides JNDI/Java EE spec "
+"compliant lookup methods."
 msgstr ""
-"<![CDATA[public interface NamingContext extends Serializable {\n"
-"   \n"
-"   /**\n"
-"    * Typed JNDI lookup\n"
-"    * \n"
-"    * @param <T> The type\n"
-"    * @param name The JNDI name\n"
-"    * @param expectedType The expected type\n"
-"    * @return The object\n"
-"    */\n"
-"   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
-"\n"
-"   /**\n"
-"    * Binds an item to JNDI\n"
-"    * \n"
-"    * @param name The key to bind under\n"
-"    * @param value The item to bind\n"
-"    */\n"
-"   public void bind(String name, Object value);\n"
-"   \n"
-"}]]>"
 
 #. Tag: title
-#: ri-spi.xml:231
+#: ri-spi.xml:315
 #, no-c-format
 msgid "Resource loading"
 msgstr "資源載入"
 
 #. Tag: para
-#: ri-spi.xml:233
-#, no-c-format
+#: ri-spi.xml:317
+#, fuzzy, no-c-format
 msgid ""
-"The Web Beans RI needs to load classes and resources from the classpath at "
-"various times. By default, they are loaded from the same classloader that "
-"was used to load the RI, however this may not be correct for some "
-"environments. If this is case, you can implement <literal>org.jboss.webbeans."
-"spi.ResourceLoader</literal>:"
+"Web Beans needs to load classes and resources from the classpath at various "
+"times. By default, they are loaded from the Thread Context ClassLoader if "
+"available, if not the same classloader that was used to load Web Beans, "
+"however this may not be correct for some environments. If this is case, you "
+"can implement <literal>org.jboss.webbeans.spi.ResourceLoader</literal>:"
 msgstr ""
 "Web Beans RI 需要在各個時段由 classpath 載入類別和資源。就預設值,它們會被由"
 "和使用來載入 RI 相同的 classloader 所載入,不過這對於某些環境來說可能不是不正"
@@ -635,7 +676,7 @@
 "literal>:"
 
 #. Tag: programlisting
-#: ri-spi.xml:241
+#: ri-spi.xml:326
 #, no-c-format
 msgid ""
 "<![CDATA[\n"
@@ -699,13 +740,13 @@
 "         ]]>"
 
 #. Tag: title
-#: ri-spi.xml:246
+#: ri-spi.xml:331
 #, fuzzy, no-c-format
 msgid "Servlet injection"
 msgstr "Servlet listener"
 
 #. Tag: para
-#: ri-spi.xml:248
+#: ri-spi.xml:333
 #, no-c-format
 msgid ""
 "Java EE / Servlet does not provide any hooks which can be used to provide "
@@ -714,7 +755,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:254
+#: ri-spi.xml:339
 #, no-c-format
 msgid ""
 "To be compliant with JSR-299, the container should request servlet injection "
@@ -723,7 +764,7 @@
 msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:260
+#: ri-spi.xml:345
 #, no-c-format
 msgid ""
 "To perform injection on a servlet call <literal>WebBeansManager.injectServlet"
@@ -732,13 +773,13 @@
 msgstr ""
 
 #. Tag: title
-#: ri-spi.xml:271
+#: ri-spi.xml:356
 #, no-c-format
 msgid "The contract with the container"
 msgstr "與 container 的合同"
 
 #. Tag: para
-#: ri-spi.xml:273
+#: ri-spi.xml:358
 #, no-c-format
 msgid ""
 "There are a number of requirements that the Web Beans RI places on the "
@@ -746,13 +787,13 @@
 msgstr "Web Bean RI 對於 container 有些需求以便達到 API 實做之外的正確的功能。"
 
 #. Tag: term
-#: ri-spi.xml:281
+#: ri-spi.xml:366
 #, no-c-format
 msgid "Classloader isolation"
 msgstr "Classloader 隔離"
 
 #. Tag: para
-#: ri-spi.xml:285
+#: ri-spi.xml:370
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans RI into an environment that supports "
@@ -764,13 +805,13 @@
 "Web Bean 應用程式透過自動的方式,或是透過用戶配置來啟用 classloader 隔離。"
 
 #. Tag: term
-#: ri-spi.xml:294
-#, fuzzy, no-c-format
-msgid "Servlet listener and filters"
-msgstr "Servlet listener"
+#: ri-spi.xml:379
+#, no-c-format
+msgid "Servlet"
+msgstr ""
 
 #. Tag: para
-#: ri-spi.xml:298
+#: ri-spi.xml:383
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a Servlet environment you must "
@@ -782,11 +823,31 @@
 "Web Bean 應用程式透過自動的方式,或是用戶配置來將 <literal>org.jboss."
 "webbeans.servlet.WebBeansListener</literal> 註冊為一個 Servlet listener,"
 
+#. Tag: term
+#: ri-spi.xml:394
+#, no-c-format
+msgid "<term>JSF</term>"
+msgstr ""
+
 #. Tag: para
-#: ri-spi.xml:307
+#: ri-spi.xml:399
 #, fuzzy, no-c-format
 msgid ""
 "If you are integrating the Web Beans into a JSF environment you must "
+"register <literal>org.jboss.webbeans.jsf.WebBeansPhaseListener</literal> as "
+"a phase listener, and <literal>org.jboss.webbeans.el.WebBeansELREsolver</"
+"literal> as an EL resolver, either automatically, or through user "
+"configuration, for each Web Beans application which uses JSF."
+msgstr ""
+"若您要將 Web Bean 整合入一個 Servlet 環境中,您就必須為各個使用 Servlet 的 "
+"Web Bean 應用程式透過自動的方式,或是用戶配置來將 <literal>org.jboss."
+"webbeans.servlet.WebBeansListener</literal> 註冊為一個 Servlet listener,"
+
+#. Tag: para
+#: ri-spi.xml:410
+#, fuzzy, no-c-format
+msgid ""
+"If you are integrating the Web Beans into a JSF environment you must "
 "register <literal>org.jboss.webbeans.servlet.ConversationPropagationFilter</"
 "literal> as a Servlet listener, either automatically, or through user "
 "configuration, for each Web Beans application which uses JSF. This filter "
@@ -796,14 +857,20 @@
 "Web Bean 應用程式透過自動的方式,或是用戶配置來將 <literal>org.jboss."
 "webbeans.servlet.WebBeansListener</literal> 註冊為一個 Servlet listener,"
 
+#. Tag: para
+#: ri-spi.xml:421
+#, no-c-format
+msgid "Web Beans only supports JSF 1.2 and above."
+msgstr ""
+
 #. Tag: term
-#: ri-spi.xml:319
+#: ri-spi.xml:428
 #, no-c-format
 msgid "Session Bean Interceptor"
 msgstr "Session Bean 攔截器"
 
 #. Tag: para
-#: ri-spi.xml:323
+#: ri-spi.xml:432
 #, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an EJB environment you must "
@@ -818,7 +885,7 @@
 "註冊為一個 EJB 攔截器。"
 
 #. Tag: para
-#: ri-spi.xml:333
+#: ri-spi.xml:442
 #, no-c-format
 msgid ""
 "You must register the <literal>SessionBeanInterceptor</literal> as the inner "
@@ -826,13 +893,13 @@
 msgstr ""
 
 #. Tag: term
-#: ri-spi.xml:341
+#: ri-spi.xml:450
 #, fuzzy, no-c-format
 msgid "The <literal>webbeans-core.jar</literal>"
 msgstr "<literal>webbeans-ri.jar</literal>"
 
 #. Tag: para
-#: ri-spi.xml:345
+#: ri-spi.xml:454
 #, fuzzy, no-c-format
 msgid ""
 "If you are integrating the Web Beans into an environment that supports "
@@ -844,6 +911,127 @@
 "<literal>webbeans-ri.jar</literal> 插入應用程式隔離的 classholder 中。它無法"
 "藉由共享的 classloader 來被載入。"
 
+#. Tag: term
+#: ri-spi.xml:464
+#, no-c-format
+msgid "Binding the manager in JNDI"
+msgstr ""
+
+#. Tag: para
+#: ri-spi.xml:468
+#, no-c-format
+msgid ""
+"You should bind a <literal>Reference</literal> to the Manager "
+"<literal>ObjectFactory</literal> into JNDI at <literal>java:app/Manager</"
+"literal>. The type should be <literal>javax.inject.manager.Manager</literal> "
+"and the factory class is <literal>org.jboss.webbeans.resources."
+"ManagerObjectFactory</literal>"
+msgstr ""
+
+#~ msgid ""
+#~ "It should be possible to run Web Beans in an SE environment, but you'll "
+#~ "to do more work, adding your own contexts and lifecycle. The Web Beans RI "
+#~ "currently doesn't expose lifecycle extension points, so you would have to "
+#~ "code directly against Web Beans RI classes."
+#~ msgstr ""
+#~ "您可在一個 SE 環境下執行 Web Bean,不過您必須進行較多步驟,包括新增您自己"
+#~ "的 context 和生命週期。Web Bean RI 目前並不會顯示生命週期的延伸點,因此您"
+#~ "必須針對於 Web Bean RI 的 class 來直接地進行程式撰寫。"
+
+#~ msgid ""
+#~ "All interfaces in the SPI support the decorator pattern and provide a "
+#~ "<literal>Forwarding</literal> class."
+#~ msgstr ""
+#~ "SPI 中所有的介面都支援裝飾器模式並提供了一個 <literal>Forwarding</"
+#~ "literal> class。"
+
+#, fuzzy
+#~ msgid ""
+#~ "<![CDATA[public interface EjbServices\n"
+#~ "{\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Gets a descriptor for each EJB in the application\n"
+#~ "    * \n"
+#~ "    * @return The bean class to descriptor map \n"
+#~ "    */\n"
+#~ "   public Iterable<EjbDescriptor<?>> discoverEjbs();]]>"
+#~ msgstr ""
+#~ "<![CDATA[public interface EjbDiscovery\n"
+#~ "{\n"
+#~ "   public static final String PROPERTY_NAME = EjbDiscovery.class.getName"
+#~ "();\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Gets a descriptor for each EJB in the application\n"
+#~ "    * \n"
+#~ "    * @return The bean class to descriptor map \n"
+#~ "    */\n"
+#~ "   public Iterable<EjbDescriptor<?>> discoverEjbs();\n"
+#~ "   \n"
+#~ "}]]>"
+
+#, fuzzy
+#~ msgid ""
+#~ "The Web Beans RI implements JNDI binding and lookup according to "
+#~ "standards, however you may want to alter the binding and lookup (for "
+#~ "example in an environment where JNDI isn't available). To do this, "
+#~ "implement <literal>org.jboss.webbeans.resources.spi.NamingContext</"
+#~ "literal>:"
+#~ msgstr ""
+#~ "Web Beans RI 會實做 JNDI 綁定並依照標準來進行搜尋,不過您可能在某些情況下"
+#~ "會希望修改綁定和搜尋(比方說在一個 JNDI 無法使用的環境下)。若要如此,請實"
+#~ "做 <literal>org.jboss.webbeans.spi.resources.NamingContext</literal>:"
+
+#~ msgid ""
+#~ "<![CDATA[public interface NamingContext extends Serializable {\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Typed JNDI lookup\n"
+#~ "    * \n"
+#~ "    * @param <T> The type\n"
+#~ "    * @param name The JNDI name\n"
+#~ "    * @param expectedType The expected type\n"
+#~ "    * @return The object\n"
+#~ "    */\n"
+#~ "   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
+#~ "\n"
+#~ "   /**\n"
+#~ "    * Binds an item to JNDI\n"
+#~ "    * \n"
+#~ "    * @param name The key to bind under\n"
+#~ "    * @param value The item to bind\n"
+#~ "    */\n"
+#~ "   public void bind(String name, Object value);\n"
+#~ "   \n"
+#~ "}]]>"
+#~ msgstr ""
+#~ "<![CDATA[public interface NamingContext extends Serializable {\n"
+#~ "   \n"
+#~ "   /**\n"
+#~ "    * Typed JNDI lookup\n"
+#~ "    * \n"
+#~ "    * @param <T> The type\n"
+#~ "    * @param name The JNDI name\n"
+#~ "    * @param expectedType The expected type\n"
+#~ "    * @return The object\n"
+#~ "    */\n"
+#~ "   public <T> T lookup(String name, Class<? extends T> expectedType);\n"
+#~ "\n"
+#~ "   /**\n"
+#~ "    * Binds an item to JNDI\n"
+#~ "    * \n"
+#~ "    * @param name The key to bind under\n"
+#~ "    * @param value The item to bind\n"
+#~ "    */\n"
+#~ "   public void bind(String name, Object value);\n"
+#~ "   \n"
+#~ "}]]>"
+
+#, fuzzy
+#~ msgid "Servlet listener and filters"
+#~ msgstr "Servlet listener"
+
 #~ msgid "EJB Discovery"
 #~ msgstr "EJB Discovery"
 

Deleted: doc/trunk/reference/zh-TW/ri.po
===================================================================
--- doc/trunk/reference/zh-TW/ri.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/zh-TW/ri.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -1,1592 +0,0 @@
-# translation of ri.po to Traditional Chinese
-# Language zh-TW translations for Introduction_to_Web_Beans package.
-#
-# Automatically generated, 2009.
-# Terry Chuang <tchuang at redhat.com>, 2009.
-msgid ""
-msgstr ""
-"Project-Id-Version: ri\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-04-15 18:48+0000\n"
-"PO-Revision-Date: 2009-01-19 18:21+1000\n"
-"Last-Translator: Terry Chuang <tchuang at redhat.com>\n"
-"Language-Team: Traditional Chinese <zh at li.org>\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
-#: ri.xml:4
-#, fuzzy, no-c-format
-msgid "Web Beans, the Reference Implementation of JSR-299"
-msgstr "Web Bean 參照實做"
-
-#. Tag: para
-#: ri.xml:6
-#, fuzzy, no-c-format
-msgid ""
-"The Web Beans is being developed at <ulink url=\"http://seamframework.org/"
-"WebBeans\">the Seam project</ulink>. You can download the latest developer "
-"release of Web Beans from the <ulink url=\"http://seamframework.org/Download"
-"\">the downloads page</ulink>."
-msgstr ""
-"Web Bean 參照實作(Web Beans Reference Implementation)開發於 <ulink url="
-"\"http://seamframework.org/WebBeans\">the Seam project</ulink>。您可藉由 "
-"<ulink url=\"http://seamframework.org/Download\">the downloads page</ulink> "
-"來下載最新開發人員版本的 Web Bean。"
-
-#. Tag: para
-#: ri.xml:13
-#, fuzzy, no-c-format
-msgid ""
-"Web Beans comes with a two deployable example applications: "
-"<literal>webbeans-numberguess</literal>, a war example, containing only "
-"simple beans, and <literal>webbeans-translator</literal> an ear example, "
-"containing enterprise beans. There are also two variations on the "
-"numberguess example, the tomcat example (suitable for deployment to Tomcat) "
-"and the jsf2 example, which you can use if you are running JSF2. To run the "
-"examples you'll need the following:"
-msgstr ""
-"Web Bean RI 包含了兩個可建置的範例應用程式:<literal>webbeans-numberguess</"
-"literal>,這是個 war 範例,並且只包含著基本的 bean,以及 <literal>webbeans-"
-"translator</literal>,這是個 ear 範例,並包含著企業級的 bean。若要執行這些範"
-"例,您將需要滿足下列需求:"
-
-#. Tag: para
-#: ri.xml:25
-#, fuzzy, no-c-format
-msgid "the latest release of Web Beans,"
-msgstr "最新版本的 Web Beans RI、"
-
-#. Tag: para
-#: ri.xml:28
-#, fuzzy, no-c-format
-msgid "JBoss AS 5.0.1.GA, or"
-msgstr "JBoss AS 5.0.0.GA,以及"
-
-#. Tag: para
-#: ri.xml:31
-#, no-c-format
-msgid "Apache Tomcat 6.0.x, and"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:34
-#, no-c-format
-msgid "Ant 1.7.0."
-msgstr "Ant 1.7.0。"
-
-#. Tag: title
-#: ri.xml:39
-#, no-c-format
-msgid "Using JBoss AS 5"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:41
-#, fuzzy, no-c-format
-msgid ""
-"You'll need to download JBoss AS 5.0.1.GA from <ulink url=\"http://www.jboss."
-"org/jbossas/downloads/\">jboss.org</ulink>, and unzip it. For example:"
-msgstr ""
-"目前,Web Beans RI 只能在 JBoss Application Server 5 上執行。您將需要由 "
-"<ulink url=\"http://www.jboss.org/jbossas/downloads/\">jboss.org</ulink> 來下"
-"載 JBoss AS 5.0.0.GA,然後再將它解壓縮。例如:"
-
-#. Tag: programlisting
-#: ri.xml:47
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.1.GA.zip]]>"
-msgstr ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.0.GA.zip]]>"
-
-#. Tag: para
-#: ri.xml:49 ri.xml:170
-#, fuzzy, no-c-format
-msgid ""
-"Next, download Web Beans from <ulink url=\"http://seamframework.org/Download"
-"\">seamframework.org</ulink>, and unzip it. For example"
-msgstr ""
-"接下來,請由 <ulink url=\"http://seamframework.org/Download\">seamframework."
-"org</ulink> 下載 Web Beans RI 並將它解壓縮。例如"
-
-#. Tag: programlisting
-#: ri.xml:55 ri.xml:176
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-$VERSION.zip]]>"
-msgstr ""
-"<![CDATA[$ cd ~/\n"
-"$ unzip ~/webbeans-1.0.0.ALPHA1.zip]]>"
-
-#. Tag: para
-#: ri.xml:58
-#, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where JBoss is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>jboss.home</literal> "
-"property. For example:"
-msgstr ""
-"接下來,我們需要讓 Web Bean 知道 JBoss 的位置在哪裡。請編輯 <literal>jboss-"
-"as/build.properties</literal> 然後設置 <literal>jboss.home</literal> 內容。例"
-"如:"
-
-#. Tag: programlisting
-#: ri.xml:64
-#, fuzzy, no-c-format
-msgid "jboss.home=/Applications/jboss-5.0.1.GA"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:66
-#, fuzzy, no-c-format
-msgid ""
-"To install Web Beans, you'll need Ant 1.7.0 installed, and the "
-"<literal>ANT_HOME</literal> environment variable set. For example:"
-msgstr ""
-"若要安裝更新,您將需要先安裝 Ant 1.7.0,並設置 <literal>ANT_HOME</literal> 環"
-"境變數。例如:"
-
-#. Tag: programlisting
-#: ri.xml:71
-#, no-c-format
-msgid ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-msgstr ""
-"$ unzip apache-ant-1.7.0.zip\n"
-"$ export ANT_HOME=~/apache-ant-1.7.0"
-
-#. Tag: para
-#: ri.xml:73
-#, fuzzy, no-c-format
-msgid ""
-"Then, you can install the update. The update script will use Maven to "
-"download Web Beans automatically."
-msgstr ""
-"接下來,您便可安裝更新。更新 script 將會使用 Maven 來自動地下載 Web Bean 以"
-"及 EJB3。"
-
-#. Tag: programlisting
-#: ri.xml:78
-#, fuzzy, no-c-format
-msgid ""
-"$ cd webbeans-$VERSION/jboss-as\n"
-"$ ant update"
-msgstr ""
-"$ cd webbeans-1.0.0.ALPHA1/jboss-as\n"
-"$ ant update"
-
-#. Tag: para
-#: ri.xml:80
-#, no-c-format
-msgid "Now, you're ready to deploy your first example!"
-msgstr "現在,您已準備好建置您的第一個範例!"
-
-#. Tag: para
-#: ri.xml:85
-#, fuzzy, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for JBoss AS, "
-"these are:"
-msgstr "這些範例的建置 script 提供了一些目標,它們包含了:"
-
-#. Tag: para
-#: ri.xml:91
-#, no-c-format
-msgid "<literal>ant restart</literal> - deploy the example in exploded format"
-msgstr "<literal>ant restart</literal> - 以分解的格式來建置範例"
-
-#. Tag: para
-#: ri.xml:97
-#, no-c-format
-msgid ""
-"<literal>ant explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-"<literal>ant explode</literal> - 在不重新建置的情況下更新一個已分解的範例"
-
-#. Tag: para
-#: ri.xml:103
-#, no-c-format
-msgid ""
-"<literal>ant deploy</literal> - deploy the example in compressed jar format"
-msgstr "<literal>ant deploy</literal> - 以 jar 格式來建置範例"
-
-#. Tag: para
-#: ri.xml:108
-#, no-c-format
-msgid "<literal>ant undeploy</literal> - remove the example from the server"
-msgstr "<literal>ant undeploy</literal> - 將範例由伺服器中移除"
-
-#. Tag: para
-#: ri.xml:113
-#, no-c-format
-msgid "<literal>ant clean</literal> - clean the example"
-msgstr "<literal>ant clean</literal> - 清除範例"
-
-#. Tag: para
-#: ri.xml:120
-#, no-c-format
-msgid "To deploy the numberguess example:"
-msgstr "若要建置 numberguess 範例:"
-
-#. Tag: programlisting
-#: ri.xml:124
-#, no-c-format
-msgid ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-msgstr ""
-"$ cd examples/numberguess\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:126
-#, no-c-format
-msgid "Start JBoss AS:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:130
-#, fuzzy, no-c-format
-msgid "$ /Application/jboss-5.0.0.GA/bin/run.sh"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:133
-#, no-c-format
-msgid "If you use Windows, use the <literal>run.bat</literal>script."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:138 ri.xml:240
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and enjoy hours of fun at <ulink url="
-"\"http://localhost:8080/webbeans-numberguess\"></ulink>!"
-msgstr ""
-"請等待應用程式的建置,然後在 <ulink url=\"http://localhost:8080/webbeans-"
-"numberguess\"></ulink> 花上幾個小時!"
-
-#. Tag: para
-#: ri.xml:143
-#, fuzzy, no-c-format
-msgid ""
-"Web Beans includes a second simple example that will translate your text "
-"into Latin. The numberguess example is a war example, and uses only simple "
-"beans; the translator example is an ear example, and includes enterprise "
-"beans, packaged in an EJB module. To try it out:"
-msgstr ""
-"Web Bean RI 包含了第二個基本範例,它可將您的文字轉譯為拉丁文。numberguess 範"
-"例為一個 war 範例,並且只使用基本的 bean;轉譯器範例則為 ear 範例,並且包含著"
-"企業級的 bean,封裝於一個 EJB 模組中。若要嘗試:"
-
-#. Tag: programlisting
-#: ri.xml:150
-#, no-c-format
-msgid ""
-"$ cd examples/translator\n"
-"ant deploy"
-msgstr ""
-"$ cd examples/translator\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:152
-#, no-c-format
-msgid ""
-"Wait for the application to deploy, and visit <ulink url=\"http://"
-"localhost:8080/webbeans-translator\"></ulink>!"
-msgstr ""
-"請等待應用程式的建置並進入 <ulink url=\"http://localhost:8080/webbeans-"
-"translator\"></ulink>!"
-
-#. Tag: title
-#: ri.xml:160
-#, no-c-format
-msgid "Using Apache Tomcat 6.0"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:162
-#, fuzzy, no-c-format
-msgid ""
-"You'll need to download Tomcat 6.0.18 or later from <ulink url=\"http://"
-"tomcat.apache.org/download-60.cgi\">tomcat.apache.org</ulink>, and unzip it. "
-"For example:"
-msgstr ""
-"接下來,請由 <ulink url=\"http://seamframework.org/Download\">seamframework."
-"org</ulink> 下載 Web Beans RI 並將它解壓縮。例如"
-
-#. Tag: programlisting
-#: ri.xml:168
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/apache-tomcat-6.0.18.zip]]>"
-msgstr ""
-"<![CDATA[$ cd /Applications\n"
-"$ unzip ~/jboss-5.0.0.GA.zip]]>"
-
-#. Tag: para
-#: ri.xml:178
-#, fuzzy, no-c-format
-msgid ""
-"Next, we need to tell Web Beans where Tomcat is located. Edit <literal>jboss-"
-"as/build.properties</literal> and set the <literal>tomcat.home</literal> "
-"property. For example:"
-msgstr ""
-"接下來,我們需要讓 Web Bean 知道 JBoss 的位置在哪裡。請編輯 <literal>jboss-"
-"as/build.properties</literal> 然後設置 <literal>jboss.home</literal> 內容。例"
-"如:"
-
-#. Tag: programlisting
-#: ri.xml:184
-#, fuzzy, no-c-format
-msgid "tomcat.home=/Applications/apache-tomcat-6.0.18"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:187
-#, fuzzy, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets for Tomcat, "
-"these are:"
-msgstr "這些範例的建置 script 提供了一些目標,它們包含了:"
-
-#. Tag: para
-#: ri.xml:193
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.restart</literal> - deploy the example in exploded format"
-msgstr "<literal>ant restart</literal> - 以分解的格式來建置範例"
-
-#. Tag: para
-#: ri.xml:199
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.explode</literal> - update an exploded example, without "
-"restarting the deployment"
-msgstr ""
-"<literal>ant explode</literal> - 在不重新建置的情況下更新一個已分解的範例"
-
-#. Tag: para
-#: ri.xml:205
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.deploy</literal> - deploy the example in compressed jar "
-"format"
-msgstr "<literal>ant deploy</literal> - 以 jar 格式來建置範例"
-
-#. Tag: para
-#: ri.xml:210
-#, fuzzy, no-c-format
-msgid ""
-"<literal>ant tomcat.undeploy</literal> - remove the example from the server"
-msgstr "<literal>ant undeploy</literal> - 將範例由伺服器中移除"
-
-#. Tag: para
-#: ri.xml:215
-#, fuzzy, no-c-format
-msgid "<literal>ant tomcat.clean</literal> - clean the example"
-msgstr "<literal>ant clean</literal> - 清除範例"
-
-#. Tag: para
-#: ri.xml:222
-#, fuzzy, no-c-format
-msgid "To deploy the numberguess example for tomcat:"
-msgstr "若要建置 numberguess 範例:"
-
-#. Tag: programlisting
-#: ri.xml:226
-#, fuzzy, no-c-format
-msgid ""
-"$ cd examples/tomcat\n"
-"ant tomcat.deploy"
-msgstr ""
-"$ cd examples/translator\n"
-"ant deploy"
-
-#. Tag: para
-#: ri.xml:228
-#, no-c-format
-msgid "Start Tomcat:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:232
-#, fuzzy, no-c-format
-msgid "$ /Applications/apache-tomcat-6.0.18/bin/startup.sh"
-msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
-
-#. Tag: para
-#: ri.xml:235
-#, no-c-format
-msgid "If you use Windows, use the <literal>startup.bat</literal>script."
-msgstr ""
-
-#. Tag: title
-#: ri.xml:248
-#, no-c-format
-msgid "Using GlassFish"
-msgstr ""
-
-#. Tag: para
-#: ri.xml:250
-#, no-c-format
-msgid "TODO"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:254
-#, no-c-format
-msgid "The numberguess example"
-msgstr "numberguess 範例"
-
-#. Tag: para
-#: ri.xml:256
-#, no-c-format
-msgid ""
-"In the numberguess application you get given 10 attempts to guess a number "
-"between 1 and 100. After each attempt, you will be told whether you are too "
-"high, or too low."
-msgstr ""
-"在 numberguess 應用程式中,您將會有 10 次機會來猜一個介於 1 至 100 之間的號"
-"碼。每當猜過一遍,系統便會告知您您所輸入的數字是否太大或太小。"
-
-#. Tag: para
-#: ri.xml:262
-#, no-c-format
-msgid ""
-"The numberguess example is comprised of a number of Web Beans, configuration "
-"files, and Facelet JSF pages, packaged as a war. Let's start with the "
-"configuration files."
-msgstr ""
-"numberguess 範例包含了 Web Bean 的一個數字、配置檔案,以及 Facelet JSF 頁面,"
-"並且封裝為 war。讓我們先從配置檔案開始。"
-
-#. Tag: para
-#: ri.xml:268
-#, no-c-format
-msgid ""
-"All the configuration files for this example are located in <literal>WEB-INF/"
-"</literal>, which is stored in <literal>WebContent</literal> in the source "
-"tree. First, we have <literal>faces-config.xml</literal>, in which we tell "
-"JSF to use Facelets:"
-msgstr ""
-"此範例的所有配置檔案都位於 <literal>WEB-INF/</literal> 中,並且它又儲存在來源"
-"樹中的 <literal>WebContent</literal> 裡。首先,我們有個可使用來指定 JSF 來使"
-"用 Facelet 的 <literal>faces-config.xml</literal>:"
-
-#. Tag: programlisting
-#: ri.xml:276
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-msgstr ""
-"<![CDATA[<?xml version='1.0' encoding='UTF-8'?>\n"
-"<faces-config version=\"1.2\"\n"
-"              xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"              xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd\">\n"
-"    \n"
-"    <application>\n"
-"        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>\n"
-"    </application>\n"
-"\n"
-"</faces-config>]]>"
-
-#. Tag: para
-#: ri.xml:278
-#, no-c-format
-msgid ""
-"There is an empty <literal>web-beans.xml</literal> file, which marks this "
-"application as a Web Beans application."
-msgstr ""
-"有個空的 <literal>web-beans.xml</literal> 檔案,它會將此應用程式標記為一個 "
-"Web Bean 應用程式。"
-
-#. Tag: para
-#: ri.xml:283
-#, no-c-format
-msgid "Finally there is <literal>web.xml</literal>:"
-msgstr "最後為 <literal>web.xml</literal>:"
-
-#. Tag: section
-#: ri.xml:285
-#, fuzzy, no-c-format
-msgid ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
-"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
-"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
-"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
-"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
-"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
-"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
-"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
-"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
-"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
-"giving our source files (facelets) an extension of <literal>.xhtml</literal> "
-"</para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
-"session timeout of 10 minutes </para> </callout> </calloutlist> </"
-"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
-"Web Beans with any Servlet based web framework. </para> </note> <para> Let's "
-"take a look at the Facelet view: </para> <programlistingco> <areaspec> <area "
-"id=\"template\" coords=\"8\"/> <area id=\"messages\" coords=\"12\"/> <area "
-"id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords=\"25\"/> <area "
-"id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords=\"33\"/> </"
-"areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML "
-"1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional."
-"dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
-"number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
-"number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game."
-"biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
-"{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
-"<para> Facelets is a templating language for JSF, here we are wrapping our "
-"page in a template which defines the header. </para> </callout> <callout "
-"arearefs=\"messages\"> <para> There are a number of messages which can be "
-"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
-"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
-"range of numbers they can guess gets smaller - this sentance changes to make "
-"sure they know what range to guess in. </para> </callout> <callout arearefs="
-"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
-"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
-"range validator is used to make sure the user doesn't accidentally input a "
-"number outside of the range in which they can guess - if the validator "
-"wasn't here, the user might use up a guess on an out of range number. </"
-"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
-"must be a way for the user to send their guess to the server. Here we bind "
-"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
-"programlistingco>"
-msgstr ""
-"<programlistingco> <areaspec> <area id=\"faces.servlet\" coords=\"12\"/> "
-"<area id=\"faces.servlet.mapping\" coords=\"18\"/> <area id=\"faces.default."
-"suffix\" coords=\"23\"/> <area id=\"session.timeout\" coords=\"28\"/> <area "
-"id=\"webbeans.listener\" coords=\"32\"/> </areaspec> <programlisting><![CDATA"
-"[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"\n"
-"<web-app version=\"2.5\"\n"
-"    xmlns=\"http://java.sun.com/xml/ns/javaee\"\n"
-"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun."
-"com/xml/ns/javaee/web-app_2_5.xsd\">\n"
-"   \n"
-"   <display-name>Web Beans Numbergues example</display-name>\n"
-"\n"
-"   <!-- JSF -->\n"
-"\n"
-"   <servlet>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>\n"
-"      <load-on-startup>1</load-on-startup>\n"
-"   </servlet>\n"
-"\n"
-"   <servlet-mapping>\n"
-"      <servlet-name>Faces Servlet</servlet-name>\n"
-"      <url-pattern>*.jsf</url-pattern>\n"
-"   </servlet-mapping>\n"
-"   \n"
-"   <context-param>\n"
-"      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>\n"
-"      <param-value>.xhtml</param-value>\n"
-"   </context-param>\n"
-"\n"
-"   <session-config>\n"
-"      <session-timeout>10</session-timeout>\n"
-"   </session-config>\n"
-"\n"
-"</web-app>]]></programlisting> <calloutlist> <callout arearefs=\"faces."
-"servlet\"> <para> Enable and load the JSF servlet </para> </callout> "
-"<callout arearefs=\"faces.servlet.mapping\"> <para> Configure requests to "
-"<literal>.jsf</literal> pages to be handled by JSF </para> </callout> "
-"<callout arearefs=\"faces.default.suffix\"> <para> Tell JSF that we will be "
-"giving our source files (facelets) an extension of <literal>.jsf</literal> </"
-"para> </callout> <callout arearefs=\"session.timeout\"> <para> Configure a "
-"session timeout of 10 minutes </para> </callout> </calloutlist> </"
-"programlistingco> <note> <para> Whilst this demo is a JSF demo, you can use "
-"the Web Beans RI with any Servlet based web framework. </para> </note> "
-"<para> Let's take a look at the Facelet view: </para> <programlistingco> "
-"<areaspec> <area id=\"template\" coords=\"8\"/> <area id=\"messages\" coords="
-"\"12\"/> <area id=\"instructions\" coords=\"19\"/> <area id=\"guess\" coords="
-"\"25\"/> <area id=\"validator\" coords=\"30\"/> <area id=\"submit\" coords="
-"\"33\"/> </areaspec> <programlisting><![CDATA[<!DOCTYPE html PUBLIC \"-//"
-"W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/"
-"xhtml1-transitional.dtd\">\n"
-"<html xmlns=\"http://www.w3.org/1999/xhtml\"\n"
-"    xmlns:ui=\"http://java.sun.com/jsf/facelets\"\n"
-"    xmlns:h=\"http://java.sun.com/jsf/html\"\n"
-"    xmlns:f=\"http://java.sun.com/jsf/core\"\n"
-"    xmlns:s=\"http://jboss.com/products/seam/taglib\">\n"
-"\n"
-"  <ui:composition template=\"template.xhtml\">\n"
-"    <ui:define name=\"content\">\n"
-"       <h1>Guess a number...</h1>\n"
-"       <h:form id=\"NumberGuessMain\">\n"
-"          <div style=\"color: red\">\n"
-"             <h:messages id=\"messages\" globalOnly=\"false\"/>\n"
-"             <h:outputText id=\"Higher\" value=\"Higher!\" rendered=\"#{game."
-"number gt game.guess and game.guess ne 0}\"/>\n"
-"             <h:outputText id=\"Lower\" value=\"Lower!\" rendered=\"#{game."
-"number lt game.guess and game.guess ne 0}\"/>\n"
-"          </div>\n"
-"   \n"
-"          <div>\n"
-"             I'm thinking of a number between #{game.smallest} and #{game."
-"biggest}.\n"
-"             You have #{game.remainingGuesses} guesses.\n"
-"          </div>\n"
-"     \n"
-"          <div>\n"
-"             Your guess: \n"
-"             <h:inputText id=\"inputGuess\" \n"
-"                          value=\"#{game.guess}\" \n"
-"                          required=\"true\" \n"
-"                          size=\"3\" \n"
-"                          disabled=\"#{game.number eq game.guess}\">\n"
-"                <f:validateLongRange maximum=\"#{game.biggest}\" \n"
-"                                     minimum=\"#{game.smallest}\"/>\n"
-"             </h:inputText>\n"
-"            <h:commandButton id=\"GuessButton\"  \n"
-"                             value=\"Guess\" \n"
-"                             action=\"#{game.check}\" \n"
-"                             disabled=\"#{game.number eq game.guess}\"/>\n"
-"          </div>\n"
-"          <div>\n"
-"            <h:commandButton id=\"RestartButton\" value=\"Reset\" action=\"#"
-"{game.reset}\" immediate=\"true\" />\n"
-"          </div>\n"
-"       </h:form>\n"
-"    </ui:define>\n"
-"  </ui:composition>\n"
-"</html>]]></programlisting> <calloutlist> <callout arearefs=\"template\"> "
-"<para> Facelets is a templating language for JSF, here we are wrapping our "
-"page in a template which defines the header. </para> </callout> <callout "
-"arearefs=\"messages\"> <para> There are a number of messages which can be "
-"sent to the user, \"Higher!\", \"Lower!\" and \"Correct!\" </para> </"
-"callout> <callout arearefs=\"instructions\"> <para> As the user guesses, the "
-"range of numbers they can guess gets smaller - this sentance changes to make "
-"sure they know what range to guess in. </para> </callout> <callout arearefs="
-"\"guess\"> <para> This input field is bound to a Web Bean, using the value "
-"expression. </para> </callout> <callout arearefs=\"validator\"> <para> A "
-"range validator is used to make sure the user doesn't accidentally input a "
-"number outside of the range in which they can guess - if the validator "
-"wasn't here, the user might use up a guess on an out of range number. </"
-"para> </callout> <callout arearefs=\"submit\"> <para> And, of course, there "
-"must be a way for the user to send their guess to the server. Here we bind "
-"to an action method on the Web Bean. </para> </callout> </calloutlist> </"
-"programlistingco>"
-
-#. Tag: para
-#: ri.xml:387
-#, no-c-format
-msgid ""
-"The example exists of 4 classes, the first two of which are binding types. "
-"First, there is the <literal>@Random</literal> binding type, used for "
-"injecting a random number:"
-msgstr ""
-"範例存有 4 個類別,前兩個為綁定類型。首先,有個使用來注入亂數號碼的 "
-"<literal>@Random</literal> 綁定類型:"
-
-#. Tag: programlisting
-#: ri.xml:393
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-msgstr ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface Random {}]]>"
-
-#. Tag: para
-#: ri.xml:395
-#, no-c-format
-msgid ""
-"There is also the <literal>@MaxNumber</literal> binding type, used for "
-"injecting the maximum number that can be injected:"
-msgstr ""
-"還有個用來注入可注入之最大號碼的 <literal>@MaxNumber</literal> 綁定類型:"
-
-#. Tag: programlisting
-#: ri.xml:400
-#, no-c-format
-msgid ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-msgstr ""
-"<![CDATA[@Target( { TYPE, METHOD, PARAMETER, FIELD })\n"
-"@Retention(RUNTIME)\n"
-"@Documented\n"
-"@BindingType\n"
-"public @interface MaxNumber {}\n"
-"]]>"
-
-#. Tag: para
-#: ri.xml:402
-#, no-c-format
-msgid ""
-"The <literal>Generator</literal> class is responsible for creating the "
-"random number, via a producer method. It also exposes the maximum possible "
-"number via a producer method:"
-msgstr ""
-"<literal>Generator</literal> 類別負責透過產生器的方式來建立亂數號碼。它也會透"
-"過一個產生器的方式來顯示最大的可能號碼:"
-
-#. Tag: programlisting
-#: ri.xml:408
-#, no-c-format
-msgid ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System."
-"currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-msgstr ""
-"<![CDATA[@ApplicationScoped\n"
-"public class Generator {\n"
-"   \n"
-"   private java.util.Random random = new java.util.Random( System."
-"currentTimeMillis() );\n"
-"   \n"
-"   private int maxNumber = 100;\n"
-"   \n"
-"   java.util.Random getRandom()\n"
-"   {\n"
-"      return random;\n"
-"   }\n"
-"   \n"
-"   @Produces @Random int next() { \n"
-"      return getRandom().nextInt(maxNumber); \n"
-"   }\n"
-"   \n"
-"   @Produces @MaxNumber int getMaxNumber()\n"
-"   {\n"
-"      return maxNumber;\n"
-"   }\n"
-"\n"
-"}]]>"
-
-#. Tag: para
-#: ri.xml:410
-#, no-c-format
-msgid ""
-"You'll notice that the <literal>Generator</literal> is application scoped; "
-"therefore we don't get a different random each time."
-msgstr ""
-"您將會注意到 <literal>Generator</literal> 是屬於應用程式導向的;因此,我們不"
-"會每次都一定能得到不同的亂數號碼。"
-
-#. Tag: para
-#: ri.xml:415
-#, no-c-format
-msgid ""
-"The final Web Bean in the application is the session scoped <literal>Game</"
-"literal>."
-msgstr "應用程式中最後的 Web Bean 為 session 導向的 <literal>Game</literal>。"
-
-#. Tag: para
-#: ri.xml:420
-#, no-c-format
-msgid ""
-"You'll note that we've used the <literal>@Named</literal> annotation, so "
-"that we can use the bean through EL in the JSF page. Finally, we've used "
-"constructor injection to initialize the game with a random number. And of "
-"course, we need to tell the player when they've won, so we give feedback "
-"with a <literal>FacesMessage</literal>."
-msgstr ""
-"您將會注意到我們使用了 <literal>@Named</literal> 標記,如此一來我們便可在 "
-"JSF 頁面中的 EL 上使用這個 bean。最後,我們使用了 constructor injection 來利"
-"用亂數號碼來初始化了這個遊戲。當然,當玩家贏時我們將需要告知玩家,並藉由一個 "
-"<literal>FacesMessage</literal> 來給予回應。"
-
-#. Tag: programlisting
-#: ri.xml:428
-#, no-c-format
-msgid ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
-"(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new "
-"AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-msgstr ""
-"<![CDATA[package org.jboss.webbeans.examples.numberguess;\n"
-"\n"
-"\n"
-"import javax.annotation.PostConstruct;\n"
-"import javax.faces.application.FacesMessage;\n"
-"import javax.faces.context.FacesContext;\n"
-"import javax.webbeans.AnnotationLiteral;\n"
-"import javax.webbeans.Current;\n"
-"import javax.webbeans.Initializer;\n"
-"import javax.webbeans.Named;\n"
-"import javax.webbeans.SessionScoped;\n"
-"import javax.webbeans.manager.Manager;\n"
-"\n"
-"@Named\n"
-"@SessionScoped\n"
-"public class Game\n"
-"{\n"
-"   private int number;\n"
-"   \n"
-"   private int guess;\n"
-"   private int smallest;\n"
-"   private int biggest;\n"
-"   private int remainingGuesses;\n"
-"   \n"
-"   @Current Manager manager;\n"
-"   \n"
-"   public Game()\n"
-"   {\n"
-"   }\n"
-"   \n"
-"   @Initializer\n"
-"   Game(@MaxNumber int maxNumber)\n"
-"   {      \n"
-"      this.biggest = maxNumber;\n"
-"   }\n"
-"\n"
-"   public int getNumber()\n"
-"   {\n"
-"      return number;\n"
-"   }\n"
-"   \n"
-"   public int getGuess()\n"
-"   {\n"
-"      return guess;\n"
-"   }\n"
-"   \n"
-"   public void setGuess(int guess)\n"
-"   {\n"
-"      this.guess = guess;\n"
-"   }\n"
-"   \n"
-"   public int getSmallest()\n"
-"   {\n"
-"      return smallest;\n"
-"   }\n"
-"   \n"
-"   public int getBiggest()\n"
-"   {\n"
-"      return biggest;\n"
-"   }\n"
-"   \n"
-"   public int getRemainingGuesses()\n"
-"   {\n"
-"      return remainingGuesses;\n"
-"   }\n"
-"   \n"
-"   public String check()\n"
-"   {\n"
-"      if (guess>number)\n"
-"      {\n"
-"         biggest = guess - 1;\n"
-"      }\n"
-"      if (guess<number)\n"
-"      {\n"
-"         smallest = guess + 1;\n"
-"      }\n"
-"      if (guess == number)\n"
-"      {\n"
-"         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage"
-"(\"Correct!\"));\n"
-"      }\n"
-"      remainingGuesses--;\n"
-"      return null;\n"
-"   }\n"
-"   \n"
-"   @PostConstruct\n"
-"   public void reset()\n"
-"   {\n"
-"      this.smallest = 0;\n"
-"      this.guess = 0;\n"
-"      this.remainingGuesses = 10;\n"
-"      this.number = manager.getInstanceByType(Integer.class, new "
-"AnnotationLiteral<Random>(){});\n"
-"   }\n"
-"   \n"
-"}]]>"
-
-#. Tag: title
-#: ri.xml:431
-#, fuzzy, no-c-format
-msgid "The numberguess example for Tomcat"
-msgstr "numberguess 範例"
-
-#. Tag: para
-#: ri.xml:433
-#, no-c-format
-msgid ""
-"The numberguess for Tomcat differs in a couple of ways. Firstly, Web Beans "
-"should be deployed as a Web Application library in <literal>WEB-INF/lib</"
-"literal>. For your convenience we provide a single jar suitable for running "
-"Web Beans on Tomcat <literal>webbeans-tomcat.jar</literal>."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:442
-#, no-c-format
-msgid ""
-"Of course, you must also include JSF and EL, as well common annotations "
-"(<literal>jsr250-api.jar</literal>) which a JEE server includes by default."
-msgstr ""
-
-#. Tag: para
-#: ri.xml:449
-#, no-c-format
-msgid ""
-"Secondly, we need to explicitly specify the Tomcat servlet listener (used to "
-"boot Web Beans, and control it's interaction with requests) in <literal>web."
-"xml</literal>:"
-msgstr ""
-
-#. Tag: programlisting
-#: ri.xml:455
-#, no-c-format
-msgid ""
-"<![CDATA[<listener>\n"
-"   <listener-class>org.jboss.webbeans.environment.tomcat.Listener</listener-"
-"class>\n"
-"</listener>]]>"
-msgstr ""
-
-#. Tag: title
-#: ri.xml:461
-#, no-c-format
-msgid "The translator example"
-msgstr "轉譯器範例"
-
-#. Tag: para
-#: ri.xml:463
-#, no-c-format
-msgid ""
-"The translator example will take any sentences you enter, and translate them "
-"to Latin."
-msgstr "轉譯器範例能接受您所輸入的任何句子,然後將它們翻譯成拉丁文。"
-
-#. Tag: para
-#: ri.xml:468
-#, no-c-format
-msgid ""
-"The translator example is built as an ear, and contains EJBs. As a result, "
-"it's structure is more complex than the numberguess example."
-msgstr ""
-"轉換器範例被建置為一個 ear 並包含著 EJB。正因如此,它的結構比 numberguess 範"
-"例要複雜得多。"
-
-#. Tag: para
-#: ri.xml:474
-#, no-c-format
-msgid ""
-"EJB 3.1 and Jave EE 6 allow you to package EJBs in a war, which will make "
-"this structure much simpler!"
-msgstr ""
-"EJB 3.1 和 Jave EE 6 能讓您將 EJB 封裝為 war,並使得該結構變得更為簡樸!"
-
-#. Tag: para
-#: ri.xml:480
-#, no-c-format
-msgid ""
-"First, let's take a look at the ear aggregator, which is located in "
-"<literal>webbeans-translator-ear</literal> module. Maven automatically "
-"generates the <literal>application.xml</literal> for us:"
-msgstr ""
-"首先,讓我們先來看一下 ear 聚合器,它位於 <literal>webbeans-translator-ear</"
-"literal> 模組中。Maven 會自動地為我們產生 <literal>application.xml</"
-"literal>:"
-
-#. Tag: programlisting
-#: ri.xml:486
-#, no-c-format
-msgid ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-msgstr ""
-"<![CDATA[<plugin>\n"
-"   <groupId>org.apache.maven.plugins</groupId>\n"
-"   <artifactId>maven-ear-plugin</artifactId>\n"
-"   <configuration>\n"
-"      <modules>\n"
-"         <webModule>\n"
-"            <groupId>org.jboss.webbeans.examples.translator</groupId>\n"
-"            <artifactId>webbeans-translator-war</artifactId>\n"
-"            <contextRoot>/webbeans-translator</contextRoot>\n"
-"         </webModule>\n"
-"      </modules>\n"
-"   </configuration>\n"
-"</plugin>]]>"
-
-#. Tag: para
-#: ri.xml:488
-#, no-c-format
-msgid ""
-"Here we set the context path, which gives us a nice url (<ulink url=\"http://"
-"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
-"translator</ulink>)."
-msgstr ""
-"在此我們將設置 context 路徑,它能提供給我們一個網址(<ulink url=\"http://"
-"localhost:8080/webbeans-translator\">http://localhost:8080/webbeans-"
-"translator</ulink>)。"
-
-#. Tag: para
-#: ri.xml:494
-#, no-c-format
-msgid ""
-"If you aren't using Maven to generate these files, you would need "
-"<literal>META-INF/application.xml</literal>:"
-msgstr ""
-"若您不使用 Maven 來產生這些檔案,那麼您將需要 <literal>META-INF/application."
-"xml</literal>:"
-
-#. Tag: programlisting
-#: ri.xml:499
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web "
-"Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-msgstr ""
-"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-"<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n"
-"             xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"             xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://"
-"java.sun.com/xml/ns/javaee/application_5.xsd\"\n"
-"             version=\"5\">\n"
-"  <display-name>webbeans-translator-ear</display-name>\n"
-"  <description>Ear Example for the reference implementation of JSR 299: Web "
-"Beans</description>\n"
-"  \n"
-"  <module>\n"
-"    <web>\n"
-"      <web-uri>webbeans-translator.war</web-uri>\n"
-"      <context-root>/webbeans-translator</context-root>\n"
-"    </web>\n"
-"  </module>\n"
-"  <module>\n"
-"    <ejb>webbeans-translator.jar</ejb>\n"
-"  </module>\n"
-"</application>]]>"
-
-#. Tag: para
-#: ri.xml:502
-#, fuzzy, no-c-format
-msgid ""
-"Next, lets look at the war. Just as in the numberguess example, we have a "
-"<literal>faces-config.xml</literal> (to enable Facelets) and a <literal>web."
-"xml</literal> (to enable JSF) in <literal>WebContent/WEB-INF</literal>."
-msgstr ""
-"接下來,讓我們看一下 war。就和 numberguess 範例中一樣,我們在 "
-"<literal>WebContent/WEB-INF</literal> 中有個 <literal>faces-config.xml</"
-"literal>(用來啟用 Facelets)以及一個 <literal>web.xml</literal>(用來啟用 "
-"JSF)。"
-
-#. Tag: para
-#: ri.xml:509
-#, no-c-format
-msgid ""
-"More intersting is the facelet used to translate text. Just as in the "
-"numberguess example we have a template, which surrounds the form (ommitted "
-"here for brevity):"
-msgstr ""
-"還有更有趣的就是使用來轉換文字的 facelet。就和 numberguess 範例中一樣,我們有"
-"個圍繞著 form 的頁面格式(在此將省略不提):"
-
-#. Tag: programlisting
-#: ri.xml:515
-#, no-c-format
-msgid ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
-"required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
-"{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-msgstr ""
-"<![CDATA[<h:form id=\"NumberGuessMain\">\n"
-"            \n"
-"   <table>\n"
-"      <tr align=\"center\" style=\"font-weight: bold\" >\n"
-"         <td>\n"
-"            Your text\n"
-"         </td>\n"
-"         <td>\n"
-"            Translation\n"
-"         </td>\n"
-"      </tr>\n"
-"      <tr>\n"
-"         <td>\n"
-"            <h:inputTextarea id=\"text\" value=\"#{translator.text}\" "
-"required=\"true\" rows=\"5\" cols=\"80\" />\n"
-"         </td>\n"
-"         <td>\n"
-"            <h:outputText value=\"#{translator.translatedText}\" />\n"
-"         </td>\n"
-"      </tr>\n"
-"   </table>\n"
-"   <div>\n"
-"      <h:commandButton id=\"button\" value=\"Translate\" action=\"#"
-"{translator.translate}\"/>\n"
-"   </div>\n"
-"   \n"
-"</h:form>]]>"
-
-#. Tag: para
-#: ri.xml:517
-#, no-c-format
-msgid ""
-"The user can enter some text in the lefthand textarea, and hit the translate "
-"button to see the result to the right."
-msgstr ""
-"用戶可在左手邊的文字區域中輸入一些文字,然後點選轉譯按鈕並於右手邊的區域中查"
-"看結果。"
-
-#. Tag: para
-#: ri.xml:522
-#, no-c-format
-msgid ""
-"Finally, let's look at the ejb module, <literal>webbeans-translator-ejb</"
-"literal>. In <literal>src/main/resources/META-INF</literal> there is just an "
-"empty <literal>web-beans.xml</literal>, used to mark the archive as "
-"containing Web Beans."
-msgstr ""
-"最後,讓我們來看一下 ejb 模組 <literal>webbeans-translator-ejb</literal>。在 "
-"<literal>src/main/resources/META-INF</literal> 中只有一個用來將 archive 標記"
-"為包含著 Web Bean 的空 <literal>web-beans.xml</literal>。"
-
-#. Tag: para
-#: ri.xml:530
-#, no-c-format
-msgid ""
-"We've saved the most interesting bit to last, the code! The project has two "
-"simple beans, <literal>SentenceParser</literal> and <literal>TextTranslator</"
-"literal> and two enterprise beans, <literal>TranslatorControllerBean</"
-"literal> and <literal>SentenceTranslator</literal>. You should be getting "
-"quite familiar with what a Web Bean looks like by now, so we'll just "
-"highlight the most interesting bits here."
-msgstr ""
-"我們將最有趣的部份保留到了最後,那就是程式碼!該專案含有兩個基本的 bean,"
-"<literal>SentenceParser</literal> 和 <literal>TextTranslator</literal>,以及"
-"兩個企業級的 bean,<literal>TranslatorControllerBean</literal> 和 "
-"<literal>SentenceTranslator</literal>。到了現在您應該已經很熟悉 Web Bean 長得"
-"如何了,因此我們在此將只著重於其它較有趣的部份。"
-
-#. Tag: para
-#: ri.xml:540
-#, no-c-format
-msgid ""
-"Both <literal>SentenceParser</literal> and <literal>TextTranslator</literal> "
-"are dependent beans, and <literal>TextTranslator</literal> uses constructor "
-"initialization:"
-msgstr ""
-"<literal>SentenceParser</literal> 和 <literal>TextTranslator</literal> 兩者皆"
-"為相依性的 bean,並且 <literal>TextTranslator</literal> 使用了 constructor 初"
-"始化:"
-
-#. Tag: programlisting
-#: ri.xml:546
-#, no-c-format
-msgid ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator "
-"sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-msgstr ""
-"<![CDATA[public class TextTranslator { \n"
-"   private SentenceParser sentenceParser; \n"
-"   private Translator sentenceTranslator; \n"
-"   \n"
-"   @Initializer\n"
-"   TextTranslator(SentenceParser sentenceParser, Translator "
-"sentenceTranslator) \n"
-"   { \n"
-"      this.sentenceParser = sentenceParser; \n"
-"      this.sentenceTranslator = sentenceTranslator;]]>"
-
-#. Tag: para
-#: ri.xml:548
-#, no-c-format
-msgid ""
-"<literal>TextTranslator</literal> is a stateless bean (with a local business "
-"interface), where the magic happens - of course, we couldn't develop a full "
-"translator, but we gave it a good go!"
-msgstr ""
-"<literal>TextTranslator</literal> 是個無狀態的 bean(以及一個本地的商業介"
-"面)- 當然,我們無法開發一個完整的轉譯器。"
-
-#. Tag: para
-#: ri.xml:554
-#, no-c-format
-msgid ""
-"Finally, there is UI orientated controller, that collects the text from the "
-"user, and dispatches it to the translator. This is a request scoped, named, "
-"stateful session bean, which injects the translator."
-msgstr ""
-"最後,有個 UI 導向的控制器,它會藉由用戶收集文字然後將它發送給轉譯器。這是個"
-"請求導向、被命名,而有狀態的 session bean,並且會注入轉譯器。"
-
-#. Tag: programlisting
-#: ri.xml:560
-#, no-c-format
-msgid ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-msgstr ""
-"<![CDATA[@Stateful\n"
-"@RequestScoped\n"
-"@Named(\"translator\")\n"
-"public class TranslatorControllerBean implements TranslatorController\n"
-"{\n"
-"   \n"
-"   @Current TextTranslator translator;]]>"
-
-#. Tag: para
-#: ri.xml:562
-#, no-c-format
-msgid "The bean also has getters and setters for all the fields on the page."
-msgstr "這個 bean 針對於頁面上所有欄位都有 getter 與 setter。"
-
-#. Tag: para
-#: ri.xml:566
-#, no-c-format
-msgid "As this is a stateful session bean, we have to have a remove method:"
-msgstr ""
-"因為這是個 stateful(有狀態)的 session bean,因此我們必須要有個 remove "
-"method:"
-
-#. Tag: programlisting
-#: ri.xml:570
-#, no-c-format
-msgid ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-msgstr ""
-"<![CDATA[   @Remove\n"
-"   public void remove()\n"
-"   {\n"
-"      \n"
-"   }]]>"
-
-#. Tag: para
-#: ri.xml:572
-#, no-c-format
-msgid ""
-"The Web Beans manager will call the remove method for you when the bean is "
-"destroyed; in this case at the end of the request."
-msgstr ""
-"當 bean 被毀掉後,Web Bean 管理員會為您調用 remove 這個 method;在此情況下為"
-"請求結束之後。"
-
-#. Tag: para
-#: ri.xml:578
-#, fuzzy, no-c-format
-msgid ""
-"That concludes our short tour of the Web Beans examples. For more on Web "
-"Beans , or to help out, please visit <ulink url=\"http://www.seamframework."
-"org/WebBeans/Development\">http://www.seamframework.org/WebBeans/"
-"Development</ulink>."
-msgstr ""
-"這結束了我們簡短的 Web Bean RI 範例。如欲取得更多有關於 RI 的相關資訊,或是提"
-"供相關協助,請參閱 <ulink url=\"http://www.seamframework.org/WebBeans/"
-"Development\">http://www.seamframework.org/WebBeans/Development</ulink>。"
-
-#. Tag: para
-#: ri.xml:584
-#, no-c-format
-msgid ""
-"We need help in all areas - bug fixing, writing new features, writing "
-"examples and translating this reference guide."
-msgstr ""
-"我們在所有層面都需要協助 - 錯誤修正、編寫新功能、編寫範例,以及翻譯此參照指"
-"南。"
-
-#, fuzzy
-#~ msgid ""
-#~ "A new deployer, <literal>webbeans.deployer</literal> is added to JBoss "
-#~ "AS. This adds supports for Web Bean archives to JBoss AS, and allows the "
-#~ "Web Beans RI to query the EJB3 container and discover which EJBs are "
-#~ "installed in your application."
-#~ msgstr ""
-#~ "目前您需要兩個更新。首先一個新的建置器 <literal>webbeans.deployer</"
-#~ "literal> 被新增了。這可為 JBoss AS 提供 Web Bean archive,並能讓 Web Bean "
-#~ "RI 查詢 EJB3 container,並找出安裝在您應用程式中的 EJB 為何。接下來,您需"
-#~ "要 JBoss EJB3 的更新。"
-
-#~ msgid ""
-#~ "As Web Beans is a new piece of software, you need to update JBoss AS to "
-#~ "run the Web Beans RI. Future versions of JBoss AS will include these "
-#~ "updates, and this step won't be necessary."
-#~ msgstr ""
-#~ "因為 Web Bean 是個新的軟體,您需要更新 JBoss AS 才可執行 Web Bean RI。未來"
-#~ "版本的 JBoss AS 將會包含這些更新,因此這個步驟將可被忽略。"

Modified: doc/trunk/reference/zh-TW/scopescontexts.po
===================================================================
--- doc/trunk/reference/zh-TW/scopescontexts.po	2009-04-19 20:36:25 UTC (rev 2519)
+++ doc/trunk/reference/zh-TW/scopescontexts.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: scopescontexts\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-01-06 11:30+0000\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
 "PO-Revision-Date: 2009-01-20 16:49+1000\n"
 "Last-Translator: Terry Chuang <tchuang at redhat.com>\n"
 "Language-Team: Traditional Chinese <zh at li.org>\n"
@@ -31,7 +31,11 @@
 "the Web Bean. The scope also determines which clients refer to which "
 "instances of the Web Bean. According to the Web Beans specification, a scope "
 "determines:"
-msgstr "到目前為止,我們已見過了一些 <emphasis>scope 類型標記(scope type annotations)</emphasis>的範例了。Web Bean 的 scope 可決定 Web Bean instance 的生命週期(lifecycle)。Scope 也能決定哪個客戶端參照哪個 Web Bean 的 instance。根據 Web Bean 規格,scope 可決定:"
+msgstr ""
+"到目前為止,我們已見過了一些 <emphasis>scope 類型標記(scope type "
+"annotations)</emphasis>的範例了。Web Bean 的 scope 可決定 Web Bean instance "
+"的生命週期(lifecycle)。Scope 也能決定哪個客戶端參照哪個 Web Bean 的 "
+"instance。根據 Web Bean 規格,scope 可決定:"
 
 #. Tag: para
 #: scopescontexts.xml:14
@@ -48,7 +52,8 @@
 #. Tag: para
 #: scopescontexts.xml:20
 #, no-c-format
-msgid "Which injected references refer to any instance of a Web Bean with that scope"
+msgid ""
+"Which injected references refer to any instance of a Web Bean with that scope"
 msgstr "哪個被注入的參照代表含有該 scope 的 Web Bean 的任何 instance"
 
 #. Tag: para
@@ -61,7 +66,12 @@
 "<literal>CurrentUser</literal>. This instance will be automatically created "
 "the first time a <literal>CurrentUser</literal> is needed in that session, "
 "and automatically destroyed when the session ends."
-msgstr "比方說若我們有個 session scope 的 Web Bean <literal>CurrentUser</literal>,那麼所有在相同 <literal>HttpSession</literal> 的 context 中被調用的 Web Bean 都會看見相同的 <literal>CurrentUser</literal> 的 instance。當 <literal>CurrentUser</literal> 在該 session 中第一次被需要時,這個 instance 就會自動地被建立,並且在這個 session 結束時被自動地刪除掉。"
+msgstr ""
+"比方說若我們有個 session scope 的 Web Bean <literal>CurrentUser</literal>,那"
+"麼所有在相同 <literal>HttpSession</literal> 的 context 中被調用的 Web Bean 都"
+"會看見相同的 <literal>CurrentUser</literal> 的 instance。當 "
+"<literal>CurrentUser</literal> 在該 session 中第一次被需要時,這個 instance "
+"就會自動地被建立,並且在這個 session 結束時被自動地刪除掉。"
 
 #. Tag: title
 #: scopescontexts.xml:32
@@ -75,7 +85,9 @@
 msgid ""
 "Web Beans features an <emphasis>extensible context model</emphasis>. It is "
 "possible to define new scopes by creating a new scope type annotation:"
-msgstr "Web Bean 含有著一個 <emphasis>extensible context model(可延伸的 context 模型)</emphasis>。您可藉由建立新的 scope 類型標記來定義新的 scope:"
+msgstr ""
+"Web Bean 含有著一個 <emphasis>extensible context model(可延伸的 context 模"
+"型)</emphasis>。您可藉由建立新的 scope 類型標記來定義新的 scope:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:37
@@ -99,7 +111,11 @@
 "useful, we will also need to define a <literal>Context</literal> object that "
 "implements the scope! Implementing a <literal>Context</literal> is usually a "
 "very technical task, intended for framework development only."
-msgstr "當然,那是這項工作中最簡單的部份。若要此 scope 類型能被有效使用,我們還需要定義一個能夠實做該 scope 的 <literal>Context</literal> 物件!實做一個 <literal>Context</literal> 通常是一項非常技術性的工作,這只應使用於架構開發(framework development)上。"
+msgstr ""
+"當然,那是這項工作中最簡單的部份。若要此 scope 類型能被有效使用,我們還需要定"
+"義一個能夠實做該 scope 的 <literal>Context</literal> 物件!實做一個 "
+"<literal>Context</literal> 通常是一項非常技術性的工作,這只應使用於架構開發"
+"(framework development)上。"
 
 #. Tag: para
 #: scopescontexts.xml:44
@@ -107,7 +123,9 @@
 msgid ""
 "We can apply a scope type annotation to a Web Bean implementation class to "
 "specify the scope of the Web Bean:"
-msgstr "我們可套用一個 scope 類型標記至一個 Web Bean 實做 class 來指定 Web Bean 的 scope:"
+msgstr ""
+"我們可套用一個 scope 類型標記至一個 Web Bean 實做 class 來指定 Web Bean 的 "
+"scope:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:47
@@ -173,7 +191,8 @@
 msgid ""
 "any servlet request has access to active request, session and application "
 "scopes, and, additionally"
-msgstr "任何 servlet 請求都可存取 active request、session 和應用程式 scope,另外"
+msgstr ""
+"任何 servlet 請求都可存取 active request、session 和應用程式 scope,另外"
 
 #. Tag: para
 #: scopescontexts.xml:90
@@ -218,7 +237,10 @@
 "If the application tries to invoke a Web Bean with a scope that does not "
 "have an active context, a <literal>ContextNotActiveException</literal> is "
 "thrown by the Web Bean manager at runtime."
-msgstr "若應用程式嘗試透過一個沒有有效 context 的 scope 來引動 Web Bean 的話,Web Bean 管理員便會在 runtime 時回傳一項 <literal>ContextNotActiveException</literal>。"
+msgstr ""
+"若應用程式嘗試透過一個沒有有效 context 的 scope 來引動 Web Bean 的話,Web "
+"Bean 管理員便會在 runtime 時回傳一項 <literal>ContextNotActiveException</"
+"literal>。"
 
 #. Tag: para
 #: scopescontexts.xml:115
@@ -227,7 +249,9 @@
 "Three of the four built-in scopes should be extremely familiar to every Java "
 "EE developer, so let's not waste time discussing them here. One of the "
 "scopes, however, is new."
-msgstr "四個內建 scope 中有其中的三個對於所有 Java EE 開發人員來說應該都不陌生,所以我們將不花時間在此討論它們。不過在這之中有個 scope 則是新的。"
+msgstr ""
+"四個內建 scope 中有其中的三個對於所有 Java EE 開發人員來說應該都不陌生,所以"
+"我們將不花時間在此討論它們。不過在這之中有個 scope 則是新的。"
 
 #. Tag: title
 #: scopescontexts.xml:122
@@ -243,7 +267,10 @@
 "in that it holds state associated with a user of the system, and spans "
 "multiple requests to the server. However, unlike the session scope, the "
 "conversation scope:"
-msgstr "Web Bean 的 conversation scope 和傳統的 session scope 類似,它們都持有著有關於系統用戶的狀態,並發出多重請求至伺服器。conversation scope 和 session scope 不同的地方在於:"
+msgstr ""
+"Web Bean 的 conversation scope 和傳統的 session scope 類似,它們都持有著有關"
+"於系統用戶的狀態,並發出多重請求至伺服器。conversation scope 和 session "
+"scope 不同的地方在於:"
 
 #. Tag: para
 #: scopescontexts.xml:130
@@ -267,7 +294,10 @@
 "the user. The conversation context holds state associated with what the user "
 "is currently working on. If the user is doing multiple things at the same "
 "time, there are multiple conversations."
-msgstr "Conversation(對話)代表一項工作,從用戶角度來看是項工作的單位。conversation 的 context 持有和用戶目前工作相關的狀態。若用戶同時間一次進行多項工作的話,那就會有多個 conversation。"
+msgstr ""
+"Conversation(對話)代表一項工作,從用戶角度來看是項工作的單位。conversation "
+"的 context 持有和用戶目前工作相關的狀態。若用戶同時間一次進行多項工作的話,那"
+"就會有多個 conversation。"
 
 #. Tag: para
 #: scopescontexts.xml:143
@@ -277,7 +307,10 @@
 "conversations are destroyed at the end of the request. If a conversation "
 "should hold state across multiple requests, it must be explicitly promoted "
 "to a <emphasis>long-running conversation</emphasis>."
-msgstr "conversation context 會在任何 JSF 請求進行中的時候啟用。不過,大部分的 conversation 都會在請求結束後被刪除掉。若有個 conversation 必須持有多重請求的狀態,它便需要被明確地轉為 <emphasis>long-running conversation</emphasis>。"
+msgstr ""
+"conversation context 會在任何 JSF 請求進行中的時候啟用。不過,大部分的 "
+"conversation 都會在請求結束後被刪除掉。若有個 conversation 必須持有多重請求的"
+"狀態,它便需要被明確地轉為 <emphasis>long-running conversation</emphasis>。"
 
 #. Tag: title
 #: scopescontexts.xml:149
@@ -292,7 +325,9 @@
 "Web Beans provides a built-in Web Bean for controlling the lifecyle of "
 "conversations in a JSF application. This Web Bean may be obtained by "
 "injection:"
-msgstr "Web Bean 提供了一個內建的 Web Bean,它可被用來在 JSF 應用程式中控制 conversation 的生命週期。這個 Web Bean 能透過注入下列來取得:"
+msgstr ""
+"Web Bean 提供了一個內建的 Web Bean,它可被用來在 JSF 應用程式中控制 "
+"conversation 的生命週期。這個 Web Bean 能透過注入下列來取得:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:154
@@ -309,7 +344,11 @@
 "application code. To schedule the current long-running conversation context "
 "for destruction at the end of the current request, call <literal>end()</"
 "literal>."
-msgstr "若要將和目前的請求關聯的 conversation 轉為 long-running conversation 的話,請由應用程式的程式碼調用 <literal>begin()</literal> method。若要將目前的 long-running conversation context 排程在目前請求結束時被刪除,請調用 <literal>end()</literal>。"
+msgstr ""
+"若要將和目前的請求關聯的 conversation 轉為 long-running conversation 的話,請"
+"由應用程式的程式碼調用 <literal>begin()</literal> method。若要將目前的 long-"
+"running conversation context 排程在目前請求結束時被刪除,請調用 <literal>end"
+"()</literal>。"
 
 #. Tag: para
 #: scopescontexts.xml:161
@@ -317,7 +356,9 @@
 msgid ""
 "In the following example, a conversation-scoped Web Bean controls the "
 "conversation with which it is associated:"
-msgstr "在下列範例中,有個 conversation-scoped 的 Web Bean 會控制和它關聯的 conversation:"
+msgstr ""
+"在下列範例中,有個 conversation-scoped 的 Web Bean 會控制和它關聯的 "
+"conversation:"
 
 #. Tag: programlisting
 #: scopescontexts.xml:164
@@ -392,7 +433,9 @@
 "This Web Bean is able to control its own lifecycle through use of the "
 "<literal>Conversation</literal> API. But some other Web Beans have a "
 "lifecycle which depends completely upon another object."
-msgstr "這個 Web Bean 能夠透過使用 <literal>Conversation</literal> API 來控制它自己的生命週期。不過有些其它 Web Bean 的生命週期完全取決於另一個物件。"
+msgstr ""
+"這個 Web Bean 能夠透過使用 <literal>Conversation</literal> API 來控制它自己的"
+"生命週期。不過有些其它 Web Bean 的生命週期完全取決於另一個物件。"
 
 #. Tag: title
 #: scopescontexts.xml:173
@@ -407,7 +450,9 @@
 "The conversation context automatically propagates with any JSF faces request "
 "(JSF form submission). It does not automatically propagate with non-faces "
 "requests, for example, navigation via a link."
-msgstr "conversation context 會隨著任何 JSF face 的請求(JSF form submission)自動地傳播。它不會隨著 non-face 的請求(例如透過連結來瀏覽)自動地傳播。"
+msgstr ""
+"conversation context 會隨著任何 JSF face 的請求(JSF form submission)自動地"
+"傳播。它不會隨著 non-face 的請求(例如透過連結來瀏覽)自動地傳播。"
 
 #. Tag: para
 #: scopescontexts.xml:179
@@ -419,7 +464,12 @@
 "<literal>cid</literal> for this use. The unique identifier of the "
 "conversation may be obtained from the <literal>Conversation</literal> "
 "object, which has the Web Beans name <literal>conversation</literal>."
-msgstr "我們能夠透過包含 conversation 的唯一識別碼(unique identifier)來作為一個請求參數以強制 conversation 隨著 non-face 的請求進行傳播。Web Bean 規格保留了一個名為 <literal>cid</literal> 的請求參數以用於此情況下。conversation 的唯一識別碼可藉由 <literal>Conversation</literal> 這個物件取得,並且它的 Web Bean 名稱為 <literal>conversation</literal>。"
+msgstr ""
+"我們能夠透過包含 conversation 的唯一識別碼(unique identifier)來作為一個請求"
+"參數以強制 conversation 隨著 non-face 的請求進行傳播。Web Bean 規格保留了一個"
+"名為 <literal>cid</literal> 的請求參數以用於此情況下。conversation 的唯一識別"
+"碼可藉由 <literal>Conversation</literal> 這個物件取得,並且它的 Web Bean 名稱"
+"為 <literal>conversation</literal>。"
 
 #. Tag: para
 #: scopescontexts.xml:186
@@ -446,7 +496,11 @@
 "very easy to implement the common POST-then-redirect pattern, without resort "
 "to fragile constructs such as a \"flash\" object. In this case, the Web Bean "
 "manager automatically adds a request parameter to the redirect URL."
-msgstr "Web Bean 管理員也必須將 conversation 在任何重定向作業之間進行傳播,儘管該 conversation 沒有被標記為 long-running。這使得實做一般的 POST-then-redirect 模式變得非常簡單,這樣便無須使用一些像是「flash」物件的脆弱 construct。在此情況下,Web Bean 管理員會自動地新增一個請求參數至重定向 URL。"
+msgstr ""
+"Web Bean 管理員也必須將 conversation 在任何重定向作業之間進行傳播,儘管該 "
+"conversation 沒有被標記為 long-running。這使得實做一般的 POST-then-redirect "
+"模式變得非常簡單,這樣便無須使用一些像是「flash」物件的脆弱 construct。在此情"
+"況下,Web Bean 管理員會自動地新增一個請求參數至重定向 URL。"
 
 #. Tag: title
 #: scopescontexts.xml:200
@@ -461,9 +515,13 @@
 "The Web Bean manager is permitted to destroy a conversation and all state "
 "held in its context at any time in order to preserve resources. A Web Bean "
 "manager implementation will normally do this on the basis of some kind of "
-"timeout &#151; though this is not required by the Web Beans specification. The "
-"timeout is the period of inactivity before the conversation is destroyed."
-msgstr "Web Bean 管理員能夠隨時隨地刪除它 context 中的 conversation 以及所有狀態以保留資源。一個 Web Bean 管理員實做一般會利用某種形式的 timeout 來這麼作 &#151; 儘管這在 Web Bean 規格中是非必要的。Timeout 代表 conversation 在被刪除之前所經過的休止狀態時間。"
+"timeout &#151; though this is not required by the Web Beans specification. "
+"The timeout is the period of inactivity before the conversation is destroyed."
+msgstr ""
+"Web Bean 管理員能夠隨時隨地刪除它 context 中的 conversation 以及所有狀態以保"
+"留資源。一個 Web Bean 管理員實做一般會利用某種形式的 timeout 來這麼作 &#151; "
+"儘管這在 Web Bean 規格中是非必要的。Timeout 代表 conversation 在被刪除之前所"
+"經過的休止狀態時間。"
 
 #. Tag: para
 #: scopescontexts.xml:208
@@ -472,7 +530,9 @@
 "The <literal>Conversation</literal> object provides a method to set the "
 "timeout. This is a hint to the Web Bean manager, which is free to ignore the "
 "setting."
-msgstr "<literal>Conversation</literal> 這個物件提供了一個能設置 timeout 的 method。這是個給 Web Bean 管理員的提示,您可忽略該設定。"
+msgstr ""
+"<literal>Conversation</literal> 這個物件提供了一個能設置 timeout 的 method。"
+"這是個給 Web Bean 管理員的提示,您可忽略該設定。"
 
 #. Tag: programlisting
 #: scopescontexts.xml:212
@@ -481,34 +541,38 @@
 msgstr "conversation.setTimeout(timeoutInMillis);"
 
 #. Tag: title
-#: scopescontexts.xml:219
+#: scopescontexts.xml:218
 #, no-c-format
 msgid "The dependent pseudo-scope"
 msgstr "dependent pseudo-scope"
 
 #. Tag: para
-#: scopescontexts.xml:221
+#: scopescontexts.xml:220
 #, no-c-format
 msgid ""
 "In addition to the four built-in scopes, Web Beans features the so-called "
 "<emphasis>dependent pseudo-scope</emphasis>. This is the default scope for a "
 "Web Bean which does not explicitly declare a scope type."
-msgstr "除了這四個內建的 scope,Web Bean 還提供了一項稱為 <emphasis>dependent pseudo-scope</emphasis> 的功能。這是個未明確宣告 scope 類型的 Web Bean 的預設 scope。"
+msgstr ""
+"除了這四個內建的 scope,Web Bean 還提供了一項稱為 <emphasis>dependent pseudo-"
+"scope</emphasis> 的功能。這是個未明確宣告 scope 類型的 Web Bean 的預設 "
+"scope。"
 
 #. Tag: para
-#: scopescontexts.xml:225
+#: scopescontexts.xml:224
 #, no-c-format
-msgid "For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
+msgid ""
+"For example, this Web Bean has the scope type <literal>@Dependent</literal>:"
 msgstr "比方說,這個 Web Bean 的 scope 類型為 <literal>@Dependent</literal>:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:227
+#: scopescontexts.xml:226
 #, no-c-format
 msgid "<![CDATA[public class Calculator { ... }]]>"
 msgstr "<![CDATA[public class Calculator { ... }]]>"
 
 #. Tag: para
-#: scopescontexts.xml:229
+#: scopescontexts.xml:228
 #, no-c-format
 msgid ""
 "When an injection point of a Web Bean resolves to a dependent Web Bean, a "
@@ -516,66 +580,82 @@
 "Bean is instantiated. Instances of dependent Web Beans are never shared "
 "between different Web Beans or different injection points. They are "
 "<emphasis>dependent objects</emphasis> of some other Web Bean instance."
-msgstr "當 Web Bean 的一個注入點解析至一個相依 Web Bean 時,每當第一個 Web Bean 被例示(instantiate)時,相依 Web Bean 的一個新的 instance 就會被建立。相依 Web Bean 的 instance 絕不會被共享於不同的 Web Bean 或不同的注入點之間。它們是其它 Web Bean instance 的 <emphasis>dependent object(相依物件)</emphasis>。"
+msgstr ""
+"當 Web Bean 的一個注入點解析至一個相依 Web Bean 時,每當第一個 Web Bean 被例"
+"示(instantiate)時,相依 Web Bean 的一個新的 instance 就會被建立。相依 Web "
+"Bean 的 instance 絕不會被共享於不同的 Web Bean 或不同的注入點之間。它們是其"
+"它 Web Bean instance 的 <emphasis>dependent object(相依物件)</emphasis>。"
 
 #. Tag: para
-#: scopescontexts.xml:235
+#: scopescontexts.xml:234
 #, no-c-format
 msgid ""
 "Dependent Web Bean instances are destroyed when the instance they depend "
 "upon is destroyed."
-msgstr "相依 Web Bean 的 instance 會在它們所依賴的 instance 被刪除掉時跟著被一起刪除。"
+msgstr ""
+"相依 Web Bean 的 instance 會在它們所依賴的 instance 被刪除掉時跟著被一起刪"
+"除。"
 
 #. Tag: para
-#: scopescontexts.xml:243
+#: scopescontexts.xml:242
 #, no-c-format
 msgid ""
 "Web Beans makes it easy to obtain a dependent instance of a Java class or "
 "EJB bean, even if the class or EJB bean is already declared as a Web Bean "
 "with some other scope type."
-msgstr "Web Bean 使得取得 Java class 或是 EJB bean 的相依 instance 變得相當容易,儘管該 class 或是 EJB bean 已被宣告為一個含有其牠 scope 類型的 Web Bean。"
+msgstr ""
+"Web Bean 使得取得 Java class 或是 EJB bean 的相依 instance 變得相當容易,儘管"
+"該 class 或是 EJB bean 已被宣告為一個含有其牠 scope 類型的 Web Bean。"
 
 #. Tag: title
-#: scopescontexts.xml:248
+#: scopescontexts.xml:247
 #, no-c-format
 msgid "The <literal>@New</literal> annotation"
 msgstr "<literal>@New</literal> 標記"
 
 #. Tag: para
-#: scopescontexts.xml:250
+#: scopescontexts.xml:249
 #, no-c-format
 msgid ""
 "The built-in <literal>@New</literal> binding annotation allows "
 "<emphasis>implicit</emphasis> definition of a dependent Web Bean at an "
 "injection point. Suppose we declare the following injected field:"
-msgstr "內建的 <literal>@New</literal> 綁定標記允許在注入點能夠有<emphasis>暗示性</emphasis>的相依 Web Bean 定義。假設我們宣告下列被注入的欄位:"
+msgstr ""
+"內建的 <literal>@New</literal> 綁定標記允許在注入點能夠有<emphasis>暗示性</"
+"emphasis>的相依 Web Bean 定義。假設我們宣告下列被注入的欄位:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:254
+#: scopescontexts.xml:253
 #, no-c-format
 msgid "<![CDATA[@New Calculator calculator;]]>"
 msgstr "<![CDATA[@New Calculator calculator;]]>"
 
 #. Tag: para
-#: scopescontexts.xml:256
+#: scopescontexts.xml:255
 #, no-c-format
 msgid ""
 "Then a Web Bean with scope <literal>@Dependent</literal>, binding type "
 "<literal>@New</literal>, API type <literal>Calculator</literal>, "
 "implementation class <literal>Calculator</literal> and deployment type "
 "<literal>@Standard</literal> is implicitly defined."
-msgstr "如此一來有個含有 scope <literal>@Dependent</literal>、綁定類型 <literal>@New</literal>、API 類型 <literal>Calculator</literal>、實做 class <literal>Calculator</literal> 以及建置類型 <literal>@Standard</literal> 的 Web Bean 就被暗示性地定義了。"
+msgstr ""
+"如此一來有個含有 scope <literal>@Dependent</literal>、綁定類型 "
+"<literal>@New</literal>、API 類型 <literal>Calculator</literal>、實做 class "
+"<literal>Calculator</literal> 以及建置類型 <literal>@Standard</literal> 的 "
+"Web Bean 就被暗示性地定義了。"
 
 #. Tag: para
-#: scopescontexts.xml:261
+#: scopescontexts.xml:260
 #, no-c-format
 msgid ""
 "This is true even if <literal>Calculator</literal> is <emphasis>already</"
 "emphasis> declared with a different scope type, for example:"
-msgstr "就算 <literal>Calculator</literal> <emphasis>已經</emphasis>被宣告為不同 scope type,這還是有效的,比方說:"
+msgstr ""
+"就算 <literal>Calculator</literal> <emphasis>已經</emphasis>被宣告為不同 "
+"scope type,這還是有效的,比方說:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:264
+#: scopescontexts.xml:263
 #, no-c-format
 msgid ""
 "<![CDATA[@ConversationScoped\n"
@@ -585,15 +665,17 @@
 "public class Calculator { ... }]]>"
 
 #. Tag: para
-#: scopescontexts.xml:266
+#: scopescontexts.xml:265
 #, no-c-format
 msgid ""
 "So the following injected attributes each get a different instance of "
 "<literal>Calculator</literal>:"
-msgstr "因此下列已注入的屬性都會各得到一個 <literal>Calculator</literal> 的不同 instance:"
+msgstr ""
+"因此下列已注入的屬性都會各得到一個 <literal>Calculator</literal> 的不同 "
+"instance:"
 
 #. Tag: programlisting
-#: scopescontexts.xml:269
+#: scopescontexts.xml:268
 #, no-c-format
 msgid ""
 "<![CDATA[public class PaymentCalc {\n"
@@ -611,20 +693,24 @@
 "}]]>"
 
 #. Tag: para
-#: scopescontexts.xml:271
+#: scopescontexts.xml:270
 #, no-c-format
 msgid ""
 "The <literal>calculator</literal> field has a conversation-scoped instance "
 "of <literal>Calculator</literal> injected. The <literal>newCalculator</"
 "literal> field has a new instance of <literal>Calculator</literal> injected, "
 "with a lifecycle that is bound to the owning <literal>PaymentCalc</literal>."
-msgstr "<literal>calculator</literal> 這個欄位中注入了一個 <literal>Calculator</literal> 的 conversation-scoped instance。<literal>newCalculator</literal> 欄位中有個新的 <literal>Calculator</literal> 的 instance 被注入了,並且它的生命週期取決於擁有它的 <literal>PaymentCalc</literal>。"
+msgstr ""
+"<literal>calculator</literal> 這個欄位中注入了一個 <literal>Calculator</"
+"literal> 的 conversation-scoped instance。<literal>newCalculator</literal> 欄"
+"位中有個新的 <literal>Calculator</literal> 的 instance 被注入了,並且它的生命"
+"週期取決於擁有它的 <literal>PaymentCalc</literal>。"
 
 #. Tag: para
-#: scopescontexts.xml:276
+#: scopescontexts.xml:275
 #, no-c-format
 msgid ""
 "This feature is particularly useful with producer methods, as we'll see in "
 "the next chapter."
-msgstr "這項功能對於 producer method 來講特別有幫助,我們將在下個章節中討論到。"
-
+msgstr ""
+"這項功能對於 producer method 來講特別有幫助,我們將在下個章節中討論到。"

Added: doc/trunk/reference/zh-TW/viewlayers.po
===================================================================
--- doc/trunk/reference/zh-TW/viewlayers.po	                        (rev 0)
+++ doc/trunk/reference/zh-TW/viewlayers.po	2009-04-19 21:01:39 UTC (rev 2520)
@@ -0,0 +1,160 @@
+# Language zh-TW translations for Web_Beans:_Java_Contexts_and_Dependency_Injection package.
+# Automatically generated, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Web_Beans:_Java_Contexts_and_Dependency_Injection VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-04-19 20:36+0000\n"
+"PO-Revision-Date: 2009-04-19 20:36+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: viewlayers.xml:4
+#, no-c-format
+msgid "Alternative view layers"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:7
+#, no-c-format
+msgid "Using Web Beans with Wicket"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:10
+#, no-c-format
+msgid "The <literal>WebApplication</literal> class"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:12
+#, no-c-format
+msgid ""
+"Each wicket application must have a <literal>WebApplication</literal> "
+"subclass; Web Beans provides, for your utility, a subclass of this which "
+"sets up the Wicket/JSR-299 integration. You should subclass <literal>org."
+"jboss.webbeans.wicket.WebBeansApplication</literal>."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:21
+#, no-c-format
+msgid ""
+"If you would prefer not to subclass <literal>WebBeansApplication</literal>, "
+"you can manually add a (small!) number of overrides and listeners to your "
+"own <literal>WebApplication</literal> subclass. The javadocs of "
+"<literal>WebBeansApplication</literal>detail this."
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:30
+#, no-c-format
+msgid "For example:"
+msgstr ""
+
+#. Tag: programlisting
+#: viewlayers.xml:33
+#, no-c-format
+msgid ""
+"<![CDATA[public class SampleApplication extends WebBeansApplication {\n"
+"   @Override\n"
+"   public Class getHomePage() {\n"
+"      return HomePage.class;\n"
+"   }\n"
+"}]]>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:37
+#, no-c-format
+msgid "Conversations with Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:38
+#, no-c-format
+msgid ""
+"The conversation scope can be used in Web Beans with the Apache Wicket web "
+"framework, through the <literal>webbeans-wicket</literal> module. This "
+"module takes care of:"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:45
+#, no-c-format
+msgid ""
+"Setting up the conversation context at the beginning of a Wicket request, "
+"and tearing it down afterwards"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:51
+#, no-c-format
+msgid ""
+"Storing the id of any long-running conversation in Wicket's metadata when "
+"the page response is complete"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:57
+#, no-c-format
+msgid ""
+"Activating the correct long-running conversation based upon which page is "
+"being accessed"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:63
+#, no-c-format
+msgid ""
+"Propagating the conversation context for any long-running conversation to "
+"new pages"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:70
+#, no-c-format
+msgid "Starting and stopping conversations in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:71
+#, no-c-format
+msgid ""
+"As JSF applications, a conversation <emphasis>always</emphasis> exists for "
+"any request, but its lifetime is only that of the current request unless it "
+"is marked as <emphasis>long-running</emphasis>. For Wicket applications this "
+"is accomplished as in JSF applications, by injecting the <literal>@Current "
+"Conversation</literal> and then invoking <literal>conversation.begin()</"
+"literal>. Likewise, conversations are ended with <literal>conversation.end()"
+"</literal>"
+msgstr ""
+
+#. Tag: title
+#: viewlayers.xml:85
+#, no-c-format
+msgid "Long running conversation propagation in Wicket"
+msgstr ""
+
+#. Tag: para
+#: viewlayers.xml:86
+#, no-c-format
+msgid ""
+"When a conversation is marked as long-running, the id of that conversation "
+"will be stored in Wicket's metadata for the current page. If a new page is "
+"created and set as the response target through <literal>setResponsePage</"
+"literal>, this new page will also participate in this conversation. This "
+"occurs for both directly instantiated pages (<literal>setResponsePage(new "
+"OtherPage())</literal>), as well as for bookmarkable pages created with "
+"<literal>setResponsePage(OtherPage.class)</literal> where <literal>OtherPage."
+"class</literal> is mounted as bookmarkable from your "
+"<literal>WebApplication</literal> subclass (or through annotations). In the "
+"latter case, because the new page instance is not created until after a "
+"redirect, the conversation id will be propagated through a request "
+"parameter, and then stored in page metadata after the redirect."
+msgstr ""




More information about the weld-commits mailing list