[webbeans-commits] Webbeans SVN: r820 - doc/trunk/reference/zh-TW.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Wed Jan 7 21:40:29 EST 2009
Author: tchuang
Date: 2009-01-07 21:40:29 -0500 (Wed, 07 Jan 2009)
New Revision: 820
Modified:
doc/trunk/reference/zh-TW/Author_Group.po
doc/trunk/reference/zh-TW/Book_Info.po
doc/trunk/reference/zh-TW/decorators.po
doc/trunk/reference/zh-TW/ee.po
doc/trunk/reference/zh-TW/events.po
doc/trunk/reference/zh-TW/example.po
doc/trunk/reference/zh-TW/extend.po
doc/trunk/reference/zh-TW/injection.po
doc/trunk/reference/zh-TW/interceptors.po
doc/trunk/reference/zh-TW/intro.po
doc/trunk/reference/zh-TW/master.po
doc/trunk/reference/zh-TW/next.po
doc/trunk/reference/zh-TW/producermethods.po
doc/trunk/reference/zh-TW/ri-spi.po
doc/trunk/reference/zh-TW/ri.po
doc/trunk/reference/zh-TW/scopescontexts.po
doc/trunk/reference/zh-TW/specialization.po
doc/trunk/reference/zh-TW/stereotypes.po
doc/trunk/reference/zh-TW/xml.po
Log:
translations updated
Modified: doc/trunk/reference/zh-TW/Author_Group.po
===================================================================
--- doc/trunk/reference/zh-TW/Author_Group.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/Author_Group.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -8,7 +8,7 @@
"Project-Id-Version: Author_Group\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-08 09:26+1000\n"
+"PO-Revision-Date: 2009-01-08 09:27+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"
@@ -29,12 +29,14 @@
"<jobtitle>Web Beans (JSR-299) specification lead</jobtitle> <orgname>Red Hat "
"Middleware LLC</orgname>"
msgstr ""
+"<jobtitle>Web Beans (JSR-299) specification lead</jobtitle> <orgname>Red Hat "
+"Middleware LLC</orgname>"
#. Tag: author
#: Author_Group.xml:12
#, no-c-format
msgid "<firstname>Pete</firstname> <surname>Muir</surname>"
-msgstr ""
+msgstr "<firstname>Pete</firstname> <surname>Muir</surname>"
#. Tag: affiliation
#: Author_Group.xml:15
@@ -43,22 +45,24 @@
"<jobtitle>Web Beans (JSR-299) Reference Implementation lead </jobtitle> "
"<orgname>Red Hat Middleware LLC</orgname>"
msgstr ""
+"<jobtitle>Web Beans (JSR-299) Reference Implementation lead </jobtitle> "
+"<orgname>Red Hat Middleware LLC</orgname>"
#. Tag: othercredit
#: Author_Group.xml:21
#, no-c-format
msgid "<firstname>Nicola</firstname> <surname>Benaglia</surname>"
-msgstr ""
+msgstr "<firstname>Nicola</firstname> <surname>Benaglia</surname>"
#. Tag: contrib
#: Author_Group.xml:24 Author_Group.xml:29
#, no-c-format
msgid "Italian Translation"
-msgstr ""
+msgstr "義大利文翻譯"
#. Tag: othercredit
#: Author_Group.xml:26
#, no-c-format
msgid "<firstname>Francesco</firstname> <surname>Milesi</surname>"
-msgstr ""
+msgstr "<firstname>Francesco</firstname> <surname>Milesi</surname>"
Modified: doc/trunk/reference/zh-TW/Book_Info.po
===================================================================
--- doc/trunk/reference/zh-TW/Book_Info.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/Book_Info.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,23 +1,26 @@
+# translation of Book_Info.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: Book_Info\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 09:34+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
#: Book_Info.xml:4
#, no-c-format
msgid "Introduction to Web Beans"
-msgstr ""
+msgstr "Web Beans 序言"
#. Tag: subtitle
#: Book_Info.xml:5
@@ -25,4 +28,5 @@
msgid ""
"The new Java standard for dependency injection and contextual state "
"management"
-msgstr ""
+msgstr "依賴注入(dependency injection)與狀態管理(contextual state management)的新 Java 標準"
+
Modified: doc/trunk/reference/zh-TW/decorators.po
===================================================================
--- doc/trunk/reference/zh-TW/decorators.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/decorators.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,23 +1,26 @@
+# translation of decorators.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: decorators\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 12:39+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
#: decorators.xml:4
#, no-c-format
msgid "Decorators"
-msgstr ""
+msgstr "裝飾器(Decorators)"
#. Tag: para
#: decorators.xml:6
@@ -30,7 +33,7 @@
"However, by nature, interceptors are unaware of the actual semantics of the "
"events they intercept. Thus, interceptors aren't an appropriate tool for "
"separating business-related concerns."
-msgstr ""
+msgstr "呼叫攔截器(Interceptors)是個用來擷取和區分與型別系統<emphasis>垂直</emphasis>的相關問題的強大方式。任何攔截器皆可攔截任何 Java 類型的調用(invocation)。這使它們適用於解決涉及技術上的問題,例如交易管理和安全性。不過,就一般來講,攔截器並不會知道它們所攔截的事件之實際 語。因此,攔截器並不適合作為一個區分涉及商業問題的工具。意"
#. Tag: para
#: decorators.xml:14
@@ -42,13 +45,13 @@
"a perfect tool for modeling some kinds of business concerns. It also means "
"that a decorator doesn't have the generality of an interceptor. Decorators "
"aren't able to solve technical concerns that cut across many disparate types."
-msgstr ""
+msgstr "<emphasis>裝飾器(decorators)</emphasis>則是相反的。裝飾器只會針對於特定 java 介面來攔截調用,因此它知道該介面的所有語意。這使得裝飾器適用於模擬涉及商業上的問題。同時這也代表裝飾器並沒有攔截器的普遍性。裝飾器無法解決涉及多種不同類型的技術問題。"
#. Tag: para
#: decorators.xml:22
#, no-c-format
msgid "Suppose we have an interface that represents accounts:"
-msgstr ""
+msgstr "假設我們有個顯示帳號的介面:"
#. Tag: programlisting
#: decorators.xml:24
@@ -61,6 +64,12 @@
" public void deposit(BigDecimal amount);\n"
"}]]>"
msgstr ""
+"<![CDATA[public interface Account {\n"
+" public BigDecimal getBalance();\n"
+" public User getOwner();\n"
+" public void withdraw(BigDecimal amount);\n"
+" public void deposit(BigDecimal amount);\n"
+"}]]>"
#. Tag: para
#: decorators.xml:26
@@ -70,7 +79,7 @@
"literal> interface. However, we have a common legal requirement that, for "
"any kind of account, large transactions must be recorded by the system in a "
"special log. This is a perfect job for a decorator."
-msgstr ""
+msgstr "我們的系統中會有幾個不同的 Web Bean 實做 <literal>Account</literal> 介面。不過,我們有個法律上的統一規定需求,那就是不管是任何哪種類型的帳號,大型的交易都必須被系統記錄於一個特殊的日誌中。這是一項適合裝飾器的工作。"
#. Tag: para
#: decorators.xml:32
@@ -78,7 +87,7 @@
msgid ""
"A decorator is a simple Web Bean that implements the type it decorates and "
"is annotated <literal>@Decorator</literal>."
-msgstr ""
+msgstr "裝飾器(decorator)是個單純的 Web Bean,它可實做它所裝飾的類型並且會被標記為 <literal>@Decorator</literal>。"
#. Tag: programlisting
#: decorators.xml:35
@@ -108,6 +117,29 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[@Decorator\n"
+"public abstract class LargeTransactionDecorator \n"
+" implements Account {\n"
+" \n"
+" @Decorates Account account;\n"
+" \n"
+" @PersistenceContext EntityManager em;\n"
+" \n"
+" public void withdraw(BigDecimal amount) {\n"
+" account.withdraw(amount);\n"
+" if ( amount.compareTo(LARGE_AMOUNT)>0 ) {\n"
+" em.persist( new LoggedWithdrawl(amount) );\n"
+" }\n"
+" }\n"
+" \n"
+" public void deposit(BigDecimal amount);\n"
+" account.deposit(amount);\n"
+" if ( amount.compareTo(LARGE_AMOUNT)>0 ) {\n"
+" em.persist( new LoggedDeposit(amount) );\n"
+" }\n"
+" }\n"
+" \n"
+"}]]>"
#. Tag: para
#: decorators.xml:37
@@ -116,13 +148,13 @@
"Unlike other simple Web Beans, a decorator may be an abstract class. If "
"there's nothing special the decorator needs to do for a particular method of "
"the decorated interface, you don't need to implement that method."
-msgstr ""
+msgstr "和其它單純的 Web Bean 不同的是,裝飾器可能會是個抽象類別(abstract class)。若裝飾器無須為被裝飾之介面的特定 method 進行任何特殊動作的話,您便無須實做該 method。"
#. Tag: title
#: decorators.xml:43
#, no-c-format
msgid "Delegate attributes"
-msgstr ""
+msgstr "Delegate(類別;表示委派)屬性"
#. Tag: para
#: decorators.xml:45
@@ -132,7 +164,7 @@
"binding types of the delegate attribute determine which Web Beans the "
"decorator is bound to. The delegate attribute type must implement or extend "
"all interfaces implemented by the decorator."
-msgstr ""
+msgstr "所有的裝飾器都有個 <emphasis>delegate 屬性</emphasis>。delegate 屬性的類型以及綁定類型可斷定裝飾器應綁定至哪些 Web Bean。delegate 屬性類型必須實做或是延伸裝飾器所實做的所有介面。"
#. Tag: para
#: decorators.xml:50
@@ -140,13 +172,13 @@
msgid ""
"This delegate attribute specifies that the decorator is bound to all Web "
"Beans that implement <literal>Account</literal>:"
-msgstr ""
+msgstr "下列 delegate 屬性指出裝飾器已綁定至所有實做 <literal>Account</literal> 的 Web Bean:"
#. Tag: programlisting
#: decorators.xml:53
#, no-c-format
msgid "<![CDATA[@Decorates Account account;]]>"
-msgstr ""
+msgstr "<![CDATA[@Decorates Account account;]]>"
#. Tag: para
#: decorators.xml:55
@@ -154,31 +186,31 @@
msgid ""
"A delegate attribute may specify a binding annotation. Then the decorator "
"will only be bound to Web Beans with the same binding."
-msgstr ""
+msgstr "Delegate 屬性可指定一個 binding annotation(綁定註解)。如此一來裝飾器便只會綁定至含有相同 binding 的 Web Bean。"
#. Tag: programlisting
#: decorators.xml:58
#, no-c-format
msgid "<![CDATA[@Decorates @Foreign Account account;]]>"
-msgstr ""
+msgstr "<![CDATA[@Decorates @Foreign Account account;]]>"
#. Tag: para
#: decorators.xml:60
#, no-c-format
msgid "A decorator is bound to any Web Bean which:"
-msgstr ""
+msgstr "一個裝飾器會綁定至任何符合以下條件的 Web Bean:"
#. Tag: para
#: decorators.xml:64
#, no-c-format
msgid "has the type of the delegate attribute as an API type, and"
-msgstr ""
+msgstr "擁有一個 API 類型的 delegate 屬性類型,以及"
#. Tag: para
#: decorators.xml:67
#, no-c-format
msgid "has all binding types that are declared by the delegate attribute."
-msgstr ""
+msgstr "擁有 delegate 屬性所宣告的所有綁定類型。"
#. Tag: para
#: decorators.xml:71
@@ -187,13 +219,13 @@
"The decorator may invoke the delegate attribute, which has much the same "
"effect as calling <literal>InvocationContext.proceed()</literal> from an "
"interceptor."
-msgstr ""
+msgstr "裝飾器能夠引動 delegate 屬性,這和透過一個攔截器調用 <literal>InvocationContext.proceed()</literal> 的效果大致相同。"
#. Tag: title
#: decorators.xml:78
#, no-c-format
msgid "Enabling decorators"
-msgstr ""
+msgstr "啟用裝飾器"
#. Tag: para
#: decorators.xml:80
@@ -201,7 +233,7 @@
msgid ""
"We need to <emphasis>enable</emphasis> our decorator in <literal>web-beans."
"xml</literal>."
-msgstr ""
+msgstr "我們需要在 <literal>web-beans.xml</literal> 中<emphasis>啟用</emphasis>我們的裝飾器。"
#. Tag: programlisting
#: decorators.xml:83
@@ -211,6 +243,9 @@
" <myapp:LargeTransactionDecorator/>\n"
"</Decorators>]]>"
msgstr ""
+"<![CDATA[<Decorators>\n"
+" <myapp:LargeTransactionDecorator/>\n"
+"</Decorators>]]>"
#. Tag: para
#: decorators.xml:85
@@ -218,7 +253,7 @@
msgid ""
"This declaration serves the same purpose for decorators that the "
"<literal><Interceptors></literal> declaration serves for interceptors:"
-msgstr ""
+msgstr "此宣告(declaration)對於裝飾器的目的和 <literal><Interceptors></literal> 宣告對於攔截器的目的是相同的:"
#. Tag: para
#: decorators.xml:90
@@ -226,13 +261,13 @@
msgid ""
"it enables us to specify a total ordering for all decorators in our system, "
"ensuring deterministic behavior, and"
-msgstr ""
+msgstr "它能讓我們為我們系統中所有的裝飾器指定一個全排序(total ordering),以確保確定性的特性,並且"
#. Tag: para
#: decorators.xml:94
#, no-c-format
msgid "it lets us enable or disable decorator classes at deployment time."
-msgstr ""
+msgstr "它讓我們能夠在建置時啟用或停用裝飾器類別。"
#. Tag: para
#: decorators.xml:98
@@ -240,4 +275,5 @@
msgid ""
"Interceptors for a method are called before decorators that apply to that "
"method."
-msgstr ""
+msgstr "一個 method 的攔截器會於套用至該 method 的裝飾器之前先被調用。"
+
Modified: doc/trunk/reference/zh-TW/ee.po
===================================================================
--- doc/trunk/reference/zh-TW/ee.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/ee.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,23 +1,26 @@
+# translation of ee.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: ee\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 09:47+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
#: ee.xml:4
#, no-c-format
msgid "Java EE integration"
-msgstr ""
+msgstr "Java EE 整合"
#. Tag: para
#: ee.xml:6
@@ -60,6 +63,15 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[@Transactional @Interceptor\n"
+"public class TransactionInterceptor {\n"
+"\n"
+" @Resource Transaction transaction;\n"
+"\n"
+" @AroundInvoke public Object manageTransaction(InvocationContext ctx) "
+"{ ... }\n"
+" \n"
+"}]]>"
#. Tag: programlisting
#: ee.xml:21
@@ -75,6 +87,15 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[@SessionScoped\n"
+"public class Login {\n"
+"\n"
+" @Current Credentials credentials;\n"
+" @PersistenceContext EntityManager userDatabase;\n"
+" \n"
+" ...\n"
+"\n"
+"}]]>"
#. Tag: para
#: ee.xml:23
@@ -134,6 +155,27 @@
" \n"
"}"
msgstr ""
+"public class Login extends HttpServlet {\n"
+"\n"
+" @Current Credentials credentials;\n"
+" @Current Login login;\n"
+"\n"
+" @Override\n"
+" public void service(HttpServletRequest request, HttpServletResponse "
+"response)\n"
+" throws ServletException, IOException {\n"
+" credentials.setUsername( request.getAttribute(\"username\") ):\n"
+" credentials.setPassword( request.getAttribute(\"password\") ):\n"
+" login.login();\n"
+" if ( login.isLoggedIn() ) {\n"
+" response.sendRedirect(\"/home.jsp\");\n"
+" }\n"
+" else {\n"
+" response.sendRedirect(\"/loginError.jsp\");\n"
+" }\n"
+" }\n"
+" \n"
+"}"
#. Tag: para
#: ee.xml:42
@@ -164,8 +206,7 @@
#. Tag: para
#: ee.xml:57
#, no-c-format
-msgid ""
-"You can even use Web Beans interceptor bindings for Message-Driven Beans."
+msgid "You can even use Web Beans interceptor bindings for Message-Driven Beans."
msgstr ""
#. Tag: programlisting
@@ -184,6 +225,17 @@
" \n"
"}"
msgstr ""
+"@Transactional @MessageDriven\n"
+"public class ProcessOrder implements MessageListener {\n"
+"\n"
+" @Current Inventory inventory;\n"
+" @PersistenceContext EntityManager em;\n"
+"\n"
+" public void onMessage(Message message) {\n"
+" ...\n"
+" }\n"
+" \n"
+"}"
#. Tag: para
#: ee.xml:61
@@ -242,6 +294,12 @@
" <myapp:OrderProcessor/> \n"
"</Queue>]]>"
msgstr ""
+"<![CDATA[<Queue>\n"
+" <destination>java:comp/env/jms/OrderQueue</destination>\n"
+" <connectionFactory>java:comp/env/jms/QueueConnectionFactory</"
+"connectionFactory>\n"
+" <myapp:OrderProcessor/> \n"
+"</Queue>]]>"
#. Tag: programlisting
#: ee.xml:88
@@ -254,6 +312,12 @@
" <myapp:StockPrices/> \n"
"</Topic>]]>"
msgstr ""
+"<![CDATA[<Topic>\n"
+" <destination>java:comp/env/jms/StockPrices</destination>\n"
+" <connectionFactory>java:comp/env/jms/TopicConnectionFactory</"
+"connectionFactory>\n"
+" <myapp:StockPrices/> \n"
+"</Topic>]]>"
#. Tag: para
#: ee.xml:90
@@ -279,6 +343,14 @@
" orderSender.send(msg);\n"
"}"
msgstr ""
+"@OrderProcessor QueueSender orderSender;\n"
+"@OrderProcessor QueueSession orderSession;\n"
+"\n"
+"public void sendMessage() {\n"
+" MapMessage msg = orderSession.createMapMessage();\n"
+" ...\n"
+" orderSender.send(msg);\n"
+"}"
#. Tag: programlisting
#: ee.xml:98
@@ -291,6 +363,12 @@
" pricePublisher.send( priceSession.createTextMessage(price) );\n"
"}"
msgstr ""
+"@StockPrices TopicPublisher pricePublisher;\n"
+"@StockPrices TopicSession priceSession;\n"
+"\n"
+"public void sendMessage(String price) {\n"
+" pricePublisher.send( priceSession.createTextMessage(price) );\n"
+"}"
#. Tag: para
#: ee.xml:100
@@ -327,3 +405,4 @@
"EJBs may be deployed for execution by the embeddable EJB Lite container. "
"Again, each location must contain a <literal>web-beans.xml</literal> file."
msgstr ""
+
Modified: doc/trunk/reference/zh-TW/events.po
===================================================================
--- doc/trunk/reference/zh-TW/events.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/events.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,17 +1,20 @@
+# translation of events.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: events\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 09:48+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
#: events.xml:4
@@ -75,6 +78,8 @@
"<![CDATA[public void onAnyDocumentEvent(@Observes Document document) "
"{ ... }]]>"
msgstr ""
+"<![CDATA[public void onAnyDocumentEvent(@Observes Document document) "
+"{ ... }]]>"
#. Tag: para
#: events.xml:35
@@ -96,6 +101,10 @@
"@Retention(RUNTIME)\n"
"public @interface Updated { ... }]]>"
msgstr ""
+"<![CDATA[@BindingType\n"
+"@Target({PARAMETER, FIELD})\n"
+"@Retention(RUNTIME)\n"
+"public @interface Updated { ... }]]>"
#. Tag: para
#: events.xml:43
@@ -112,6 +121,8 @@
"<![CDATA[public void afterDocumentUpdate(@Observes @Updated Document "
"document) { ... }]]>"
msgstr ""
+"<![CDATA[public void afterDocumentUpdate(@Observes @Updated Document "
+"document) { ... }]]>"
#. Tag: para
#: events.xml:48
@@ -138,6 +149,8 @@
"<![CDATA[public void afterDocumentUpdate(@Observes @Updated Document "
"document, User user) { ... }]]>"
msgstr ""
+"<![CDATA[public void afterDocumentUpdate(@Observes @Updated Document "
+"document, User user) { ... }]]>"
#. Tag: title
#: events.xml:61
@@ -157,7 +170,7 @@
#: events.xml:66
#, no-c-format
msgid "<![CDATA[@Observable Event<Document> documentEvent]]>"
-msgstr ""
+msgstr "<![CDATA[@Observable Event<Document> documentEvent]]>"
#. Tag: para
#: events.xml:68
@@ -182,7 +195,7 @@
#: events.xml:75
#, no-c-format
msgid "<![CDATA[documentEvent.fire(document);]]>"
-msgstr ""
+msgstr "<![CDATA[documentEvent.fire(document);]]>"
#. Tag: para
#: events.xml:77
@@ -230,6 +243,8 @@
"<![CDATA[documentEvent.fire( document, new AnnotationLiteral<Updated>()"
"{} );]]>"
msgstr ""
+"<![CDATA[documentEvent.fire( document, new AnnotationLiteral<Updated>()"
+"{} );]]>"
#. Tag: para
#: events.xml:100
@@ -266,7 +281,7 @@
#: events.xml:118
#, no-c-format
msgid "<![CDATA[@Observable @Updated Event<Document> documentUpdatedEvent]]>"
-msgstr ""
+msgstr "<![CDATA[@Observable @Updated Event<Document> documentUpdatedEvent]]>"
#. Tag: para
#: events.xml:120
@@ -309,6 +324,8 @@
"<![CDATA[documentEvent.observe( new Observer<Document>() { public void notify"
"(Document doc) { ... } } );]]>"
msgstr ""
+"<![CDATA[documentEvent.observe( new Observer<Document>() { public void notify"
+"(Document doc) { ... } } );]]>"
#. Tag: para
#: events.xml:146
@@ -328,6 +345,10 @@
" new "
"AnnotationLiteral<Updated>(){} );]]>"
msgstr ""
+"<![CDATA[documentEvent.observe( new Observer<Document>() { public void notify"
+"(Document doc) { ... } }, \n"
+" new "
+"AnnotationLiteral<Updated>(){} );]]>"
#. Tag: title
#: events.xml:154
@@ -352,12 +373,17 @@
" RoleType value();\n"
"}]]>"
msgstr ""
+"<![CDATA[@BindingType\n"
+"@Target({PARAMETER, FIELD})\n"
+"@Retention(RUNTIME)\n"
+"public @interface Role {\n"
+" RoleType value();\n"
+"}]]>"
#. Tag: para
#: events.xml:160
#, no-c-format
-msgid ""
-"The member value is used to narrow the messages delivered to the observer:"
+msgid "The member value is used to narrow the messages delivered to the observer:"
msgstr ""
#. Tag: programlisting
@@ -367,6 +393,8 @@
"<![CDATA[public void adminLoggedIn(@Observes @Role(ADMIN) LoggedIn event) "
"{ ... }]]>"
msgstr ""
+"<![CDATA[public void adminLoggedIn(@Observes @Role(ADMIN) LoggedIn event) "
+"{ ... }]]>"
#. Tag: para
#: events.xml:164
@@ -380,7 +408,7 @@
#: events.xml:167
#, no-c-format
msgid "<![CDATA[@Observable @Role(ADMIN) Event<LoggedIn> LoggedInEvent;}}]]>"
-msgstr ""
+msgstr "<![CDATA[@Observable @Role(ADMIN) Event<LoggedIn> LoggedInEvent;}}]]>"
#. Tag: para
#: events.xml:169
@@ -399,6 +427,9 @@
" extends AnnotationLiteral<Role> \n"
" implements Role {}]]>"
msgstr ""
+"<![CDATA[abstract class RoleBinding \n"
+" extends AnnotationLiteral<Role> \n"
+" implements Role {}]]>"
#. Tag: para
#: events.xml:174
@@ -415,6 +446,8 @@
"<![CDATA[documentEvent.fire( document, new RoleBinding() { public void value"
"() { return user.getRole(); } } );]]>"
msgstr ""
+"<![CDATA[documentEvent.fire( document, new RoleBinding() { public void value"
+"() { return user.getRole(); } } );]]>"
#. Tag: title
#: events.xml:181
@@ -437,6 +470,10 @@
"if (document.isBlog()) blogEvent.fire(document, new "
"AnnotationLiteral<Updated>(){});]]>"
msgstr ""
+"<![CDATA[@Observable @Blog Event<Document> blogEvent;\n"
+"...\n"
+"if (document.isBlog()) blogEvent.fire(document, new "
+"AnnotationLiteral<Updated>(){});]]>"
#. Tag: para
#: events.xml:187
@@ -453,6 +490,8 @@
"<![CDATA[public void afterBlogUpdate(@Observes @Updated @Blog Document "
"document) { ... }]]>"
msgstr ""
+"<![CDATA[public void afterBlogUpdate(@Observes @Updated @Blog Document "
+"document) { ... }]]>"
#. Tag: programlisting
#: events.xml:191
@@ -461,6 +500,8 @@
"<![CDATA[public void onAnyBlogEvent(@Observes @Blog Document document) "
"{ ... }]]>"
msgstr ""
+"<![CDATA[public void onAnyBlogEvent(@Observes @Blog Document document) "
+"{ ... }]]>"
#. Tag: programlisting
#: events.xml:192
@@ -469,6 +510,8 @@
"<![CDATA[public void onAnyDocumentEvent(@Observes Document document) "
"{ ... }}}]]>"
msgstr ""
+"<![CDATA[public void onAnyDocumentEvent(@Observes Document document) "
+"{ ... }}}]]>"
#. Tag: title
#: events.xml:197
@@ -494,6 +537,8 @@
"<![CDATA[public void refreshCategoryTree(@AfterTransactionSuccess @Observes "
"CategoryUpdateEvent event) { ... }]]>"
msgstr ""
+"<![CDATA[public void refreshCategoryTree(@AfterTransactionSuccess @Observes "
+"CategoryUpdateEvent event) { ... }]]>"
#. Tag: para
#: events.xml:207
@@ -547,8 +592,7 @@
#. Tag: para
#: events.xml:233
#, no-c-format
-msgid ""
-"Imagine that we have cached a JPA query result set in the application scope:"
+msgid "Imagine that we have cached a JPA query result set in the application scope:"
msgstr ""
#. Tag: programlisting
@@ -574,6 +618,24 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[@ApplicationScoped @Singleton\n"
+"public class Catalog {\n"
+"\n"
+" @PersistenceContext EntityManager em;\n"
+" \n"
+" List<Product> products;\n"
+"\n"
+" @Produces @Catalog \n"
+" List<Product> getCatalog() {\n"
+" if (products==null) {\n"
+" products = em.createQuery(\"select p from Product p where p."
+"deleted = false\")\n"
+" .getResultList();\n"
+" }\n"
+" return products;\n"
+" }\n"
+" \n"
+"}]]>"
#. Tag: para
#: events.xml:237
@@ -617,6 +679,25 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[@Stateless\n"
+"public class ProductManager {\n"
+"\n"
+" @PersistenceContext EntityManager em;\n"
+" @Observable Event<Product> productEvent;\n"
+"\n"
+" public void delete(Product product) {\n"
+" em.delete(product);\n"
+" productEvent.fire(product, new AnnotationLiteral<Deleted>(){});\n"
+" }\n"
+" \n"
+" public void persist(Product product) {\n"
+" em.persist(product);\n"
+" productEvent.fire(product, new AnnotationLiteral<Created>(){});\n"
+" }\n"
+" \n"
+" ...\n"
+" \n"
+"}]]>"
#. Tag: para
#: events.xml:247
@@ -647,3 +728,20 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[@ApplicationScoped @Singleton\n"
+"public class Catalog {\n"
+"\n"
+" ...\n"
+" \n"
+" void addProduct(@AfterTransactionSuccess @Observes @Created Product "
+"product) {\n"
+" products.add(product);\n"
+" }\n"
+" \n"
+" void addProduct(@AfterTransactionSuccess @Observes @Deleted Product "
+"product) {\n"
+" products.remove(product);\n"
+" }\n"
+" \n"
+"}]]>"
+
Modified: doc/trunk/reference/zh-TW/example.po
===================================================================
--- doc/trunk/reference/zh-TW/example.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/example.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,17 +1,20 @@
+# translation of example.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: example\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 09:49+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
#: example.xml:4
@@ -46,6 +49,19 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[@Named @RequestScoped\n"
+"public class Credentials {\n"
+" \n"
+" private String username;\n"
+" private String password;\n"
+" \n"
+" public String getUsername() { return username; }\n"
+" public void setUsername(String username) { this.username = username; }\n"
+" \n"
+" public String getPassword() { return password; }\n"
+" public void setPassword(String password) { this.password = password; }\n"
+" \n"
+"}]]>"
#. Tag: para
#: example.xml:13
@@ -70,6 +86,18 @@
"{login.loggedIn}\"/>\n"
"</h:form>]]>"
msgstr ""
+"<![CDATA[<h:form>\n"
+" <h:panelGrid columns=\"2\" rendered=\"#{!login.loggedIn}\">\n"
+" <h:outputLabel for=\"username\">Username:</h:outputLabel>\n"
+" <h:inputText id=\"username\" value=\"#{credentials.username}\"/>\n"
+" <h:outputLabel for=\"password\">Password:</h:outputLabel>\n"
+" <h:inputText id=\"password\" value=\"#{credentials.password}\"/>\n"
+" </h:panelGrid>\n"
+" <h:commandButton value=\"Login\" action=\"#{login.login}\" rendered=\"#{!"
+"login.loggedIn}\"/>\n"
+" <h:commandButton value=\"Logout\" acion=\"#{login.logout}\" rendered=\"#"
+"{login.loggedIn}\"/>\n"
+"</h:form>]]>"
#. Tag: para
#: example.xml:17
@@ -121,6 +149,42 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[@SessionScoped @Named\n"
+"public class Login {\n"
+"\n"
+" @Current Credentials credentials;\n"
+" @PersistenceContext EntityManager userDatabase;\n"
+"\n"
+" private User user;\n"
+" \n"
+" public void login() {\n"
+" \n"
+" List<User> results = userDatabase.createQuery(\n"
+" \"select u from User u where u.username=:username and u.password=:"
+"password\")\n"
+" .setParameter(\"username\", credentials.getUsername())\n"
+" .setParameter(\"password\", credentials.getPassword())\n"
+" .getResultList();\n"
+" \n"
+" if ( !results.isEmpty() ) {\n"
+" user = results.get(0);\n"
+" }\n"
+" \n"
+" }\n"
+" \n"
+" public void logout() {\n"
+" user = null;\n"
+" }\n"
+" \n"
+" public boolean isLoggedIn() {\n"
+" return user!=null;\n"
+" }\n"
+" \n"
+" @Produces @LoggedIn User getCurrentUser() {\n"
+" return user;\n"
+" }\n"
+"\n"
+"}]]>"
#. Tag: para
#: example.xml:23
@@ -137,6 +201,10 @@
"@BindingType\n"
"public @interface LoggedIn {}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD, FIELD})\n"
+"@BindingType\n"
+"public @interface LoggedIn {}]]>"
#. Tag: para
#: example.xml:27
@@ -161,6 +229,18 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[public class DocumentEditor {\n"
+"\n"
+" @Current Document document;\n"
+" @LoggedIn User currentUser;\n"
+" @PersistenceContext EntityManager docDatabase;\n"
+" \n"
+" public void save() {\n"
+" document.setCreatedBy(currentUser);\n"
+" docDatabase.persist(document);\n"
+" }\n"
+" \n"
+"}]]>"
#. Tag: para
#: example.xml:31
@@ -170,3 +250,4 @@
"the next chapter, we'll explore Web Beans dependency injection in greater "
"depth."
msgstr ""
+
Modified: doc/trunk/reference/zh-TW/extend.po
===================================================================
--- doc/trunk/reference/zh-TW/extend.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/extend.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,17 +1,20 @@
+# translation of extend.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: extend\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 09:51+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
#: extend.xml:4
@@ -62,7 +65,7 @@
#: extend.xml:29
#, no-c-format
msgid "The <literal>Manager</literal> object"
-msgstr ""
+msgstr "<literal>Manager</literal> 物件"
#. Tag: para
#: extend.xml:31
@@ -133,6 +136,62 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[public interface Manager\n"
+"{\n"
+"\n"
+" public <T> Set<Bean<T>> resolveByType(Class<T> type, Annotation... "
+"bindings);\n"
+"\n"
+" public <T> Set<Bean<T>> resolveByType(TypeLiteral<T> apiType,\n"
+" Annotation... bindings);\n"
+"\n"
+" public <T> T getInstanceByType(Class<T> type, Annotation... bindings);\n"
+"\n"
+" public <T> T getInstanceByType(TypeLiteral<T> type,\n"
+" Annotation... bindings);\n"
+"\n"
+" public Set<Bean<?>> resolveByName(String name);\n"
+"\n"
+" public Object getInstanceByName(String name);\n"
+"\n"
+" public <T> T getInstance(Bean<T> bean);\n"
+"\n"
+" public void fireEvent(Object event, Annotation... bindings);\n"
+"\n"
+" public Context getContext(Class<? extends Annotation> scopeType);\n"
+"\n"
+" public Manager addContext(Context context);\n"
+"\n"
+" public Manager addBean(Bean<?> bean);\n"
+"\n"
+" public Manager addInterceptor(Interceptor interceptor);\n"
+"\n"
+" public Manager addDecorator(Decorator decorator);\n"
+"\n"
+" public <T> Manager addObserver(Observer<T> observer, Class<T> eventType,\n"
+" Annotation... bindings);\n"
+"\n"
+" public <T> Manager addObserver(Observer<T> observer, TypeLiteral<T> "
+"eventType,\n"
+" Annotation... bindings);\n"
+"\n"
+" public <T> Manager removeObserver(Observer<T> observer, Class<T> "
+"eventType,\n"
+" Annotation... bindings);\n"
+"\n"
+" public <T> Manager removeObserver(Observer<T> observer,\n"
+" TypeLiteral<T> eventType, Annotation... bindings);\n"
+"\n"
+" public <T> Set<Observer<T>> resolveObservers(T event, Annotation... "
+"bindings);\n"
+"\n"
+" public List<Interceptor> resolveInterceptors(InterceptionType type,\n"
+" Annotation... interceptorBindings);\n"
+"\n"
+" public List<Decorator> resolveDecorators(Set<Class<?>> types,\n"
+" Annotation... bindings);\n"
+"\n"
+"}]]>"
#. Tag: para
#: extend.xml:36
@@ -191,6 +250,31 @@
" \n"
"}"
msgstr ""
+"public abstract class Bean<T> {\n"
+" \n"
+" private final Manager manager;\n"
+" \n"
+" protected Bean(Manager manager) {\n"
+" this.manager=manager;\n"
+" }\n"
+" \n"
+" protected Manager getManager() {\n"
+" return manager;\n"
+" }\n"
+" \n"
+" public abstract Set<Class> getTypes();\n"
+" public abstract Set<Annotation> getBindingTypes();\n"
+" public abstract Class<? extends Annotation> getScopeType();\n"
+" public abstract Class<? extends Annotation> getDeploymentType(); \n"
+" public abstract String getName();\n"
+" \n"
+" public abstract boolean isSerializable();\n"
+" public abstract boolean isNullable();\n"
+"\n"
+" public abstract T create();\n"
+" public abstract void destroy(T instance);\n"
+" \n"
+"}"
#. Tag: para
#: extend.xml:52
@@ -217,7 +301,7 @@
#: extend.xml:67
#, no-c-format
msgid "The <literal>Context</literal> interface"
-msgstr ""
+msgstr "<literal>Context</literal> 介面"
#. Tag: para
#: extend.xml:69
@@ -241,6 +325,15 @@
" \n"
"}"
msgstr ""
+"public interface Context {\n"
+" \n"
+" public Class<? extends Annotation> getScopeType();\n"
+" \n"
+" public <T> T get(Bean<T> bean, boolean create);\n"
+" \n"
+" boolean isActive();\n"
+" \n"
+"}"
#. Tag: para
#: extend.xml:74
@@ -250,3 +343,4 @@
"process scope to Web Beans, or to add support for the conversation scope to "
"an application that uses Wicket."
msgstr ""
+
Modified: doc/trunk/reference/zh-TW/injection.po
===================================================================
--- doc/trunk/reference/zh-TW/injection.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/injection.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,17 +1,20 @@
+# translation of injection.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: injection\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 09:54+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
#: injection.xml:4
@@ -46,6 +49,16 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[public class Checkout {\n"
+" \n"
+" private final ShoppingCart cart;\n"
+" \n"
+" @Initializer\n"
+" public Checkout(ShoppingCart cart) {\n"
+" this.cart = cart;\n"
+" }\n"
+"\n"
+"}]]>"
#. Tag: para
#: injection.xml:12
@@ -68,6 +81,16 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[public class Checkout {\n"
+" \n"
+" private ShoppingCart cart;\n"
+"\n"
+" @Initializer \n"
+" void setShoppingCart(ShoppingCart cart) {\n"
+" this.cart = cart;\n"
+" }\n"
+" \n"
+"}]]>"
#. Tag: para
#: injection.xml:16
@@ -85,6 +108,11 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[public class Checkout {\n"
+"\n"
+" private @Current ShoppingCart cart;\n"
+" \n"
+"}]]>"
#. Tag: para
#: injection.xml:20
@@ -157,6 +185,9 @@
" return new Checkout(cart);\n"
"}]]>"
msgstr ""
+"<![CDATA[@Produces Checkout createCheckout(ShoppingCart cart) {\n"
+" return new Checkout(cart);\n"
+"}]]>"
#. Tag: para
#: injection.xml:55
@@ -218,8 +249,7 @@
#. Tag: para
#: injection.xml:88
#, no-c-format
-msgid ""
-"Let's explore how the Web Beans manager determines a Web Bean to be injected."
+msgid "Let's explore how the Web Beans manager determines a Web Bean to be injected."
msgstr ""
#. Tag: title
@@ -247,6 +277,10 @@
" public void process(Payment payment) { ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[@PayByCheque\n"
+"public class ChequePaymentProcessor implements PaymentProcessor {\n"
+" public void process(Payment payment) { ... }\n"
+"}]]>"
#. Tag: programlisting
#: injection.xml:100
@@ -257,6 +291,10 @@
" public void process(Payment payment) { ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[@PayByCreditCard\n"
+"public class CreditCardPaymentProcessor implements PaymentProcessor {\n"
+" public void process(Payment payment) { ... }\n"
+"}]]>"
#. Tag: para
#: injection.xml:102
@@ -275,6 +313,10 @@
"@BindingType\n"
"public @interface PayByCheque {}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD, FIELD, PARAMETER})\n"
+"@BindingType\n"
+"public @interface PayByCheque {}]]>"
#. Tag: programlisting
#: injection.xml:107
@@ -285,6 +327,10 @@
"@BindingType\n"
"public @interface PayByCreditCard {}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD, FIELD, PARAMETER})\n"
+"@BindingType\n"
+"public @interface PayByCreditCard {}]]>"
#. Tag: para
#: injection.xml:109
@@ -307,6 +353,8 @@
"<![CDATA[@PayByCheque PaymentProcessor chequePaymentProcessor;\n"
"@PayByCreditCard PaymentProcessor creditCardPaymentProcessor;]]>"
msgstr ""
+"<![CDATA[@PayByCheque PaymentProcessor chequePaymentProcessor;\n"
+"@PayByCreditCard PaymentProcessor creditCardPaymentProcessor;]]>"
#. Tag: para
#: injection.xml:116
@@ -327,6 +375,14 @@
" this.creditCardPaymentProcessor = creditCardPaymentProcessor;\n"
"}]]>"
msgstr ""
+"<![CDATA[@Initializer\n"
+"public void setPaymentProcessors(@PayByCheque PaymentProcessor "
+"chequePaymentProcessor, \n"
+" @PayByCreditCard PaymentProcessor "
+"creditCardPaymentProcessor) {\n"
+" this.chequePaymentProcessor = chequePaymentProcessor;\n"
+" this.creditCardPaymentProcessor = creditCardPaymentProcessor;\n"
+"}]]>"
#. Tag: para
#: injection.xml:120
@@ -346,6 +402,13 @@
" this.creditCardPaymentProcessor = creditCardPaymentProcessor;\n"
"}]]>"
msgstr ""
+"<![CDATA[@Initializer\n"
+"public Checkout(@PayByCheque PaymentProcessor chequePaymentProcessor, \n"
+" @PayByCreditCard PaymentProcessor "
+"creditCardPaymentProcessor) {\n"
+" this.chequePaymentProcessor = chequePaymentProcessor;\n"
+" this.creditCardPaymentProcessor = creditCardPaymentProcessor;\n"
+"}]]>"
#. Tag: title
#: injection.xml:125
@@ -370,6 +433,12 @@
" PaymentType value();\n"
"}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD, FIELD, PARAMETER})\n"
+"@BindingType\n"
+"public @interface PayBy {\n"
+" PaymentType value();\n"
+"}]]>"
#. Tag: para
#: injection.xml:131
@@ -384,6 +453,8 @@
"<![CDATA[@PayBy(CHEQUE) PaymentProcessor chequePaymentProcessor;\n"
"@PayBy(CREDIT_CARD) PaymentProcessor creditCardPaymentProcessor;]]>"
msgstr ""
+"<![CDATA[@PayBy(CHEQUE) PaymentProcessor chequePaymentProcessor;\n"
+"@PayBy(CREDIT_CARD) PaymentProcessor creditCardPaymentProcessor;]]>"
#. Tag: para
#: injection.xml:135
@@ -408,9 +479,8 @@
#. Tag: programlisting
#: injection.xml:145
#, no-c-format
-msgid ""
-"<![CDATA[@Asynchronous @PayByCheque PaymentProcessor paymentProcessor]]>"
-msgstr ""
+msgid "<![CDATA[@Asynchronous @PayByCheque PaymentProcessor paymentProcessor]]>"
+msgstr "<![CDATA[@Asynchronous @PayByCheque PaymentProcessor paymentProcessor]]>"
#. Tag: para
#: injection.xml:147
@@ -443,6 +513,12 @@
" return new AsynchronousPaymentProcessor(processor);\n"
"}]]>"
msgstr ""
+"<![CDATA[@Produces \n"
+"@Asynchronous @PayByCheque \n"
+"PaymentProcessor createAsyncPaymentProcessor(@PayByCheque PaymentProcessor "
+"processor) {\n"
+" return new AsynchronousPaymentProcessor(processor);\n"
+"}]]>"
#. Tag: title
#: injection.xml:162
@@ -516,6 +592,10 @@
" @DeploymentType\n"
" public @interface Mock {}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+" @Target({TYPE, METHOD})\n"
+" @DeploymentType\n"
+" public @interface Mock {}]]>"
#. Tag: para
#: injection.xml:199
@@ -537,6 +617,13 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[public class ExternalPaymentProcessor {\n"
+" \n"
+" public void process(Payment p) {\n"
+" ...\n"
+" }\n"
+" \n"
+"}]]>"
#. Tag: para
#: injection.xml:204
@@ -568,6 +655,15 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[@Mock \n"
+"public class MockPaymentProcessor implements PaymentProcessor {\n"
+"\n"
+" @Override\n"
+" public void process(Payment p) {\n"
+" p.setSuccessful(true);\n"
+" }\n"
+"\n"
+"}]]>"
#. Tag: para
#: injection.xml:212
@@ -614,6 +710,13 @@
" </Deploy>\n"
"</WebBeans>]]>"
msgstr ""
+"<![CDATA[<WebBeans>\n"
+" <Deploy>\n"
+" <Standard/>\n"
+" <Production/>\n"
+" <test:Mock/>\n"
+" </Deploy>\n"
+"</WebBeans>]]>"
#. Tag: para
#: injection.xml:229
@@ -662,7 +765,7 @@
#: injection.xml:251
#, no-c-format
msgid "<![CDATA[@Current PaymentProcessor paymentProcessor]]>"
-msgstr ""
+msgstr "<![CDATA[@Current PaymentProcessor paymentProcessor]]>"
#. Tag: para
#: injection.xml:253
@@ -724,8 +827,7 @@
#. Tag: para
#: injection.xml:286
#, no-c-format
-msgid ""
-"Deployment types are useful for all kinds of things, here's some examples:"
+msgid "Deployment types are useful for all kinds of things, here's some examples:"
msgstr ""
#. Tag: para
@@ -931,7 +1033,7 @@
#: injection.xml:397
#, no-c-format
msgid "<![CDATA[@Current Manager manager;]]>"
-msgstr ""
+msgstr "<![CDATA[@Current Manager manager;]]>"
#. Tag: para
#: injection.xml:399
@@ -948,6 +1050,8 @@
"<![CDATA[PaymentProcessor p = manager.getInstanceByType(PaymentProcessor."
"class);]]>"
msgstr ""
+"<![CDATA[PaymentProcessor p = manager.getInstanceByType(PaymentProcessor."
+"class);]]>"
#. Tag: para
#: injection.xml:404
@@ -967,6 +1071,10 @@
" new "
"AnnotationLiteral<CreditCard>(){});]]>"
msgstr ""
+"<![CDATA[PaymentProcessor p = manager.getInstanceByType(PaymentProcessor."
+"class, \n"
+" new "
+"AnnotationLiteral<CreditCard>(){});]]>"
#. Tag: para
#: injection.xml:410
@@ -985,6 +1093,9 @@
" extends AnnotationLiteral<CreditCard> \n"
" implements CreditCard {}]]>"
msgstr ""
+"<![CDATA[abstract class CreditCardBinding \n"
+" extends AnnotationLiteral<CreditCard> \n"
+" implements CreditCard {}]]>"
#. Tag: programlisting
#: injection.xml:415
@@ -997,6 +1108,12 @@
"{ return paymentType; } \n"
" } );]]>"
msgstr ""
+"<![CDATA[PaymentProcessor p = manager.getInstanceByType(PaymentProcessor."
+"class, \n"
+" new CreditCardBinding() { \n"
+" public void value() "
+"{ return paymentType; } \n"
+" } );]]>"
#. Tag: title
#: injection.xml:419
@@ -1104,7 +1221,7 @@
#: injection.xml:468
#, no-c-format
msgid "<![CDATA[Logger log = Logger.getLogger(MyClass.class.getName());]]>"
-msgstr ""
+msgstr "<![CDATA[Logger log = Logger.getLogger(MyClass.class.getName());]]>"
#. Tag: para
#: injection.xml:470
@@ -1127,6 +1244,14 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[class LogFactory {\n"
+"\n"
+" @Produces Logger createLogger(InjectionPoint injectionPoint) { \n"
+" return Logger.getLogger(injectionPoint.getMember().getDeclaringClass()."
+"getName()); \n"
+" }\n"
+"\n"
+"}]]>"
#. Tag: para
#: injection.xml:475
@@ -1138,7 +1263,7 @@
#: injection.xml:477
#, no-c-format
msgid "<![CDATA[@Current Logger log;]]>"
-msgstr ""
+msgstr "<![CDATA[@Current Logger log;]]>"
#. Tag: para
#: injection.xml:479
@@ -1159,6 +1284,12 @@
" @NonBinding public String value();\n"
"}]]>"
msgstr ""
+"<![CDATA[@BindingType\n"
+"@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD, FIELD, PARAMETER})\n"
+"public @interface HttpParam {\n"
+" @NonBinding public String value();\n"
+"}]]>"
#. Tag: para
#: injection.xml:484
@@ -1173,6 +1304,8 @@
"<![CDATA[@HttpParam(\"username\") String username;\n"
"@HttpParam(\"password\") String password;]]>"
msgstr ""
+"<![CDATA[@HttpParam(\"username\") String username;\n"
+"@HttpParam(\"password\") String password;]]>"
#. Tag: para
#: injection.xml:488
@@ -1194,6 +1327,15 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[class HttpParams\n"
+"\n"
+" @Produces @HttpParam(\"\")\n"
+" String getParamValue(ServletRequest request, InjectionPoint ip) {\n"
+" return request.getParameter(ip.getAnnotation(HttpParam.class).value"
+"());\n"
+" }\n"
+"\n"
+"}]]>"
#. Tag: para
#: injection.xml:492
@@ -1224,3 +1366,11 @@
" public Set<T extends Annotation> getAnnotations(); \n"
"}]]>"
msgstr ""
+"<![CDATA[public interface InjectionPoint { \n"
+" public Object getInstance(); \n"
+" public Bean<?> getBean(); \n"
+" public Member getMember(): \n"
+" public <T extends Annotation> T getAnnotation(Class<T> annotation); \n"
+" public Set<T extends Annotation> getAnnotations(); \n"
+"}]]>"
+
Modified: doc/trunk/reference/zh-TW/interceptors.po
===================================================================
--- doc/trunk/reference/zh-TW/interceptors.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/interceptors.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,17 +1,20 @@
+# translation of interceptors.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: interceptors\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 09:56+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
#: interceptors.xml:4
@@ -76,6 +79,10 @@
"{ ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[public class TransactionInterceptor {\n"
+" @AroundInvoke public Object manageTransaction(InvocationContext ctx) "
+"{ ... }\n"
+"}]]>"
#. Tag: para
#: interceptors.xml:38
@@ -94,6 +101,10 @@
"{ ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[public class DependencyInjectionInterceptor {\n"
+" @PostConstruct public void injectDependencies(InvocationContext ctx) "
+"{ ... }\n"
+"}]]>"
#. Tag: para
#: interceptors.xml:43
@@ -127,6 +138,10 @@
"@Retention(RUNTIME)\n"
"public @interface Transactional {}]]>"
msgstr ""
+"<![CDATA[@InterceptorBindingType\n"
+"@Target({METHOD, TYPE})\n"
+"@Retention(RUNTIME)\n"
+"public @interface Transactional {}]]>"
#. Tag: para
#: interceptors.xml:57
@@ -143,6 +158,8 @@
"<![CDATA[@Transactional\n"
"public class ShoppingCart { ... }]]>"
msgstr ""
+"<![CDATA[@Transactional\n"
+"public class ShoppingCart { ... }]]>"
#. Tag: para
#: interceptors.xml:62
@@ -158,6 +175,9 @@
" @Transactional public void checkout() { ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[public class ShoppingCart {\n"
+" @Transactional public void checkout() { ... }\n"
+"}]]>"
#. Tag: title
#: interceptors.xml:69
@@ -185,6 +205,11 @@
"{ ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[@Transactional @Interceptor\n"
+"public class TransactionInterceptor {\n"
+" @AroundInvoke public Object manageTransaction(InvocationContext ctx) "
+"{ ... }\n"
+"}]]>"
#. Tag: para
#: interceptors.xml:78
@@ -208,6 +233,15 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[@ApplicationScoped @Transactional @Interceptor\n"
+"public class TransactionInterceptor {\n"
+"\n"
+" @Resource Transaction transaction;\n"
+"\n"
+" @AroundInvoke public Object manageTransaction(InvocationContext ctx) "
+"{ ... }\n"
+" \n"
+"}]]>"
#. Tag: para
#: interceptors.xml:83
@@ -237,6 +271,9 @@
" <tx:TransactionInterceptor/>\n"
"</Interceptors>]]>"
msgstr ""
+"<![CDATA[<Interceptors>\n"
+" <tx:TransactionInterceptor/>\n"
+"</Interceptors>]]>"
#. Tag: para
#: interceptors.xml:95
@@ -281,6 +318,10 @@
" <tx:TransactionInterceptor/>\n"
"</Interceptors>]]>"
msgstr ""
+"<![CDATA[<Interceptors>\n"
+" <sx:SecurityInterceptor/>\n"
+" <tx:TransactionInterceptor/>\n"
+"</Interceptors>]]>"
#. Tag: para
#: interceptors.xml:114
@@ -313,6 +354,12 @@
" boolean requiresNew() default false;\n"
"}]]>"
msgstr ""
+"<![CDATA[@InterceptorBindingType\n"
+"@Target({METHOD, TYPE})\n"
+"@Retention(RUNTIME)\n"
+"public @interface Transactional {\n"
+" boolean requiresNew() default false;\n"
+"}]]>"
#. Tag: para
#: interceptors.xml:126
@@ -333,6 +380,11 @@
"{ ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[@Transactional(requiresNew=true) @Interceptor\n"
+"public class RequiresNewTransactionInterceptor {\n"
+" @AroundInvoke public Object manageTransaction(InvocationContext ctx) "
+"{ ... }\n"
+"}]]>"
#. Tag: para
#: interceptors.xml:132
@@ -349,6 +401,8 @@
"<![CDATA[@Transactional(requiresNew=true)\n"
"public class ShoppingCart { ... }]]>"
msgstr ""
+"<![CDATA[@Transactional(requiresNew=true)\n"
+"public class ShoppingCart { ... }]]>"
#. Tag: para
#: interceptors.xml:136
@@ -370,6 +424,12 @@
" @NonBinding String[] rolesAllowed() default {};\n"
"}]]>"
msgstr ""
+"<![CDATA[@InterceptorBindingType\n"
+"@Target({METHOD, TYPE})\n"
+"@Retention(RUNTIME)\n"
+"public @interface Secure {\n"
+" @NonBinding String[] rolesAllowed() default {};\n"
+"}]]>"
#. Tag: title
#: interceptors.xml:145
@@ -394,6 +454,8 @@
"<![CDATA[@Secure(rolesAllowed=\"admin\") @Transactional\n"
"public class ShoppingCart { ... }]]>"
msgstr ""
+"<![CDATA[@Secure(rolesAllowed=\"admin\") @Transactional\n"
+"public class ShoppingCart { ... }]]>"
#. Tag: para
#: interceptors.xml:154
@@ -410,6 +472,8 @@
"<![CDATA[@Transactional @Secure @Interceptor\n"
"public class TransactionalSecureInterceptor { ... }]]>"
msgstr ""
+"<![CDATA[@Transactional @Secure @Interceptor\n"
+"public class TransactionalSecureInterceptor { ... }]]>"
#. Tag: para
#: interceptors.xml:159
@@ -427,6 +491,9 @@
" @Transactional @Secure public void checkout() { ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[public class ShoppingCart {\n"
+" @Transactional @Secure public void checkout() { ... }\n"
+"}]]>"
#. Tag: programlisting
#: interceptors.xml:164
@@ -437,6 +504,10 @@
" @Transactional public void checkout() { ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[@Secure\n"
+"public class ShoppingCart {\n"
+" @Transactional public void checkout() { ... }\n"
+"}]]>"
#. Tag: programlisting
#: interceptors.xml:166
@@ -447,6 +518,10 @@
" @Secure public void checkout() { ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[@Transactionl\n"
+"public class ShoppingCart {\n"
+" @Secure public void checkout() { ... }\n"
+"}]]>"
#. Tag: programlisting
#: interceptors.xml:168
@@ -457,6 +532,10 @@
" public void checkout() { ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[@Transactional @Secure\n"
+"public class ShoppingCart {\n"
+" public void checkout() { ... }\n"
+"}]]>"
#. Tag: title
#: interceptors.xml:173
@@ -476,9 +555,8 @@
#. Tag: programlisting
#: interceptors.xml:179
#, no-c-format
-msgid ""
-"<![CDATA[public @interface Action extends Transactional, Secure { ... }]]>"
-msgstr ""
+msgid "<![CDATA[public @interface Action extends Transactional, Secure { ... }]]>"
+msgstr "<![CDATA[public @interface Action extends Transactional, Secure { ... }]]>"
#. Tag: para
#: interceptors.xml:181
@@ -501,6 +579,11 @@
"@Retention(RUNTIME)\n"
"public @interface Action { ... }]]>"
msgstr ""
+"<![CDATA[@Transactional @Secure\n"
+"@InterceptorBindingType\n"
+"@Target(TYPE)\n"
+"@Retention(RUNTIME)\n"
+"public @interface Action { ... }]]>"
#. Tag: para
#: interceptors.xml:188
@@ -516,7 +599,7 @@
#: interceptors.xml:195
#, no-c-format
msgid "Use of <literal>@Interceptors</literal>"
-msgstr ""
+msgstr "使用 <literal>@Interceptors</literal>"
#. Tag: para
#: interceptors.xml:197
@@ -537,6 +620,11 @@
" public void checkout() { ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[@Interceptors({TransactionInterceptor.class, SecurityInterceptor."
+"class})\n"
+"public class ShoppingCart {\n"
+" public void checkout() { ... }\n"
+"}]]>"
#. Tag: para
#: interceptors.xml:202
@@ -567,6 +655,6 @@
#. Tag: para
#: interceptors.xml:217
#, no-c-format
-msgid ""
-"Therefore, we recommend the use of Web Beans-style interceptor bindings."
+msgid "Therefore, we recommend the use of Web Beans-style interceptor bindings."
msgstr ""
+
Modified: doc/trunk/reference/zh-TW/intro.po
===================================================================
--- doc/trunk/reference/zh-TW/intro.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/intro.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,17 +1,20 @@
+# translation of intro.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: intro\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 09:57+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
#: intro.xml:4
@@ -68,6 +71,9 @@
" public List<String> parse(String text) { ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[public class SentenceParser {\n"
+" public List<String> parse(String text) { ... }\n"
+"}]]>"
#. Tag: para
#: intro.xml:31
@@ -87,6 +93,10 @@
" public String translate(String sentence) { ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[@Stateless\n"
+"public class SentenceTranslator implements Translator {\n"
+" public String translate(String sentence) { ... }\n"
+"}]]>"
#. Tag: para
#: intro.xml:37
@@ -103,6 +113,10 @@
" public String translate(String sentence);\n"
"}]]>"
msgstr ""
+"<![CDATA[@Local\n"
+"public interface Translator {\n"
+" public String translate(String sentence);\n"
+"}]]>"
#. Tag: para
#: intro.xml:41
@@ -138,6 +152,27 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[public class TextTranslator {\n"
+" \n"
+" private SentenceParser sentenceParser;\n"
+" private Translator sentenceTranslator;\n"
+" \n"
+" @Initializer\n"
+" TextTranslator(SentenceParser sentenceParser, Translator "
+"sentenceTranslator) {\n"
+" this.sentenceParser = sentenceParser;\n"
+" this.sentenceTranslator = sentenceTranslator;\n"
+" }\n"
+" \n"
+" public String translate(String text) {\n"
+" StringBuilder sb = new StringBuilder();\n"
+" for (String sentence: sentenceParser.parse(text)) {\n"
+" sb.append(sentenceTranslator.translate(sentence));\n"
+" }\n"
+" return sb.toString();\n"
+" }\n"
+" \n"
+"}]]>"
#. Tag: para
#: intro.xml:46
@@ -156,6 +191,10 @@
" this.textTranslator = textTranslator;\n"
"}]]>"
msgstr ""
+"<![CDATA[@Initializer\n"
+"public setTextTranslator(TextTranslator textTranslator) {\n"
+" this.textTranslator = textTranslator;\n"
+"}]]>"
#. Tag: para
#: intro.xml:51
@@ -172,6 +211,8 @@
"<![CDATA[TextTranslator tt = manager.getInstanceByType(TextTranslator."
"class);]]>"
msgstr ""
+"<![CDATA[TextTranslator tt = manager.getInstanceByType(TextTranslator."
+"class);]]>"
#. Tag: para
#: intro.xml:56
@@ -265,8 +306,7 @@
#. Tag: para
#: intro.xml:108
#, no-c-format
-msgid ""
-"which clients share a reference to a particular instance of the Web Bean."
+msgid "which clients share a reference to a particular instance of the Web Bean."
msgstr ""
#. Tag: para
@@ -446,7 +486,7 @@
#: intro.xml:191
#, no-c-format
msgid "<![CDATA[@CreditCard PaymentProcessor paymentProcessor]]>"
-msgstr ""
+msgstr "<![CDATA[@CreditCard PaymentProcessor paymentProcessor]]>"
#. Tag: para
#: intro.xml:193
@@ -482,6 +522,9 @@
"public class CreditCardPaymentProcessor \n"
" implements PaymentProcessor { ... }]]>"
msgstr ""
+"<![CDATA[@CreditCard\n"
+"public class CreditCardPaymentProcessor \n"
+" implements PaymentProcessor { ... }]]>"
#. Tag: para
#: intro.xml:206
@@ -550,6 +593,12 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[@Mock\n"
+"public class MockSentenceTranslator implements Translator {\n"
+" public String translate(String sentence) {\n"
+" return \"Lorem ipsum dolor sit amet\";\n"
+" }\n"
+"}]]>"
#. Tag: para
#: intro.xml:236
@@ -600,6 +649,8 @@
"<![CDATA[@SessionScoped\n"
"public class ShoppingCart { ... }]]>"
msgstr ""
+"<![CDATA[@SessionScoped\n"
+"public class ShoppingCart { ... }]]>"
#. Tag: para
#: intro.xml:259
@@ -646,6 +697,8 @@
"<![CDATA[@SessionScoped @Named(\"cart\")\n"
"public class ShoppingCart { ... }]]>"
msgstr ""
+"<![CDATA[@SessionScoped @Named(\"cart\")\n"
+"public class ShoppingCart { ... }]]>"
#. Tag: para
#: intro.xml:280
@@ -661,12 +714,14 @@
" ....\n"
"</h:dataTable>]]>"
msgstr ""
+"<![CDATA[<h:dataTable value=\"#{cart.lineItems}\" var=\"item\">\n"
+" ....\n"
+"</h:dataTable>]]>"
#. Tag: para
#: intro.xml:284
#, no-c-format
-msgid ""
-"It's even easier to just let the name be defaulted by the Web Bean manager:"
+msgid "It's even easier to just let the name be defaulted by the Web Bean manager:"
msgstr ""
#. Tag: programlisting
@@ -676,6 +731,8 @@
"<![CDATA[@SessionScoped @Named\n"
"public class ShoppingCart { ... }]]>"
msgstr ""
+"<![CDATA[@SessionScoped @Named\n"
+"public class ShoppingCart { ... }]]>"
#. Tag: para
#: intro.xml:289
@@ -717,6 +774,9 @@
"@Interceptors(TransactionInterceptor.class)\n"
"public class ShoppingCart { ... }]]>"
msgstr ""
+"<![CDATA[@SessionScoped \n"
+"@Interceptors(TransactionInterceptor.class)\n"
+"public class ShoppingCart { ... }]]>"
#. Tag: para
#: intro.xml:307
@@ -733,6 +793,8 @@
"<![CDATA[@SessionScoped @Transactional\n"
"public class ShoppingCart { ... }]]>"
msgstr ""
+"<![CDATA[@SessionScoped @Transactional\n"
+"public class ShoppingCart { ... }]]>"
#. Tag: para
#: intro.xml:313
@@ -866,6 +928,15 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[@Stateful @SessionScoped\n"
+"public class ShoppingCart {\n"
+"\n"
+" ...\n"
+" \n"
+" @Remove\n"
+" public void destroy() {}\n"
+"\n"
+"}]]>"
#. Tag: para
#: intro.xml:380
@@ -987,19 +1058,28 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[@ApplicationScoped\n"
+"public class Generator {\n"
+"\n"
+" private Random random = new Random( System.currentTimeMillis() );\n"
+" \n"
+" @Produces @Random int next() {\n"
+" return random.nextInt(100);\n"
+" }\n"
+"\n"
+"}]]>"
#. Tag: para
#: intro.xml:437
#, no-c-format
-msgid ""
-"The result of a producer method is injected just like any other Web Bean."
+msgid "The result of a producer method is injected just like any other Web Bean."
msgstr ""
#. Tag: programlisting
#: intro.xml:439
#, no-c-format
msgid "<![CDATA[@Random int randomNumber]]>"
-msgstr ""
+msgstr "<![CDATA[@Random int randomNumber]]>"
#. Tag: para
#: intro.xml:441
@@ -1024,6 +1104,9 @@
" return createConnection( user.getId(), user.getPassword() );\n"
"}]]>"
msgstr ""
+"<![CDATA[@Produces @RequestScoped Connection connect(User user) {\n"
+" return createConnection( user.getId(), user.getPassword() );\n"
+"}]]>"
#. Tag: para
#: intro.xml:449
@@ -1041,6 +1124,9 @@
" connection.close();\n"
"}]]>"
msgstr ""
+"<![CDATA[void close(@Disposes Connection connection) {\n"
+" connection.close();\n"
+"}]]>"
#. Tag: para
#: intro.xml:453
@@ -1073,3 +1159,4 @@
"objects required to send messages to queues and topics. We'll discuss JMS "
"endpoints in <xref linkend=\"jms\"/>."
msgstr ""
+
Modified: doc/trunk/reference/zh-TW/master.po
===================================================================
--- doc/trunk/reference/zh-TW/master.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/master.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,38 +1,42 @@
+# translation of master.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: master\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 10:09+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
#: master.xml:12
#, no-c-format
msgid "Using contextual objects"
-msgstr ""
+msgstr "使用概念上的物件"
#. Tag: title
#: master.xml:25
#, no-c-format
msgid "Developing loosely-coupled code"
-msgstr ""
+msgstr "開發鬆散耦合(loosely-coupled)的程式碼"
#. Tag: title
#: master.xml:35
#, no-c-format
msgid "Making the most of strong typing"
-msgstr ""
+msgstr "最大程度地使用強類型(strong typing)"
#. Tag: title
#: master.xml:46
#, no-c-format
msgid "Web Beans and the Java EE ecosystem"
-msgstr ""
+msgstr "Web Beans 與 Java EE 應用系統"
+
Modified: doc/trunk/reference/zh-TW/next.po
===================================================================
--- doc/trunk/reference/zh-TW/next.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/next.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,23 +1,26 @@
+# translation of next.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: next\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 10:54+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
#: next.xml:4
#, no-c-format
msgid "Next steps"
-msgstr ""
+msgstr "接下來的步驟"
#. Tag: para
#: next.xml:6
@@ -25,7 +28,7 @@
msgid ""
"Because Web Beans is so new, there's not yet a lot of information available "
"online."
-msgstr ""
+msgstr "因為 Web Beans 非常地新,因此還尚未有大量線上資訊以供參閱。"
#. Tag: para
#: next.xml:9
@@ -36,7 +39,7 @@
"the length of this article, and almost as readable. But, of course, it "
"covers many details that we've skipped over. The spec is available from "
"<literal>http://jcp.org/en/jsr/detail?id=299</literal>."
-msgstr ""
+msgstr "當然,Web Beans 的規格為有關於 Web Beans 的最佳來源資訊。該資訊的數量約為 100 頁,只比此文件的長度多出兩倍,並且一樣地容易閱讀。不過,當然它亦包含了許多我們所跳過的細節。您可藉由 <literal>http://jcp.org/en/jsr/detail?id=299</literal> 來取得該規格資訊。"
#. Tag: para
#: next.xml:15
@@ -46,4 +49,5 @@
"seamframework.org/WebBeans</literal>. The RI development team and the Web "
"Beans spec lead blog at <literal>http://in.relation.to</literal>. This "
"article is substantially based upon a series of blog entries published there."
-msgstr ""
+msgstr "Web Beans Reference 的實做開發於 <literal>http://seamframework.org/WebBeans</literal>。RI 開發團隊以及 Web Beans spec lead 的 blog 位於 <literal>http://in.relation.to</literal>。本文件大體上基於發佈於該網頁上的一系列 blog 項目。"
+
Modified: doc/trunk/reference/zh-TW/producermethods.po
===================================================================
--- doc/trunk/reference/zh-TW/producermethods.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/producermethods.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,17 +1,20 @@
+# translation of producermethods.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: producermethods\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 10:55+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
#: producermethods.xml:5
@@ -118,6 +121,10 @@
" ...\n"
"}]]>"
msgstr ""
+"<![CDATA[@Produces @Preferred @SessionScoped\n"
+"public PaymentStrategy getPaymentStrategy() {\n"
+" ...\n"
+"}]]>"
#. Tag: para
#: producermethods.xml:80
@@ -169,6 +176,17 @@
" } \n"
"}]]>"
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"
+"}]]>"
#. Tag: para
#: producermethods.xml:99
@@ -233,6 +251,19 @@
" } \n"
"}]]>"
msgstr ""
+"<![CDATA[@Produces @Preferred @SessionScoped\n"
+"public PaymentStrategy getPaymentStrategy(@New CreditCardPaymentStrategy "
+"ccps,\n"
+" @New ChequePaymentStrategy cps,\n"
+" @New 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:125
@@ -245,3 +276,4 @@
"<literal>Preferences</literal> object is destroyed, at the end of the "
"session."
msgstr ""
+
Modified: doc/trunk/reference/zh-TW/ri-spi.po
===================================================================
--- doc/trunk/reference/zh-TW/ri-spi.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/ri-spi.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,17 +1,20 @@
+# translation of ri-spi.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: ri-spi\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 10:59+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-spi.xml:4
@@ -44,7 +47,7 @@
#: ri-spi.xml:24
#, no-c-format
msgid "The Web Beans RI SPI"
-msgstr ""
+msgstr "Web Beans RI SPI"
#. Tag: para
#: ri-spi.xml:26
@@ -70,7 +73,7 @@
#: ri-spi.xml:43
#, no-c-format
msgid "Web Bean Discovery"
-msgstr ""
+msgstr "Web Bean Discovery"
#. Tag: programlisting
#: ri-spi.xml:45
@@ -101,6 +104,30 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[public interface WebBeanDiscovery {\n"
+" /**\n"
+" * Gets list of all classes in classpath archives with web-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"
+" * \n"
+" * @return An iterable over the web-beans.xml files \n"
+" */\n"
+" public Iterable<URL> discoverWebBeansXml();\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: para
#: ri-spi.xml:47
@@ -201,6 +228,81 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[public interface EjbDescriptor<T> {\n"
+" \n"
+" /**\n"
+" * Gets the EJB type\n"
+" * \n"
+" * @return The EJB Bean class\n"
+" */\n"
+" public Class<T> getType();\n"
+"\n"
+" /**\n"
+" * Gets the local business interfaces of the EJB\n"
+" * \n"
+" * @return An iterator over the local business interfaces\n"
+" */\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"
+" \n"
+" /**\n"
+" * Get the remove methods of the EJB\n"
+" * \n"
+" * @return An iterator over the remove methods\n"
+" */\n"
+" public Iterable<Method> getRemoveMethods();\n"
+"\n"
+" /**\n"
+" * Indicates if the bean is stateless\n"
+" * \n"
+" * @return True if stateless, false otherwise\n"
+" */\n"
+" public boolean isStateless();\n"
+"\n"
+" /**\n"
+" * Indicates if the bean is a EJB 3.1 Singleton\n"
+" * \n"
+" * @return True if the bean is a singleton, false otherwise\n"
+" */\n"
+" public boolean isSingleton();\n"
+"\n"
+" /**\n"
+" * Indicates if the EJB is stateful\n"
+" * \n"
+" * @return True if the bean is stateful, false otherwise\n"
+" */\n"
+" public boolean isStateful();\n"
+"\n"
+" /**\n"
+" * Indicates if the EJB is and MDB\n"
+" * \n"
+" * @return True if the bean is an MDB, false otherwise\n"
+" */\n"
+" public boolean isMessageDriven();\n"
+"\n"
+" /**\n"
+" * Gets the EJB name\n"
+" * \n"
+" * @return The name\n"
+" */\n"
+" public String getEjbName();\n"
+" \n"
+" /**\n"
+" * @return The JNDI string which can be used to lookup a proxy which \n"
+" * implements all local business interfaces \n"
+" * \n"
+" */\n"
+" public String getLocalJndiName();\n"
+" \n"
+"}]]>"
#. Tag: para
#: ri-spi.xml:62
@@ -229,12 +331,14 @@
"org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery=org.jboss.webbeans."
"integration.jbossas.WebBeanDiscoveryImpl"
msgstr ""
+"org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery=org.jboss.webbeans."
+"integration.jbossas.WebBeanDiscoveryImpl"
#. Tag: title
#: ri-spi.xml:80
#, no-c-format
msgid "JNDI"
-msgstr ""
+msgstr "JNDI"
#. Tag: para
#: ri-spi.xml:82
@@ -272,6 +376,27 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[public interface Naming 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 key The key to bind under\n"
+" * @param value The item to bind\n"
+" */\n"
+" public void bind(String key, Object value);\n"
+" \n"
+"}]]>"
#. Tag: para
#: ri-spi.xml:92 ri-spi.xml:113
@@ -283,13 +408,13 @@
#: ri-spi.xml:96
#, no-c-format
msgid "org.jboss.webbeans.resources.spi.Naming=com.acme.MyNaming"
-msgstr ""
+msgstr "org.jboss.webbeans.resources.spi.Naming=com.acme.MyNaming"
#. Tag: title
#: ri-spi.xml:101
#, no-c-format
msgid "Resource loading"
-msgstr ""
+msgstr "資源載入"
#. Tag: para
#: ri-spi.xml:103
@@ -336,12 +461,41 @@
"}\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+" public interface ResourceLoader {\n"
+" \n"
+" /**\n"
+" * Creates a class from a given FQCN\n"
+" * \n"
+" * @param name The name of the clsas\n"
+" * @return The class\n"
+" */\n"
+" public Class<?> classForName(String name);\n"
+" \n"
+" /**\n"
+" * Gets a resource as a URL by name\n"
+" * \n"
+" * @param name The name of the resource\n"
+" * @return An URL to the resource\n"
+" */\n"
+" public URL getResource(String name);\n"
+" \n"
+" /**\n"
+" * Gets resources as URLs by name\n"
+" * \n"
+" * @param name The name of the resource\n"
+" * @return An iterable reference to the URLS\n"
+" */\n"
+" public Iterable<URL> getResources(String name);\n"
+" \n"
+"}\n"
+" ]]>"
#. Tag: programlisting
#: ri-spi.xml:117
#, no-c-format
msgid "org.jboss.webbeans.resources.spi.ResourceLoader=com.acme.ResourceLoader"
-msgstr ""
+msgstr "org.jboss.webbeans.resources.spi.ResourceLoader=com.acme.ResourceLoader"
#. Tag: title
#: ri-spi.xml:124
@@ -376,7 +530,7 @@
#: ri-spi.xml:147
#, no-c-format
msgid "The <literal>webbeans-ri.jar</literal>"
-msgstr ""
+msgstr "<literal>webbeans-ri.jar</literal>"
#. Tag: para
#: ri-spi.xml:151
@@ -387,3 +541,4 @@
"literal> into the applications isolated classloader. It cannot be loaded "
"from a shared classloader."
msgstr ""
+
Modified: doc/trunk/reference/zh-TW/ri.po
===================================================================
--- doc/trunk/reference/zh-TW/ri.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/ri.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,17 +1,20 @@
+# 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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: ri\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 10:58+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
@@ -49,13 +52,13 @@
#: ri.xml:25
#, no-c-format
msgid "JBoss AS 5.0.0.GA, and"
-msgstr ""
+msgstr "JBoss AS 5.0.0.GA,以及"
#. Tag: para
#: ri.xml:28
#, no-c-format
msgid "Ant 1.7.0."
-msgstr ""
+msgstr "Ant 1.7.0。"
#. Tag: para
#: ri.xml:32
@@ -73,6 +76,8 @@
"<![CDATA[$ cd /Applications\n"
"$ unzip ~/jboss-5.0.0.GA.zip]]>"
msgstr ""
+"<![CDATA[$ cd /Applications\n"
+"$ unzip ~/jboss-5.0.0.GA.zip]]>"
#. Tag: para
#: ri.xml:41
@@ -89,6 +94,8 @@
"<![CDATA[$ cd ~/\n"
"$ unzip ~/webbeans-1.0.0.ALPHA1.zip]]>"
msgstr ""
+"<![CDATA[$ cd ~/\n"
+"$ unzip ~/webbeans-1.0.0.ALPHA1.zip]]>"
#. Tag: para
#: ri.xml:50
@@ -103,7 +110,7 @@
#: ri.xml:56
#, no-c-format
msgid "jboss.home=/Applications/jboss-5.0.0.GA"
-msgstr ""
+msgstr "jboss.home=/Applications/jboss-5.0.0.GA"
#. Tag: para
#: ri.xml:58
@@ -140,6 +147,8 @@
"$ 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:81
@@ -156,6 +165,8 @@
"$ cd webbeans-1.0.0.ALPHA1/jboss-as\n"
"$ ant update"
msgstr ""
+"$ cd webbeans-1.0.0.ALPHA1/jboss-as\n"
+"$ ant update"
#. Tag: para
#: ri.xml:88
@@ -166,8 +177,7 @@
#. Tag: para
#: ri.xml:93
#, no-c-format
-msgid ""
-"The build scripts for the examples offer a number of targets, these are:"
+msgid "The build scripts for the examples offer a number of targets, these are:"
msgstr ""
#. Tag: para
@@ -187,8 +197,7 @@
#. Tag: para
#: ri.xml:111
#, no-c-format
-msgid ""
-"<literal>ant deploy</literal> - deploy the example in compressed jar format"
+msgid "<literal>ant deploy</literal> - deploy the example in compressed jar format"
msgstr ""
#. Tag: para
@@ -216,6 +225,8 @@
"$ cd examples/numberguess\n"
"ant deploy"
msgstr ""
+"$ cd examples/numberguess\n"
+"ant deploy"
#. Tag: para
#: ri.xml:134
@@ -242,6 +253,8 @@
"$ cd examples/translator\n"
"ant deploy"
msgstr ""
+"$ cd examples/translator\n"
+"ant deploy"
#. Tag: para
#: ri.xml:148
@@ -302,6 +315,18 @@
"\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:178
@@ -315,7 +340,7 @@
#: ri.xml:183
#, no-c-format
msgid "Finally there is <literal>web.xml</literal>:"
-msgstr ""
+msgstr "最後為 <literal>web.xml</literal>:"
#. Tag: section
#: ri.xml:185
@@ -447,6 +472,131 @@
"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="
+"\"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:298
@@ -467,6 +617,11 @@
"@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:306
@@ -487,6 +642,12 @@
"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:313
@@ -525,6 +686,29 @@
"\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:321
@@ -654,6 +838,102 @@
" \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:343
@@ -718,6 +998,23 @@
" </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:372
@@ -750,12 +1047,20 @@
"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>]]>"
#. Tag: para
#: ri.xml:387
#, no-c-format
msgid "and <literal>META-INF/application.xml</literal>:"
-msgstr ""
+msgstr "以及 <literal>META-INF/application.xml</literal>:"
#. Tag: programlisting
#: ri.xml:391
@@ -782,6 +1087,26 @@
" </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:394
@@ -834,6 +1159,33 @@
" \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:409
@@ -884,6 +1236,29 @@
" \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>]]>"
#. Tag: para
#: ri.xml:428
@@ -921,6 +1296,16 @@
" 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:446
@@ -952,6 +1337,13 @@
" \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:460
@@ -975,6 +1367,11 @@
" \n"
" }]]>"
msgstr ""
+"<![CDATA[ @Remove\n"
+" public void remove()\n"
+" {\n"
+" \n"
+" }]]>"
#. Tag: para
#: ri.xml:470
@@ -1001,3 +1398,4 @@
"We need help in all areas - bug fixing, writing new features, writing "
"examples and translating this reference guide."
msgstr ""
+
Modified: doc/trunk/reference/zh-TW/scopescontexts.po
===================================================================
--- doc/trunk/reference/zh-TW/scopescontexts.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/scopescontexts.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,17 +1,20 @@
+# translation of scopescontexts.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: scopescontexts\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 11:01+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
#: scopescontexts.xml:4
@@ -45,8 +48,7 @@
#. 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 ""
#. Tag: para
@@ -84,6 +86,10 @@
"@ScopeType\n"
"public @interface ClusterScoped {}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD})\n"
+"@ScopeType\n"
+"public @interface ClusterScoped {}]]>"
#. Tag: para
#: scopescontexts.xml:39
@@ -110,6 +116,8 @@
"<![CDATA[@ClusterScoped\n"
"public class SecondLevelCache { ... }]]>"
msgstr ""
+"<![CDATA[@ClusterScoped\n"
+"public class SecondLevelCache { ... }]]>"
#. Tag: para
#: scopescontexts.xml:58
@@ -133,25 +141,25 @@
#: scopescontexts.xml:69
#, no-c-format
msgid "@RequestScoped"
-msgstr ""
+msgstr "@RequestScoped"
#. Tag: literal
#: scopescontexts.xml:72
#, no-c-format
msgid "@SessionScoped"
-msgstr ""
+msgstr "@SessionScoped"
#. Tag: literal
#: scopescontexts.xml:75
#, no-c-format
msgid "@ApplicationScoped"
-msgstr ""
+msgstr "@ApplicationScoped"
#. Tag: literal
#: scopescontexts.xml:78
#, no-c-format
msgid "@ConversationScoped"
-msgstr ""
+msgstr "@ConversationScoped"
#. Tag: para
#: scopescontexts.xml:82
@@ -290,7 +298,7 @@
#: scopescontexts.xml:154
#, no-c-format
msgid "@Current Conversation conversation;"
-msgstr ""
+msgstr "@Current Conversation conversation;"
#. Tag: para
#: scopescontexts.xml:156
@@ -346,6 +354,36 @@
" \n"
"}"
msgstr ""
+"@ConversationScoped @Stateful\n"
+"public class OrderBuilder {\n"
+"\n"
+" private Order order;\n"
+" private @Current Conversation conversation;\n"
+" private @PersistenceContext(type=EXTENDED) EntityManager em;\n"
+" \n"
+" @Produces public Order getOrder() {\n"
+" return order;\n"
+" }\n"
+"\n"
+" public Order createOrder() {\n"
+" order = new Order();\n"
+" conversation.begin();\n"
+" return order;\n"
+" }\n"
+" \n"
+" public void addLineItem(Product product, int quantity) {\n"
+" order.add( new LineItem(product, quantity) );\n"
+" }\n"
+"\n"
+" public void saveOrder(Order order) {\n"
+" em.persist(order);\n"
+" conversation.end();\n"
+" }\n"
+" \n"
+" @Remove\n"
+" public void destroy() {}\n"
+" \n"
+"}"
#. Tag: para
#: scopescontexts.xml:166
@@ -396,6 +434,8 @@
"<![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
@@ -438,7 +478,7 @@
#: scopescontexts.xml:212
#, no-c-format
msgid "conversation.setTimeout(timeoutInMillis);"
-msgstr ""
+msgstr "conversation.setTimeout(timeoutInMillis);"
#. Tag: title
#: scopescontexts.xml:219
@@ -458,15 +498,14 @@
#. Tag: para
#: scopescontexts.xml:225
#, 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 ""
#. Tag: programlisting
#: scopescontexts.xml:227
#, no-c-format
msgid "<![CDATA[public class Calculator { ... }]]>"
-msgstr ""
+msgstr "<![CDATA[public class Calculator { ... }]]>"
#. Tag: para
#: scopescontexts.xml:229
@@ -515,7 +554,7 @@
#: scopescontexts.xml:254
#, no-c-format
msgid "<![CDATA[@New Calculator calculator;]]>"
-msgstr ""
+msgstr "<![CDATA[@New Calculator calculator;]]>"
#. Tag: para
#: scopescontexts.xml:256
@@ -542,6 +581,8 @@
"<![CDATA[@ConversationScoped\n"
"public class Calculator { ... }]]>"
msgstr ""
+"<![CDATA[@ConversationScoped\n"
+"public class Calculator { ... }]]>"
#. Tag: para
#: scopescontexts.xml:266
@@ -562,6 +603,12 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[public class PaymentCalc {\n"
+"\n"
+" @Current Calculator calculator;\n"
+" @New Calculator newCalculator;\n"
+"\n"
+"}]]>"
#. Tag: para
#: scopescontexts.xml:271
@@ -580,3 +627,4 @@
"This feature is particularly useful with producer methods, as we'll see in "
"the next chapter."
msgstr ""
+
Modified: doc/trunk/reference/zh-TW/specialization.po
===================================================================
--- doc/trunk/reference/zh-TW/specialization.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/specialization.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,17 +1,20 @@
+# translation of specialization.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: specialization\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 11:01+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
#: specialization.xml:4
@@ -39,6 +42,11 @@
" ...\n"
"}"
msgstr ""
+"@CreditCard @Stateless\n"
+"public class CreditCardPaymentProcessor \n"
+" implements PaymentProcessor {\n"
+" ...\n"
+"}"
#. Tag: para
#: specialization.xml:13
@@ -58,6 +66,11 @@
" ...\n"
"}"
msgstr ""
+"@CreditCard @Stateless @Staging\n"
+"public class StagingCreditCardPaymentProcessor \n"
+" implements PaymentProcessor {\n"
+" ...\n"
+"}"
#. Tag: para
#: specialization.xml:18
@@ -75,7 +88,7 @@
#: specialization.xml:24
#, no-c-format
msgid "@CreditCard PaymentProcessor ccpp"
-msgstr ""
+msgstr "@CreditCard PaymentProcessor ccpp"
#. Tag: para
#: specialization.xml:26
@@ -187,6 +200,11 @@
" ...\n"
"}"
msgstr ""
+"@Stateless @Staging @Specializes\n"
+"public class StagingCreditCardPaymentProcessor \n"
+" extends CreditCardPaymentProcessor {\n"
+" ...\n"
+"}"
#. Tag: para
#: specialization.xml:79
@@ -269,8 +287,7 @@
#. Tag: para
#: specialization.xml:124
#, no-c-format
-msgid ""
-"there is no other enabled Web Bean that also specializes the superclass."
+msgid "there is no other enabled Web Bean that also specializes the superclass."
msgstr ""
#. Tag: para
@@ -289,3 +306,4 @@
"emphasis> be called in any deployment of the system where the Web Bean "
"annotated <literal>@Specializes</literal> is deployed and enabled."
msgstr ""
+
Modified: doc/trunk/reference/zh-TW/stereotypes.po
===================================================================
--- doc/trunk/reference/zh-TW/stereotypes.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/stereotypes.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,17 +1,20 @@
+# translation of stereotypes.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: stereotypes\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 11:02+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
#: stereotypes.xml:4
@@ -102,6 +105,10 @@
"@Stereotype\n"
"public @interface Action {}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target(TYPE)\n"
+"@Stereotype\n"
+"public @interface Action {}]]>"
#. Tag: para
#: stereotypes.xml:46
@@ -116,6 +123,8 @@
"<![CDATA[@Action \n"
"public class LoginAction { ... }]]>"
msgstr ""
+"<![CDATA[@Action \n"
+"public class LoginAction { ... }]]>"
#. Tag: title
#: stereotypes.xml:51
@@ -145,6 +154,12 @@
"@Stereotype\n"
"public @interface Action {}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target(TYPE)\n"
+"@RequestScoped\n"
+"@WebTier\n"
+"@Stereotype\n"
+"public @interface Action {}]]>"
#. Tag: para
#: stereotypes.xml:61
@@ -161,12 +176,13 @@
"<![CDATA[@Dependent @Mock @Action \n"
"public class MockLoginAction { ... }]]>"
msgstr ""
+"<![CDATA[@Dependent @Mock @Action \n"
+"public class MockLoginAction { ... }]]>"
#. Tag: para
#: stereotypes.xml:66
#, no-c-format
-msgid ""
-"If we want to force all actions to a particular scope, we can do that too."
+msgid "If we want to force all actions to a particular scope, we can do that too."
msgstr ""
#. Tag: title
@@ -195,6 +211,8 @@
"@Stereotype(supportedScopes=RequestScoped.class)\n"
"public @interface Action {}]]>"
msgstr ""
+"<![CDATA[@Dependent @Mock @Action \n"
+"public class MockLoginAction { ... }]]>"
#. Tag: para
#: stereotypes.xml:80
@@ -224,6 +242,12 @@
"@Stereotype(requiredTypes=AbstractAction.class)\n"
"public @interface Action {}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target(TYPE)\n"
+"@RequestScoped\n"
+"@WebTier\n"
+"@Stereotype(requiredTypes=AbstractAction.class)\n"
+"public @interface Action {}]]>"
#. Tag: para
#: stereotypes.xml:89
@@ -261,6 +285,14 @@
"@Stereotype\n"
"public @interface Action {}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target(TYPE)\n"
+"@RequestScoped\n"
+"@Transactional(requiresNew=true)\n"
+"@Secure\n"
+"@WebTier\n"
+"@Stereotype\n"
+"public @interface Action {}]]>"
#. Tag: para
#: stereotypes.xml:103
@@ -300,6 +332,15 @@
"@Stereotype\n"
"public @interface Action {}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target(TYPE)\n"
+"@RequestScoped\n"
+"@Transactional(requiresNew=true)\n"
+"@Secure\n"
+"@Named\n"
+"@WebTier\n"
+"@Stereotype\n"
+"public @interface Action {}]]>"
#. Tag: para
#: stereotypes.xml:118
@@ -341,6 +382,12 @@
"@Retention(RUNTIME) \n"
"public @interface Model {} ]]>"
msgstr ""
+"<![CDATA[@Named \n"
+"@RequestScoped \n"
+"@Stereotype \n"
+"@Target({TYPE, METHOD}) \n"
+"@Retention(RUNTIME) \n"
+"public @interface Model {} ]]>"
#. Tag: para
#: stereotypes.xml:133
@@ -350,3 +397,4 @@
"beans, just annotate a Web Bean <literal>@Model</literal>, and use it "
"directly in your JSF page."
msgstr ""
+
Modified: doc/trunk/reference/zh-TW/xml.po
===================================================================
--- doc/trunk/reference/zh-TW/xml.po 2009-01-08 01:15:10 UTC (rev 819)
+++ doc/trunk/reference/zh-TW/xml.po 2009-01-08 02:40:29 UTC (rev 820)
@@ -1,17 +1,20 @@
+# translation of xml.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: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: xml\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-06 11:30+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-08 11:03+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
#: xml.xml:4
@@ -37,8 +40,7 @@
#. Tag: para
#: xml.xml:15
#, no-c-format
-msgid ""
-"when there should be multiple Web Beans with the same implementation class."
+msgid "when there should be multiple Web Beans with the same implementation class."
msgstr ""
#. Tag: para
@@ -128,6 +130,12 @@
"\n"
"</WebBeans>]]>"
msgstr ""
+"<![CDATA[<WebBeans xmlns=\"urn:java:javax.webbeans\"\n"
+" xmlns:util=\"urn:java:java.util\">\n"
+"\n"
+" <util:Date/>\n"
+"\n"
+"</WebBeans>]]>"
#. Tag: para
#: xml.xml:58
@@ -142,7 +150,7 @@
#: xml.xml:62
#, no-c-format
msgid "<![CDATA[@Current Date date]]>"
-msgstr ""
+msgstr "<![CDATA[@Current Date date]]>"
#. Tag: title
#: xml.xml:67
@@ -168,6 +176,11 @@
" <myfwk:Secure/>\n"
"</myapp:ShoppingCart>]]>"
msgstr ""
+"<![CDATA[<myapp:ShoppingCart>\n"
+" <SessionScoped/>\n"
+" <myfwk:Transactional requiresNew=\"true\"/>\n"
+" <myfwk:Secure/>\n"
+"</myapp:ShoppingCart>]]>"
#. Tag: para
#: xml.xml:74
@@ -195,6 +208,21 @@
" <Named>systemStartTime</Named>\n"
"</util:Date>]]>"
msgstr ""
+"<![CDATA[<util:Date>\n"
+" <Named>currentTime</Named>\n"
+"</util:Date>\n"
+"\n"
+"<util:Date>\n"
+" <SessionScoped/>\n"
+" <myapp:Login/>\n"
+" <Named>loginTime</Named>\n"
+"</util:Date>\n"
+"\n"
+"<util:Date>\n"
+" <ApplicationScoped/>\n"
+" <myapp:SystemStart/>\n"
+" <Named>systemStartTime</Named>\n"
+"</util:Date>]]>"
#. Tag: para
#: xml.xml:78
@@ -212,6 +240,9 @@
"@Login Date loginTime;\n"
"@SystemStart Date systemStartTime;]]>"
msgstr ""
+"<![CDATA[@Current Date currentTime;\n"
+"@Login Date loginTime;\n"
+"@SystemStart Date systemStartTime;]]>"
#. Tag: para
#: xml.xml:83
@@ -228,6 +259,10 @@
" <myapp:Asynchronous/>\n"
"</myapp:AsynchronousChequePaymentProcessor>]]>"
msgstr ""
+"<![CDATA[<myapp:AsynchronousChequePaymentProcessor>\n"
+" <myapp:PayByCheque/>\n"
+" <myapp:Asynchronous/>\n"
+"</myapp:AsynchronousChequePaymentProcessor>]]>"
#. Tag: para
#: xml.xml:87
@@ -246,6 +281,10 @@
" <myfwk:Transactional/>\n"
"</myfwk:TransactionInterceptor>]]>"
msgstr ""
+"<![CDATA[<myfwk:TransactionInterceptor>\n"
+" <Interceptor/>\n"
+" <myfwk:Transactional/>\n"
+"</myfwk:TransactionInterceptor>]]>"
#. Tag: title
#: xml.xml:95
@@ -286,6 +325,16 @@
" </myapp:admin>\n"
"</myapp:System>]]>"
msgstr ""
+"<![CDATA[<myapp:System>\n"
+" <ApplicationScoped/>\n"
+" <myapp:admin>\n"
+" <myapp:Name>\n"
+" <myapp:firstname>Gavin</myapp:firstname>\n"
+" <myapp:lastname>King</myapp:lastname>\n"
+" <myapp:email>gavin at hibernate.org</myapp:email>\n"
+" </myapp:Name>\n"
+" </myapp:admin>\n"
+"</myapp:System>]]>"
#. Tag: para
#: xml.xml:110
@@ -341,6 +390,19 @@
"\n"
"</WebBeans>]]>"
msgstr ""
+"<![CDATA[<WebBeans xmlns=\"urn:java:javax.webbeans\"\n"
+" xmlns:myapp=\"urn:java:com.mydomain.myapp\"\n"
+" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+" xsi:schemaLocation=\"urn:java:javax.webbeans http://java.sun.com/"
+"jee/web-beans-1.0.xsd\n"
+" urn:java:com.mydomain.myapp http://mydomain."
+"com/xsd/myapp-1.2.xsd\">\n"
+"\n"
+" <myapp:System>\n"
+" ...\n"
+" </myapp:System>\n"
+"\n"
+"</WebBeans>]]>"
#. Tag: para
#: xml.xml:132
@@ -350,3 +412,4 @@
"will provide a tool which automatically generates the XML schema from "
"compiled Java code."
msgstr ""
+
More information about the weld-commits
mailing list