[hibernate-commits] Hibernate SVN: r20191 - validator/trunk/hibernate-validator/src/main/docbook/zh-CN/modules.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Thu Aug 19 12:06:34 EDT 2010


Author: stliu
Date: 2010-08-19 12:06:33 -0400 (Thu, 19 Aug 2010)
New Revision: 20191

Modified:
   validator/trunk/hibernate-validator/src/main/docbook/zh-CN/modules/annotationprocessor.po
   validator/trunk/hibernate-validator/src/main/docbook/zh-CN/modules/customconstraints.po
   validator/trunk/hibernate-validator/src/main/docbook/zh-CN/modules/usingvalidator.po
Log:
HV-351 translation

Modified: validator/trunk/hibernate-validator/src/main/docbook/zh-CN/modules/annotationprocessor.po
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/zh-CN/modules/annotationprocessor.po	2010-08-19 14:46:49 UTC (rev 20190)
+++ validator/trunk/hibernate-validator/src/main/docbook/zh-CN/modules/annotationprocessor.po	2010-08-19 16:06:33 UTC (rev 20191)
@@ -6,7 +6,7 @@
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
 "POT-Creation-Date: 2010-07-06 14:46+0000\n"
-"PO-Revision-Date: 2010-08-14 14:42+0830\n"
+"PO-Revision-Date: 2010-08-19 10:06+0830\n"
 "Last-Translator: Strong Liu <stliu at hibernate.org>\n"
 "Language-Team: none\n"
 "MIME-Version: 1.0\n"

Modified: validator/trunk/hibernate-validator/src/main/docbook/zh-CN/modules/customconstraints.po
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/zh-CN/modules/customconstraints.po	2010-08-19 14:46:49 UTC (rev 20190)
+++ validator/trunk/hibernate-validator/src/main/docbook/zh-CN/modules/customconstraints.po	2010-08-19 16:06:33 UTC (rev 20191)
@@ -6,8 +6,8 @@
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
 "POT-Creation-Date: 2010-07-06 14:46+0000\n"
-"PO-Revision-Date: 2010-07-06 14:46+0000\n"
-"Last-Translator: Automatically generated\n"
+"PO-Revision-Date: 2010-08-20 00:04+0830\n"
+"Last-Translator: Strong Liu <stliu at hibernate.org>\n"
 "Language-Team: none\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -17,80 +17,67 @@
 #: customconstraints.xml:25
 #, no-c-format
 msgid "Creating custom constraints"
-msgstr ""
+msgstr "创建自己的约束规则"
 
 #. Tag: para
 #: customconstraints.xml:27
 #, no-c-format
-msgid ""
-"Though the Bean Validation API defines a whole set of standard constraint "
-"annotations one can easily think of situations in which these standard "
-"annotations won't suffice. For these cases you are able to create custom "
-"constraints tailored to your specific validation requirements in a simple "
-"manner."
-msgstr ""
+msgid "Though the Bean Validation API defines a whole set of standard constraint annotations one can easily think of situations in which these standard annotations won't suffice. For these cases you are able to create custom constraints tailored to your specific validation requirements in a simple manner."
+msgstr "尽管Bean Validation API定义了一大堆标准的约束条件, 但是肯定还是有这些约束不能满足我们需求的时候, 在这种情况下, 你可以根据你的特定的校验需求来创建自己的约束条件."
 
 #. Tag: title
 #: customconstraints.xml:34
 #, no-c-format
 msgid "Creating a simple constraint"
-msgstr ""
+msgstr "创建一个简单的约束条件"
 
 #. Tag: para
 #: customconstraints.xml:36
 #, no-c-format
 msgid "To create a custom constraint, the following three steps are required:"
-msgstr ""
+msgstr "按照以下三个步骤来创建一个自定义的约束条件"
 
 #. Tag: para
 #: customconstraints.xml:41
 #, no-c-format
 msgid "Create a constraint annotation"
-msgstr ""
+msgstr "创建约束标注"
 
 #. Tag: para
 #: customconstraints.xml:45
 #, no-c-format
 msgid "Implement a validator"
-msgstr ""
+msgstr "实现一个验证器"
 
 #. Tag: para
 #: customconstraints.xml:49
 #, no-c-format
 msgid "Define a default error message"
-msgstr ""
+msgstr "定义默认的验证错误信息"
 
 #. Tag: title
 #: customconstraints.xml:54
 #, no-c-format
 msgid "The constraint annotation"
-msgstr ""
+msgstr "约束标注"
 
 #. Tag: para
 #: customconstraints.xml:56
 #, no-c-format
-msgid ""
-"Let's write a constraint annotation, that can be used to express that a "
-"given string shall either be upper case or lower case. We'll apply it later "
-"on to the <property>licensePlate</property> field of the <classname>Car</"
-"classname> class from <xref linkend=\"validator-gettingstarted\"/> to "
-"ensure, that the field is always an upper-case string."
-msgstr ""
+msgid "Let's write a constraint annotation, that can be used to express that a given string shall either be upper case or lower case. We'll apply it later on to the <property>licensePlate</property> field of the <classname>Car</classname> class from <xref linkend=\"validator-gettingstarted\"/> to ensure, that the field is always an upper-case string."
+msgstr "让我们来创建一个新的用来判断一个给定字符串是否全是大写或者小写字符的约束标注. 我们将稍后把它用在<xref linkend=\"validator-gettingstarted\"/>中的类<classname>Car</classname>的<property>licensePlate</property>字段上来确保这个字段的内容一直都是大写字母."
 
 #. Tag: para
 #: customconstraints.xml:63
 #, no-c-format
-msgid ""
-"First we need a way to express the two case modes. We might use "
-"<classname>String</classname> constants, but a better way to go is to use a "
-"Java 5 enum for that purpose:"
-msgstr ""
+msgid "First we need a way to express the two case modes. We might use <classname>String</classname> constants, but a better way to go is to use a Java 5 enum for that purpose:"
+msgstr "首先,我们需要一种方法来表示这两种模式( 译注: 大写或小写), 我们可以使用<classname>String</classname>常量, 但是在Java 5中, 枚举类型是个更好的选择:"
 
 #. Tag: title
 #: customconstraints.xml:68
 #, no-c-format
 msgid "Enum <classname>CaseMode</classname> to express upper vs. lower case"
-msgstr ""
+msgstr "枚举类型<classname>CaseMode</classname>, 来表示大写或小写模式."
 
 #. Tag: programlisting
 #: customconstraints.xml:71
@@ -103,14 +90,17 @@
 "    LOWER;\n"
 "}"
 msgstr ""
+"package com.mycompany;\n"
+"\n"
+"public enum CaseMode {\n"
+"    UPPER, \n"
+"    LOWER;\n"
+"}"
 
 #. Tag: para
 #: customconstraints.xml:74
 #, no-c-format
-msgid ""
-"Now we can define the actual constraint annotation. If you've never designed "
-"an annotation before, this may look a bit scary, but actually it's not that "
-"hard:"
+msgid "Now we can define the actual constraint annotation. If you've never designed an annotation before, this may look a bit scary, but actually it's not that hard:"
 msgstr ""
 
 #. Tag: title
@@ -155,38 +145,25 @@
 #. Tag: para
 #: customconstraints.xml:84
 #, no-c-format
-msgid ""
-"An annotation type is defined using the <code>@interface</code> keyword. All "
-"attributes of an annotation type are declared in a method-like manner. The "
-"specification of the Bean Validation API demands, that any constraint "
-"annotation defines"
+msgid "An annotation type is defined using the <code>@interface</code> keyword. All attributes of an annotation type are declared in a method-like manner. The specification of the Bean Validation API demands, that any constraint annotation defines"
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:91
 #, no-c-format
-msgid ""
-"an attribute <property>message</property> that returns the default key for "
-"creating error messages in case the constraint is violated"
+msgid "an attribute <property>message</property> that returns the default key for creating error messages in case the constraint is violated"
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:97
 #, no-c-format
-msgid ""
-"an attribute <property>groups</property> that allows the specification of "
-"validation groups, to which this constraint belongs (see <xref linkend="
-"\"validator-usingvalidator-validationgroups\"/>). This must default to an "
-"empty array of type <classname>Class&lt;?&gt;</classname>."
+msgid "an attribute <property>groups</property> that allows the specification of validation groups, to which this constraint belongs (see <xref linkend=\"validator-usingvalidator-validationgroups\"/>). This must default to an empty array of type <classname>Class&lt;?&gt;</classname>."
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:105
 #, no-c-format
-msgid ""
-"an attribute <classname>payload</classname> that can be used by clients of "
-"the Bean Validation API to assign custom payload objects to a constraint. "
-"This attribute is not used by the API itself."
+msgid "an attribute <classname>payload</classname> that can be used by clients of the Bean Validation API to assign custom payload objects to a constraint. This attribute is not used by the API itself."
 msgstr ""
 
 #. Tag: para
@@ -208,8 +185,7 @@
 "    @NotNull(message=\"Name is mandatory\", payload=Severity.Error.class)\n"
 "    private String name;\n"
 "\n"
-"    @NotNull(message=\"Phone number not specified, but not mandatory\", "
-"payload=Severity.Info.class)\n"
+"    @NotNull(message=\"Phone number not specified, but not mandatory\", payload=Severity.Info.class)\n"
 "    private String phoneNumber;\n"
 "\n"
 "    // ...\n"
@@ -219,64 +195,43 @@
 #. Tag: para
 #: customconstraints.xml:114
 #, no-c-format
-msgid ""
-"Now a client can after the validation of a <classname>ContactDetails</"
-"classname> instance access the severity of a constraint using "
-"<methodname>ConstraintViolation.getConstraintDescriptor().getPayload()</"
-"methodname> and adjust its behaviour depending on the severity."
+msgid "Now a client can after the validation of a <classname>ContactDetails</classname> instance access the severity of a constraint using <methodname>ConstraintViolation.getConstraintDescriptor().getPayload()</methodname> and adjust its behaviour depending on the severity."
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:123
 #, no-c-format
-msgid ""
-"Besides those three mandatory attributes (<property>message</property>, "
-"<property>groups</property> and <property>payload</property>) we add another "
-"one allowing for the required case mode to be specified. The name "
-"<property>value</property> is a special one, which can be omitted upon using "
-"the annotation, if it is the only attribute specified, as e.g. in "
-"<code>@CheckCase(CaseMode.UPPER)</code>."
+msgid "Besides those three mandatory attributes (<property>message</property>, <property>groups</property> and <property>payload</property>) we add another one allowing for the required case mode to be specified. The name <property>value</property> is a special one, which can be omitted upon using the annotation, if it is the only attribute specified, as e.g. in <code>@CheckCase(CaseMode.UPPER)</code>."
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:131
 #, no-c-format
-msgid ""
-"In addition we annotate the annotation type with a couple of so-called meta "
-"annotations:"
+msgid "In addition we annotate the annotation type with a couple of so-called meta annotations:"
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:136
 #, no-c-format
-msgid ""
-"<code>@Target({ METHOD, FIELD, ANNOTATION_TYPE })</code>: Says, that "
-"methods, fields and annotation declarations may be annotated with @CheckCase "
-"(but not type declarations e.g.)"
+msgid "<code>@Target({ METHOD, FIELD, ANNOTATION_TYPE })</code>: Says, that methods, fields and annotation declarations may be annotated with @CheckCase (but not type declarations e.g.)"
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:142
 #, no-c-format
-msgid ""
-"<code>@Retention(RUNTIME)</code>: Specifies, that annotations of this type "
-"will be available at runtime by the means of reflection"
+msgid "<code>@Retention(RUNTIME)</code>: Specifies, that annotations of this type will be available at runtime by the means of reflection"
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:148
 #, no-c-format
-msgid ""
-"<code>@Constraint(validatedBy = CheckCaseValidator.class)</code>: Specifies "
-"the validator to be used to validate elements annotated with @CheckCase"
+msgid "<code>@Constraint(validatedBy = CheckCaseValidator.class)</code>: Specifies the validator to be used to validate elements annotated with @CheckCase"
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:154
 #, no-c-format
-msgid ""
-"<code>@Documented</code>: Says, that the use of <code>@CheckCase</code> will "
-"be contained in the JavaDoc of elements annotated with it"
+msgid "<code>@Documented</code>: Says, that the use of <code>@CheckCase</code> will be contained in the JavaDoc of elements annotated with it"
 msgstr ""
 
 #. Tag: title
@@ -288,18 +243,13 @@
 #. Tag: para
 #: customconstraints.xml:165
 #, no-c-format
-msgid ""
-"Next, we need to implement a constraint validator, that's able to validate "
-"elements with a <classname>@CheckCase</classname> annotation. To do so, we "
-"implement the interface ConstraintValidator as shown below:"
+msgid "Next, we need to implement a constraint validator, that's able to validate elements with a <classname>@CheckCase</classname> annotation. To do so, we implement the interface ConstraintValidator as shown below:"
 msgstr ""
 
 #. Tag: title
 #: customconstraints.xml:171
 #, no-c-format
-msgid ""
-"Implementing a constraint validator for the constraint <classname>CheckCase</"
-"classname>"
+msgid "Implementing a constraint validator for the constraint <classname>CheckCase</classname>"
 msgstr ""
 
 #. Tag: programlisting
@@ -311,8 +261,7 @@
 "import javax.validation.ConstraintValidator;\n"
 "import javax.validation.ConstraintValidatorContext;\n"
 "\n"
-"public class CheckCaseValidator implements ConstraintValidator&lt;CheckCase, "
-"String&gt; {\n"
+"public class CheckCaseValidator implements ConstraintValidator&lt;CheckCase, String&gt; {\n"
 "\n"
 "    private CaseMode caseMode;\n"
 "\n"
@@ -320,8 +269,7 @@
 "        this.caseMode = constraintAnnotation.value();\n"
 "    }\n"
 "\n"
-"    public boolean isValid(String object, ConstraintValidatorContext "
-"constraintContext) {\n"
+"    public boolean isValid(String object, ConstraintValidatorContext constraintContext) {\n"
 "\n"
 "        if (object == null)\n"
 "            return true;\n"
@@ -338,46 +286,25 @@
 #. Tag: para
 #: customconstraints.xml:177
 #, no-c-format
-msgid ""
-"The <classname>ConstraintValidator</classname> interface defines two type "
-"parameters, which we set in our implementation. The first one specifies the "
-"annotation type to be validated (in our example <classname>CheckCase</"
-"classname>), the second one the type of elements, which the validator can "
-"handle (here <classname>String</classname>)."
+msgid "The <classname>ConstraintValidator</classname> interface defines two type parameters, which we set in our implementation. The first one specifies the annotation type to be validated (in our example <classname>CheckCase</classname>), the second one the type of elements, which the validator can handle (here <classname>String</classname>)."
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:184
 #, no-c-format
-msgid ""
-"In case a constraint annotation is allowed at elements of different types, a "
-"<classname>ConstraintValidator</classname> for each allowed type has to be "
-"implemented and registered at the constraint annotation as shown above."
+msgid "In case a constraint annotation is allowed at elements of different types, a <classname>ConstraintValidator</classname> for each allowed type has to be implemented and registered at the constraint annotation as shown above."
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:189
 #, no-c-format
-msgid ""
-"The implementation of the validator is straightforward. The "
-"<methodname>initialize()</methodname> method gives us access to the "
-"attribute values of the annotation to be validated. In the example we store "
-"the <classname>CaseMode</classname> in a field of the validator for further "
-"usage."
+msgid "The implementation of the validator is straightforward. The <methodname>initialize()</methodname> method gives us access to the attribute values of the annotation to be validated. In the example we store the <classname>CaseMode</classname> in a field of the validator for further usage."
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:195
 #, no-c-format
-msgid ""
-"In the <methodname>isValid()</methodname> method we implement the logic, "
-"that determines, whether a <classname>String</classname> is valid according "
-"to a given <classname>@CheckCase</classname> annotation or not. This "
-"decision depends on the case mode retrieved in <classname>initialize()</"
-"classname>. As the Bean Validation specification recommends, we consider "
-"<code>null</code> values as being valid. If <code>null</code> is not a valid "
-"value for an element, it should be annotated with <code>@NotNull</code> "
-"explicitly."
+msgid "In the <methodname>isValid()</methodname> method we implement the logic, that determines, whether a <classname>String</classname> is valid according to a given <classname>@CheckCase</classname> annotation or not. This decision depends on the case mode retrieved in <classname>initialize()</classname>. As the Bean Validation specification recommends, we consider <code>null</code> values as being valid. If <code>null</code> is not a valid value for an element, it should be annotated with <code>@NotNull</code> explicitly."
 msgstr ""
 
 #. Tag: title
@@ -389,15 +316,7 @@
 #. Tag: para
 #: customconstraints.xml:207
 #, no-c-format
-msgid ""
-"relies on the default error message generation by just returning "
-"<constant>true</constant> or <constant>false</constant> from the "
-"<methodname>isValid</methodname> call. Using the passed "
-"<classname>ConstraintValidatorContext</classname> object it is possible to "
-"either add additional error messages or completely disable the default error "
-"message generation and solely define custom error messages. The "
-"<classname>ConstraintValidatorContext</classname> API is modeled as fluent "
-"interface and is best demonstrated with an example:"
+msgid "relies on the default error message generation by just returning <constant>true</constant> or <constant>false</constant> from the <methodname>isValid</methodname> call. Using the passed <classname>ConstraintValidatorContext</classname> object it is possible to either add additional error messages or completely disable the default error message generation and solely define custom error messages. The <classname>ConstraintValidatorContext</classname> API is modeled as fluent interface and is best demonstrated with an example:"
 msgstr ""
 
 #. Tag: title
@@ -415,8 +334,7 @@
 "import javax.validation.ConstraintValidator;\n"
 "import javax.validation.ConstraintValidatorContext;\n"
 "\n"
-"public class CheckCaseValidator implements ConstraintValidator&lt;CheckCase, "
-"String&gt; {\n"
+"public class CheckCaseValidator implements ConstraintValidator&lt;CheckCase, String&gt; {\n"
 "\n"
 "    private CaseMode caseMode;\n"
 "\n"
@@ -424,8 +342,7 @@
 "        this.caseMode = constraintAnnotation.value();\n"
 "    }\n"
 "\n"
-"    public boolean isValid(String object, ConstraintValidatorContext "
-"constraintContext) {\n"
+"    public boolean isValid(String object, ConstraintValidatorContext constraintContext) {\n"
 "\n"
 "        if (object == null)\n"
 "            return true;\n"
@@ -440,8 +357,7 @@
 "        \n"
 "        if(!isValid) {\n"
 "            constraintContext.disableDefaultConstraintViolation();\n"
-"            constraintContext.buildConstraintViolationWithTemplate( \"{com."
-"mycompany.constraints.CheckCase.message}\"  ).addConstraintViolation();\n"
+"            constraintContext.buildConstraintViolationWithTemplate( \"{com.mycompany.constraints.CheckCase.message}\"  ).addConstraintViolation();\n"
 "        }\n"
 "        return result;\n"
 "    }\n"
@@ -452,55 +368,38 @@
 #. Tag: para
 #: customconstraints.xml:225
 #, no-c-format
-msgid ""
-"shows how you can disable the default error message generation and add a "
-"custom error message using a specified message template. In this example the "
-"use of the <classname>ConstraintValidatorContext</classname> results in the "
-"same error message as the default error message generation."
+msgid "shows how you can disable the default error message generation and add a custom error message using a specified message template. In this example the use of the <classname>ConstraintValidatorContext</classname> results in the same error message as the default error message generation."
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:231
 #, no-c-format
-msgid ""
-"It is important to end each new constraint violation with "
-"<methodname>addConstraintViolation</methodname>. Only after that the new "
-"constraint violation will be created."
+msgid "It is important to end each new constraint violation with <methodname>addConstraintViolation</methodname>. Only after that the new constraint violation will be created."
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:236
 #, no-c-format
-msgid ""
-"In case you are implementing a <classname>ConstraintValidator</classname> a "
-"class level constraint it is also possible to adjust set the property path "
-"for the created constraint violations. This is important for the case where "
-"you validate multiple properties of the class or even traverse the object "
-"graph. A custom property path creation could look like <xref linkend="
-"\"example-custom-error\"/>."
+msgid "In case you are implementing a <classname>ConstraintValidator</classname> a class level constraint it is also possible to adjust set the property path for the created constraint violations. This is important for the case where you validate multiple properties of the class or even traverse the object graph. A custom property path creation could look like <xref linkend=\"example-custom-error\"/>."
 msgstr ""
 
 #. Tag: title
 #: customconstraints.xml:245
 #, no-c-format
-msgid ""
-"Adding new <classname>ConstraintViolation</classname> with custom property "
-"path"
+msgid "Adding new <classname>ConstraintViolation</classname> with custom property path"
 msgstr ""
 
 #. Tag: programlisting
 #: customconstraints.xml:248
 #, no-c-format
 msgid ""
-"public boolean isValid(Group group, ConstraintValidatorContext "
-"constraintValidatorContext) {\n"
+"public boolean isValid(Group group, ConstraintValidatorContext constraintValidatorContext) {\n"
 "    boolean isValid = false;\n"
 "    ...\n"
 "\n"
 "    if(!isValid) {\n"
 "        constraintValidatorContext\n"
-"            .buildConstraintViolationWithTemplate( \"{my.custom.template}"
-"\" )\n"
+"            .buildConstraintViolationWithTemplate( \"{my.custom.template}\" )\n"
 "            .addNode( \"myProperty\" ).addConstraintViolation();\n"
 "    }\n"
 "    return isValid;\n"
@@ -516,19 +415,13 @@
 #. Tag: para
 #: customconstraints.xml:256
 #, no-c-format
-msgid ""
-"Finally we need to specify the error message, that shall be used, in case a "
-"<classname>@CheckCase</classname> constraint is violated. To do so, we add "
-"the following to our custom <filename>ValidationMessages.properties</"
-"filename> (see also <xref linkend=\"section-message-interpolation\"/>)"
+msgid "Finally we need to specify the error message, that shall be used, in case a <classname>@CheckCase</classname> constraint is violated. To do so, we add the following to our custom <filename>ValidationMessages.properties</filename> (see also <xref linkend=\"section-message-interpolation\"/>)"
 msgstr ""
 
 #. Tag: title
 #: customconstraints.xml:263
 #, no-c-format
-msgid ""
-"Defining a custom error message for the <classname>CheckCase</classname> "
-"constraint"
+msgid "Defining a custom error message for the <classname>CheckCase</classname> constraint"
 msgstr ""
 
 #. Tag: programlisting
@@ -540,11 +433,7 @@
 #. Tag: para
 #: customconstraints.xml:269
 #, no-c-format
-msgid ""
-"If a validation error occurs, the validation runtime will use the default "
-"value, that we specified for the message attribute of the "
-"<classname>@CheckCase</classname> annotation to look up the error message in "
-"this file."
+msgid "If a validation error occurs, the validation runtime will use the default value, that we specified for the message attribute of the <classname>@CheckCase</classname> annotation to look up the error message in this file."
 msgstr ""
 
 #. Tag: title
@@ -556,11 +445,7 @@
 #. Tag: para
 #: customconstraints.xml:278
 #, no-c-format
-msgid ""
-"Now that our first custom constraint is completed, we can use it in the "
-"<classname>Car</classname> class from the <xref linkend=\"validator-"
-"gettingstarted\"/> chapter to specify that the <property>licensePlate</"
-"property> field shall only contain upper-case strings:"
+msgid "Now that our first custom constraint is completed, we can use it in the <classname>Car</classname> class from the <xref linkend=\"validator-gettingstarted\"/> chapter to specify that the <property>licensePlate</property> field shall only contain upper-case strings:"
 msgstr ""
 
 #. Tag: title
@@ -607,9 +492,7 @@
 #. Tag: para
 #: customconstraints.xml:291
 #, no-c-format
-msgid ""
-"Finally let's demonstrate in a little test that the <classname>@CheckCase</"
-"classname> constraint is properly validated:"
+msgid "Finally let's demonstrate in a little test that the <classname>@CheckCase</classname> constraint is properly validated:"
 msgstr ""
 
 #. Tag: title
@@ -642,8 +525,7 @@
 "\n"
 "    @BeforeClass\n"
 "    public static void setUp() {\n"
-"        ValidatorFactory factory = Validation.buildDefaultValidatorFactory"
-"();\n"
+"        ValidatorFactory factory = Validation.buildDefaultValidatorFactory();\n"
 "        validator = factory.getValidator();\n"
 "    }\n"
 "\n"
@@ -682,32 +564,19 @@
 #. Tag: para
 #: customconstraints.xml:307
 #, no-c-format
-msgid ""
-"Looking at the <property>licensePlate</property> field of the "
-"<classname>Car</classname> class in <xref linkend=\"example-car-with-"
-"checkcase\"/>, we see three constraint annotations already. In complexer "
-"scenarios, where even more constraints could be applied to one element, this "
-"might become a bit confusing easily. Furthermore, if we had a "
-"<property>licensePlate</property> field in another class, we would have to "
-"copy all constraint declarations to the other class as well, violating the "
-"DRY principle."
+msgid "Looking at the <property>licensePlate</property> field of the <classname>Car</classname> class in <xref linkend=\"example-car-with-checkcase\"/>, we see three constraint annotations already. In complexer scenarios, where even more constraints could be applied to one element, this might become a bit confusing easily. Furthermore, if we had a <property>licensePlate</property> field in another class, we would have to copy all constraint declarations to the other class as well, violating the DRY principle."
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:316
 #, no-c-format
-msgid ""
-"This problem can be tackled using compound constraints. In the following we "
-"create a new constraint annotation <classname>@ValidLicensePlate</"
-"classname>, that comprises the constraints <classname>@NotNull</classname>, "
-"<classname>@Size</classname> and <classname>@CheckCase</classname>:"
+msgid "This problem can be tackled using compound constraints. In the following we create a new constraint annotation <classname>@ValidLicensePlate</classname>, that comprises the constraints <classname>@NotNull</classname>, <classname>@Size</classname> and <classname>@CheckCase</classname>:"
 msgstr ""
 
 #. Tag: title
 #: customconstraints.xml:323
 #, no-c-format
-msgid ""
-"Creating a composing constraint <classname>ValidLicensePlate</classname>"
+msgid "Creating a composing constraint <classname>ValidLicensePlate</classname>"
 msgstr ""
 
 #. Tag: programlisting
@@ -737,8 +606,7 @@
 "@Documented\n"
 "public @interface ValidLicensePlate {\n"
 "\n"
-"    String message() default \"{com.mycompany.constraints.validlicenseplate}"
-"\";\n"
+"    String message() default \"{com.mycompany.constraints.validlicenseplate}\";\n"
 "\n"
 "    Class&lt;?&gt;[] groups() default {};\n"
 "\n"
@@ -750,29 +618,19 @@
 #. Tag: para
 #: customconstraints.xml:329
 #, no-c-format
-msgid ""
-"To do so, we just have to annotate the constraint declaration with its "
-"comprising constraints (btw. that's exactly why we allowed annotation types "
-"as target for the <classname>@CheckCase</classname> annotation). As no "
-"additional validation is required for the <classname>@ValidLicensePlate</"
-"classname> annotation itself, we don't declare a validator within the "
-"<classname>@Constraint </classname>meta annotation."
+msgid "To do so, we just have to annotate the constraint declaration with its comprising constraints (btw. that's exactly why we allowed annotation types as target for the <classname>@CheckCase</classname> annotation). As no additional validation is required for the <classname>@ValidLicensePlate</classname> annotation itself, we don't declare a validator within the <classname>@Constraint </classname>meta annotation."
 msgstr ""
 
 #. Tag: para
 #: customconstraints.xml:337
 #, no-c-format
-msgid ""
-"Using the new compound constraint at the <property>licensePlate</property> "
-"field now is fully equivalent to the previous version, where we declared the "
-"three constraints directly at the field itself:"
+msgid "Using the new compound constraint at the <property>licensePlate</property> field now is fully equivalent to the previous version, where we declared the three constraints directly at the field itself:"
 msgstr ""
 
 #. Tag: title
 #: customconstraints.xml:343
 #, no-c-format
-msgid ""
-"Application of composing constraint <classname>ValidLicensePlate</classname>"
+msgid "Application of composing constraint <classname>ValidLicensePlate</classname>"
 msgstr ""
 
 #. Tag: programlisting
@@ -794,14 +652,7 @@
 #. Tag: para
 #: customconstraints.xml:349
 #, no-c-format
-msgid ""
-"The set of <classname>ConstraintViolations</classname> retrieved when "
-"validating a <classname>Car</classname> instance will contain an entry for "
-"each violated composing constraint of the <classname>@ValidLicensePlate</"
-"classname> constraint. If you rather prefer a single "
-"<classname>ConstraintViolation</classname> in case any of the composing "
-"constraints is violated, the <classname>@ReportAsSingleViolation</classname> "
-"meta constraint can be used as follows:"
+msgid "The set of <classname>ConstraintViolations</classname> retrieved when validating a <classname>Car</classname> instance will contain an entry for each violated composing constraint of the <classname>@ValidLicensePlate</classname> constraint. If you rather prefer a single <classname>ConstraintViolation</classname> in case any of the composing constraints is violated, the <classname>@ReportAsSingleViolation</classname> meta constraint can be used as follows:"
 msgstr ""
 
 #. Tag: title
@@ -818,8 +669,7 @@
 "@ReportAsSingleViolation\n"
 "public @interface ValidLicensePlate {\n"
 "\n"
-"    String message() default \"{com.mycompany.constraints.validlicenseplate}"
-"\";\n"
+"    String message() default \"{com.mycompany.constraints.validlicenseplate}\";\n"
 "\n"
 "    Class&lt;?&gt;[] groups() default {};\n"
 "\n"
@@ -827,3 +677,4 @@
 "\n"
 "}"
 msgstr ""
+

Modified: validator/trunk/hibernate-validator/src/main/docbook/zh-CN/modules/usingvalidator.po
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/zh-CN/modules/usingvalidator.po	2010-08-19 14:46:49 UTC (rev 20190)
+++ validator/trunk/hibernate-validator/src/main/docbook/zh-CN/modules/usingvalidator.po	2010-08-19 16:06:33 UTC (rev 20191)
@@ -6,7 +6,7 @@
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
 "POT-Creation-Date: 2010-07-06 14:46+0000\n"
-"PO-Revision-Date: 2010-08-19 01:49+0830\n"
+"PO-Revision-Date: 2010-08-19 22:28+0830\n"
 "Last-Translator: Strong Liu <stliu at hibernate.org>\n"
 "Language-Team: none\n"
 "MIME-Version: 1.0\n"
@@ -1024,13 +1024,13 @@
 #: usingvalidator.xml:498
 #, no-c-format
 msgid "Validating groups"
-msgstr "验证组"
+msgstr "校验组"
 
 #. Tag: para
 #: usingvalidator.xml:500
 #, no-c-format
 msgid "Groups allow you to restrict the set of constraints applied during validation. This makes for example wizard like validation possible where in each step only a specified subset of constraints get validated. The groups targeted are passed as var-args parameters to <methodname>validate</methodname>, <methodname>validateProperty</methodname> and <methodname>validateValue</methodname>. Let's have a look at an extended <classname>Car</classname> with <classname>Driver</classname> example. First we have the class <classname>Person</classname> (<xref linkend=\"example-person\"/>) which has a <classname>@NotNull </classname>constraint on <property>name</property>. Since no group is specified for this annotation its default group is <classname>javax.validation.groups.Default</classname>."
-msgstr "验证组能够让你在验证的时候选择应用哪些约束条件. 这样在某些情况下( 例如向导 ) 就可以对每一步进行校验的时候, 选取对应这步的那些约束条件进行验证了. 校验组是通过可变参数传递给<methodname>validate</methodname>, <methodname>validateProperty</methodname> 和 <methodname>validateValue</methodname>的. 让我们来看个例子, 这个实例扩展了上面的<classname>Car</classname>类,又为其添加了一个新的<classname>Driver</classname>. 首先, 类<classname>Person</classname> (<xref linkend=\"example-person\"/>) 的<property>name</property>属性上定义了一个<classname>@NotNull </classname>的约束条件. 因为没有明确指定这个约束条件属于哪个组,所以它被归类到默认组 (<classname>javax.validation.groups.Default</classname>)."
+msgstr "校验组能够让你在验证的时候选择应用哪些约束条件. 这样在某些情况下( 例如向导 ) 就可以对每一步进行校验的时候, 选取对应这步的那些约束条件进行验证了. 校验组是通过可变参数传递给<methodname>validate</methodname>, <methodname>validateProperty</methodname> 和 <methodname>validateValue</methodname>的. 让我们来看个例子, 这个实例扩展了上面的<classname>Car</classname>类,又为其添加了一个新的<classname>Driver</classname>. 首先, 类<classname>Person</classname> (<xref linkend=\"example-person\"/>) 的<property>name</property>属性上定义了一个<classname>@NotNull </classname>的约束条件. 因为没有明确指定这个约束条件属于哪个组,所以它被归类到默认组 (<classname>javax.validation.groups.Default</classname>)."
 
 #. Tag: para
 #: usingvalidator.xml:515
@@ -1342,25 +1342,25 @@
 #: usingvalidator.xml:605
 #, no-c-format
 msgid "Group sequences"
-msgstr ""
+msgstr "校验组序列"
 
 #. Tag: para
 #: usingvalidator.xml:607
 #, no-c-format
 msgid "By default, constraints are evaluated in no particular order and this regardless of which groups they belong to. In some situations, however, it is useful to control the order of the constraints evaluation. In our example from <xref linkend=\"validator-usingvalidator-validationgroups\"/> we could for example require that first all default car constraints are passing before we check the road worthiness of the car. Finally before we drive away we check the actual driver constraints. In order to implement such an order one would define a new interface and annotate it with <classname>@GroupSequence</classname> defining the order in which the groups have to be validated."
-msgstr ""
+msgstr "默认情况下, 如果一个实体类(或者属性)上定义了多个约束条件,那么在验证过程中,这些约束条件无序被校验的, 不管它们属于那个验证组. 但是在某些情况下, 控制这个顺序又是有必要的. 在<xref linkend=\"validator-usingvalidator-validationgroups\"/>中, 我们可以要求汽车先要通过检测, 没有问题了之后在进行上路测试, 最后, 在我们把车开走之前,还要让司机通过测试. 为了达到这个效果, 我们可以创建一个新的接口, 然后用<classname>@GroupSequence</classname>标注它, 在这个标注里面去定义要应用的验证组的顺序. "
 
 #. Tag: para
 #: usingvalidator.xml:620
 #, no-c-format
 msgid "If at least one constraints fails in a sequenced group none of the constraints of the following groups in the sequence get validated."
-msgstr ""
+msgstr "如果这个校验组序列中有一个约束条件没有通过验证的话, 那么此约束条件后面的都不会再继续被校验了. "
 
 #. Tag: title
 #: usingvalidator.xml:626
 #, no-c-format
 msgid "Interface with @GroupSequence"
-msgstr ""
+msgstr "标注了@GroupSequence的接口"
 
 #. Tag: programlisting
 #: usingvalidator.xml:628
@@ -1370,24 +1370,27 @@
 "public interface OrderedChecks {\n"
 "}"
 msgstr ""
+"@GroupSequence({Default.class, CarChecks.class, DriverChecks.class})\n"
+"public interface OrderedChecks {\n"
+"}"
 
 #. Tag: para
 #: usingvalidator.xml:632
 #, no-c-format
 msgid "Groups defining a sequence and groups composing a sequence must not be involved in a cyclic dependency either directly or indirectly, either through cascaded sequence definition or group inheritance. If a group containing such a circularity is evaluated, a <classname>GroupDefinitionException</classname> is raised."
-msgstr ""
+msgstr "一个校验组序列中包含的校验组和这个校验组序列不能造成直接或者间接的循环引用. 包括校验组继承. 如果造成了循环引用的话, 会导致<classname>GroupDefinitionException</classname>异常."
 
 #. Tag: para
 #: usingvalidator.xml:636
 #, no-c-format
 msgid "The usage of the new sequence could then look like in <xref linkend=\"example-group-sequence\"/>."
-msgstr ""
+msgstr "<xref linkend=\"example-group-sequence\"/>展示了校验组序列的用法."
 
 #. Tag: title
 #: usingvalidator.xml:641
 #, no-c-format
 msgid "Usage of a group sequence"
-msgstr ""
+msgstr "校验组序列的用法"
 
 #. Tag: programlisting
 #: usingvalidator.xml:643
@@ -1406,24 +1409,36 @@
 "    assertEquals( 0, validator.validate( car, OrderedChecks.class ).size() );\n"
 "}"
 msgstr ""
+"@Test\n"
+"public void testOrderedChecks() {\n"
+"    Car car = new Car( \"Morris\", \"DD-AB-123\", 2 );\n"
+"    car.setPassedVehicleInspection( true );\n"
+"\n"
+"    Driver john = new Driver( \"John Doe\" );\n"
+"    john.setAge( 18 );\n"
+"    john.passedDrivingTest( true );\n"
+"    car.setDriver( john );\n"
+"\n"
+"    assertEquals( 0, validator.validate( car, OrderedChecks.class ).size() );\n"
+"}"
 
 #. Tag: title
 #: usingvalidator.xml:648
 #, no-c-format
 msgid "Redefining the default group sequence of a class"
-msgstr ""
+msgstr "对一个类重定义其默认校验组"
 
 #. Tag: para
 #: usingvalidator.xml:650
 #, no-c-format
 msgid "The @GroupSequence annotation also fulfills a second purpose. It allows you to redefine what the Default group means for a given class. To redefine <classname>Default</classname> for a class, place a <classname>@GroupSequence</classname> annotation on the class. The defined groups in the annotation express the sequence of groups that substitute <classname>Default</classname> for this class. <xref linkend=\"example-rental-car\"/> introduces a new class RentalCar with a redfined default group. With this definition the check for all three groups can be rewritten as seen in <xref linkend=\"example-testOrderedChecksWithRedefinedDefault\"/>."
-msgstr ""
+msgstr "<classname>@GroupSequence</classname> annotation还有第二个用处, 通过把<classname>@GroupSequence</classname>标注于一个类, 你可以给这个类定义它的默认校验组(<classname>Default</classname>).  这样,定义在其中的校验组就表示对这个类进行默认组校验的时候要被应用的约束条件(和顺序). <xref linkend=\"example-rental-car\"/>中引入了一个新的类RentalCar, 它就被重定义了默认组. 这样, 在<xref linkend=\"example-testOrderedChecksWithRedefinedDefault\"/>中, RentalCar被校验的时候,实际上是被应用了三个校验组的约束条件."
 
 #. Tag: title
 #: usingvalidator.xml:662
 #, no-c-format
 msgid "RentalCar"
-msgstr ""
+msgstr "RentalCar"
 
 #. Tag: programlisting
 #: usingvalidator.xml:664
@@ -1436,12 +1451,18 @@
 "    }\n"
 "}"
 msgstr ""
+"@GroupSequence({ RentalCar.class, CarChecks.class })\n"
+"public class RentalCar extends Car {\n"
+"    public RentalCar(String manufacturer, String licencePlate, int seatCount) {\n"
+"        super( manufacturer, licencePlate, seatCount );\n"
+"    }\n"
+"}"
 
 #. Tag: title
 #: usingvalidator.xml:668
 #, no-c-format
 msgid "testOrderedChecksWithRedefinedDefault"
-msgstr ""
+msgstr "testOrderedChecksWithRedefinedDefault"
 
 #. Tag: programlisting
 #: usingvalidator.xml:670
@@ -1460,61 +1481,73 @@
 "    assertEquals( 0, validator.validate( rentalCar, Default.class, DriverChecks.class ).size() );\n"
 "}"
 msgstr ""
+"@Test\n"
+"public void testOrderedChecksWithRedefinedDefault() {\n"
+"    RentalCar rentalCar = new RentalCar( \"Morris\", \"DD-AB-123\", 2 );\n"
+"    rentalCar.setPassedVehicleInspection( true );\n"
+"\n"
+"    Driver john = new Driver( \"John Doe\" );\n"
+"    john.setAge( 18 );\n"
+"    john.passedDrivingTest( true );\n"
+"    rentalCar.setDriver( john );\n"
+"\n"
+"    assertEquals( 0, validator.validate( rentalCar, Default.class, DriverChecks.class ).size() );\n"
+"}"
 
 #. Tag: para
 #: usingvalidator.xml:674
 #, no-c-format
 msgid "Due to the fact that there cannot be a cyclic dependency in the group and group sequence definitions one cannot just add <classname>Default</classname> to the sequence redefining <classname>Default</classname> for a class. Instead the class itself should be added!"
-msgstr ""
+msgstr "因为不能在校验组和校验组序列中有循环依赖关系, 所以, 如果你想重定义一个类的默认组, 并且还想把<classname>Default</classname>组加入到这个重定义的序列当中的话, 则不能简单的加入<classname>Default</classname>, 而是需要把被重定义的类加入到其中."
 
 #. Tag: title
 #: usingvalidator.xml:684
 #: usingvalidator.xml:692
 #, no-c-format
 msgid "Built-in constraints"
-msgstr ""
+msgstr "内置的约束条件"
 
 #. Tag: para
 #: usingvalidator.xml:686
 #, no-c-format
 msgid "Hibernate Validator implements all of the default constraints specified in Bean Validation as well as some custom ones. <xref linkend=\"table-builtin-constraints\"/> list all constraints available in Hibernate Validator."
-msgstr ""
+msgstr "Hibernate Validator不仅实现了Bean Validation中规定的所有的默认约束条件, 还有附加有一些自定义的. <xref linkend=\"table-builtin-constraints\"/>列出了Hibernate Validator中已经提供的约束条件."
 
 #. Tag: entry
 #: usingvalidator.xml:699
 #, no-c-format
 msgid "Annotation"
-msgstr ""
+msgstr "Annotation"
 
 #. Tag: entry
 #: usingvalidator.xml:701
 #, no-c-format
 msgid "Part of Bean Validation Specification"
-msgstr ""
+msgstr "属于Bean Validation 规范"
 
 #. Tag: entry
 #: usingvalidator.xml:703
 #, no-c-format
 msgid "Apply on"
-msgstr ""
+msgstr "应用位置"
 
 #. Tag: entry
 #: usingvalidator.xml:705
 #, no-c-format
 msgid "<entry>Use</entry>"
-msgstr ""
+msgstr "<entry>作用</entry>"
 
 #. Tag: entry
 #: usingvalidator.xml:707
 #, no-c-format
 msgid "Hibernate Metadata impact"
-msgstr ""
+msgstr "对Hibernate Core中的元数据的影响"
 
 #. Tag: entry
 #: usingvalidator.xml:713
 #, no-c-format
 msgid "@AssertFalse"
-msgstr ""
+msgstr "@AssertFalse"
 
 #. Tag: entry
 #: usingvalidator.xml:715
@@ -1533,7 +1566,7 @@
 #: usingvalidator.xml:1049
 #, no-c-format
 msgid "<entry>yes</entry>"
-msgstr ""
+msgstr "<entry>yes</entry>"
 
 #. Tag: entry
 #: usingvalidator.xml:717
@@ -1543,13 +1576,13 @@
 #: usingvalidator.xml:938
 #, no-c-format
 msgid "field/property"
-msgstr ""
+msgstr "field/property"
 
 #. Tag: entry
 #: usingvalidator.xml:719
 #, no-c-format
 msgid "Check that the annotated element is <constant>false</constant>."
-msgstr ""
+msgstr "检查被标注的值是否为<constant>false</constant>."
 
 #. Tag: entry
 #: usingvalidator.xml:722
@@ -1570,25 +1603,25 @@
 #: usingvalidator.xml:1059
 #, no-c-format
 msgid "none"
-msgstr ""
+msgstr "没有"
 
 #. Tag: entry
 #: usingvalidator.xml:726
 #, no-c-format
 msgid "@AssertTrue"
-msgstr ""
+msgstr "@AssertTrue"
 
 #. Tag: entry
 #: usingvalidator.xml:732
 #, no-c-format
 msgid "Check that the annotated element is <constant>true</constant>."
-msgstr ""
+msgstr "检查被标注的值是否为<constant>true</constant>."
 
 #. Tag: entry
 #: usingvalidator.xml:739
 #, no-c-format
 msgid "@CreditCardNumber"
-msgstr ""
+msgstr "@CreditCardNumber"
 
 #. Tag: entry
 #: usingvalidator.xml:741
@@ -1601,26 +1634,26 @@
 #: usingvalidator.xml:1032
 #, no-c-format
 msgid "<entry>no</entry>"
-msgstr ""
+msgstr "<entry>no</entry>"
 
 #. Tag: entry
 #: usingvalidator.xml:743
 #: usingvalidator.xml:1034
 #, no-c-format
 msgid "field/property. The supported type is <classname>String</classname>."
-msgstr ""
+msgstr "字段或属性, 要求其类型为<classname>String</classname>."
 
 #. Tag: entry
 #: usingvalidator.xml:746
 #, no-c-format
 msgid "Check that the annotated string passes the Luhn checksum test. Note, this validation aims to check for user mistake, not credit card validity! See also <ulink url=\"http://www.merriampark.com/anatomycc.htm\">Anatomy of Credit Card Numbers</ulink>."
-msgstr ""
+msgstr "检查被标注的字符串能否通过Luhn Checksum test. 注意, 这个约束条件是为了防止用户手误, 并不对信用卡有效性进行检测.  请参考<ulink url=\"http://www.merriampark.com/anatomycc.htm\">Anatomy of Credit Card Numbers</ulink>."
 
 #. Tag: entry
 #: usingvalidator.xml:756
 #, no-c-format
 msgid "@DecimalMax"
-msgstr ""
+msgstr "@DecimalMax"
 
 #. Tag: entry
 #: usingvalidator.xml:760
@@ -1631,49 +1664,49 @@
 #: usingvalidator.xml:979
 #, no-c-format
 msgid "field/property. Supported types are <classname>BigDecimal</classname>, <classname>BigInteger</classname>, <classname>String</classname>, <classname>byte</classname>, <classname>short</classname>, <classname>int</classname>, <classname>long</classname> and the respective wrappers of the primitive types."
-msgstr ""
+msgstr "字段或属性. 支持类型包括<classname>BigDecimal</classname>, <classname>BigInteger</classname>, <classname>String</classname>, <classname>byte</classname>, <classname>short</classname>, <classname>int</classname>, <classname>long</classname>和其各自对应的包装器类型."
 
 #. Tag: entry
 #: usingvalidator.xml:767
 #, no-c-format
 msgid "The annotated element must be a number whose value must be lower or equal to the specified maximum. The parameter value is the string representation of the max value according to the <classname>BigDecimal</classname> string representation."
-msgstr ""
+msgstr "被标注的值必须不大于约束中指定的最大值. 这个约束的参数是一个通过<classname>BigDecimal</classname>定义的最大值的字符串表示."
 
 #. Tag: entry
 #: usingvalidator.xml:776
 #, no-c-format
 msgid "@DecimalMin"
-msgstr ""
+msgstr "@DecimalMin"
 
 #. Tag: entry
 #: usingvalidator.xml:787
 #, no-c-format
 msgid "The annotated element must be a number whose value must be higher or equal to the specified minimum. The parameter value is the string representation of the min value according to the <classname>BigDecimal</classname> string representation."
-msgstr ""
+msgstr "被标注的值必须不小于约束中指定的最小值. 这个约束的参数是一个通过<classname>BigDecimal</classname>定义的最小值的字符串表示."
 
 #. Tag: entry
 #: usingvalidator.xml:796
 #, no-c-format
 msgid "@Digits(integer=, fraction=)"
-msgstr ""
+msgstr "@Digits(integer=, fraction=)"
 
 #. Tag: entry
 #: usingvalidator.xml:807
 #, no-c-format
 msgid "Check whether the property is a number having up to <literal>integer</literal> digits and <literal>fraction</literal> fractional digits."
-msgstr ""
+msgstr "检查此值是否是一个数字,并且这个数字的整数部分不超过<literal>integer</literal>定义的位数, 和小数部分不超过<literal>fraction</literal> 定义的位数."
 
 #. Tag: entry
 #: usingvalidator.xml:811
 #, no-c-format
 msgid "Define column precision and scale."
-msgstr ""
+msgstr "对应的数据库表字段会被设置精度(precision)和准度(scale)."
 
 #. Tag: entry
 #: usingvalidator.xml:815
 #, no-c-format
 msgid "@Email"
-msgstr ""
+msgstr "@Email"
 
 #. Tag: entry
 #: usingvalidator.xml:819
@@ -1681,254 +1714,254 @@
 #: usingvalidator.xml:965
 #, no-c-format
 msgid "field/property. Needs to be a string."
-msgstr ""
+msgstr "字段或属性, 需要是String类型的."
 
 #. Tag: entry
 #: usingvalidator.xml:821
 #, no-c-format
 msgid "Check whether the specified string is a valid email address."
-msgstr ""
+msgstr "检查所给的字符串是否符合email地址的格式."
 
 #. Tag: entry
 #: usingvalidator.xml:828
 #, no-c-format
 msgid "@Future"
-msgstr ""
+msgstr "@Future"
 
 #. Tag: entry
 #: usingvalidator.xml:832
 #: usingvalidator.xml:951
 #, no-c-format
 msgid "field/property. Supported types are <classname>java.util.Date</classname> and <classname>java.util.Calendar</classname>."
-msgstr ""
+msgstr "字段或属性, 支持类型是<classname>java.util.Date</classname> 和 <classname>java.util.Calendar</classname>."
 
 #. Tag: entry
 #: usingvalidator.xml:836
 #, no-c-format
 msgid "Checks whether the annotated date is in the future."
-msgstr ""
+msgstr "检查给定的日期是否比现在晚."
 
 #. Tag: entry
 #: usingvalidator.xml:842
 #, no-c-format
 msgid "@Length(min=, max=)"
-msgstr ""
+msgstr "@Length(min=, max=)"
 
 #. Tag: entry
 #: usingvalidator.xml:848
 #, no-c-format
 msgid "Validate that the annotated string is between <parameter>min</parameter> and <parameter>max</parameter> included."
-msgstr ""
+msgstr "检查该字符串的长度是否在<parameter>min</parameter> 和 <parameter>max</parameter>规定的范围内."
 
 #. Tag: entry
 #: usingvalidator.xml:852
 #: usingvalidator.xml:1005
 #, no-c-format
 msgid "Column length will be set to max."
-msgstr ""
+msgstr "对应的数据库表字段的长度会被设置成约束中定义的最大值."
 
 #. Tag: entry
 #: usingvalidator.xml:856
 #, no-c-format
 msgid "@Max"
-msgstr ""
+msgstr "@Max"
 
 #. Tag: entry
 #: usingvalidator.xml:867
 #, no-c-format
 msgid "Checks whether the annotated value is less than or equal to the specified maximum."
-msgstr ""
+msgstr "检查该值是否小于或等于约束条件中指定的最大值."
 
 #. Tag: entry
 #: usingvalidator.xml:870
 #: usingvalidator.xml:888
 #, no-c-format
 msgid "Add a check constraint on the column."
-msgstr ""
+msgstr "会给对应的数据库表字段添加一个check的约束条件."
 
 #. Tag: entry
 #: usingvalidator.xml:874
 #, no-c-format
 msgid "@Min"
-msgstr ""
+msgstr "@Min"
 
 #. Tag: entry
 #: usingvalidator.xml:885
 #, no-c-format
 msgid "Checks whether the annotated value is higher than or equal to the specified minimum."
-msgstr ""
+msgstr "检查该值是否大于或等于约束条件中规定的最小值."
 
 #. Tag: entry
 #: usingvalidator.xml:892
 #, no-c-format
 msgid "@NotNull"
-msgstr ""
+msgstr "@NotNull"
 
 #. Tag: entry
 #: usingvalidator.xml:898
 #, no-c-format
 msgid "Check that the annotated value is not <constant>null.</constant>"
-msgstr ""
+msgstr "检查该值不为<constant>null.</constant>."
 
 #. Tag: entry
 #: usingvalidator.xml:901
 #, no-c-format
 msgid "Column(s) are not null."
-msgstr ""
+msgstr "对应的表字段不允许为null."
 
 #. Tag: entry
 #: usingvalidator.xml:905
 #, no-c-format
 msgid "@NotBlank"
-msgstr ""
+msgstr "@NotBlank"
 
 #. Tag: entry
 #: usingvalidator.xml:911
 #, no-c-format
 msgid "Check that the annotated string is not null and the trimmed length is greater than 0. The difference to @NotEmpty is that this constraint can only be applied on strings and that trailing whitespaces are ignored."
-msgstr ""
+msgstr "检查该字符串不为null,并且不是空字符串. 本约束和下面的@NotEmpty的不同之处在于,本约束只能被用在字符串类型上,并且会忽略字符串尾部的空白字符."
 
 #. Tag: entry
 #: usingvalidator.xml:920
 #, no-c-format
 msgid "@NotEmpty"
-msgstr ""
+msgstr "@NotEmpty"
 
 #. Tag: entry
 #: usingvalidator.xml:924
 #, no-c-format
 msgid "field/property. Supported types are String, Collection, Map and arrays."
-msgstr ""
+msgstr "字段或属性. 支持的类型包括String, Collection, Map 和数组."
 
 #. Tag: entry
 #: usingvalidator.xml:927
 #, no-c-format
 msgid "Check whether the annotated element is not <constant>null</constant> nor empty."
-msgstr ""
+msgstr "检查该值不为null同时也不为空."
 
 #. Tag: entry
 #: usingvalidator.xml:934
 #, no-c-format
 msgid "@Null"
-msgstr ""
+msgstr "@Null"
 
 #. Tag: entry
 #: usingvalidator.xml:940
 #, no-c-format
 msgid "Check that the annotated value is <constant>null.</constant>"
-msgstr ""
+msgstr "检查该值应该为null."
 
 #. Tag: entry
 #: usingvalidator.xml:947
 #, no-c-format
 msgid "@Past"
-msgstr ""
+msgstr "@Past"
 
 #. Tag: entry
 #: usingvalidator.xml:955
 #, no-c-format
 msgid "Checks whether the annotated date is in the past."
-msgstr ""
+msgstr "检查标注对象中的值表示的日期比当前早."
 
 #. Tag: entry
 #: usingvalidator.xml:961
 #, no-c-format
 msgid "@Pattern(regex=, flag=)"
-msgstr ""
+msgstr "@Pattern(regex=, flag=)"
 
 #. Tag: entry
 #: usingvalidator.xml:967
 #, no-c-format
 msgid "Checks if the annotated string matches the regular expression <parameter>regex</parameter> considering the given flag <parameter>match</parameter>."
-msgstr ""
+msgstr "检查该字符串是否能够在<parameter>match</parameter>指定的情况下被<parameter>regex</parameter>定义的正则表达式匹配."
 
 #. Tag: entry
 #: usingvalidator.xml:975
 #, no-c-format
 msgid "@Range(min=, max=)"
-msgstr ""
+msgstr "@Range(min=, max=)"
 
 #. Tag: entry
 #: usingvalidator.xml:986
 #, no-c-format
 msgid "Check whether the annotated value lies between (inclusive) the specified minimum and maximum."
-msgstr ""
+msgstr "检查该值是否在[min, max)之间"
 
 #. Tag: entry
 #: usingvalidator.xml:993
 #, no-c-format
 msgid "@Size(min=, max=)"
-msgstr ""
+msgstr "@Size(min=, max=)"
 
 #. Tag: entry
 #: usingvalidator.xml:997
 #, no-c-format
 msgid "field/property. Supported types are <classname>String</classname>, <classname>Collection</classname>, <classname>Map</classname> and <classname>arrays</classname>."
-msgstr ""
+msgstr "字段或属性. 支持的类型包括String, Collection, Map 和数组."
 
 #. Tag: entry
 #: usingvalidator.xml:1002
 #, no-c-format
 msgid "Check if the annotated element size is between min and max (inclusive)."
-msgstr ""
+msgstr "检查该值的size是否在[min, max)之间."
 
 #. Tag: entry
 #: usingvalidator.xml:1009
 #, no-c-format
 msgid "@ScriptAssert(lang=, script=, alias=)"
-msgstr ""
+msgstr "@ScriptAssert(lang=, script=, alias=)"
 
 #. Tag: entry
 #: usingvalidator.xml:1013
 #, no-c-format
 msgid "type"
-msgstr ""
+msgstr "类"
 
 #. Tag: entry
 #: usingvalidator.xml:1015
 #, no-c-format
 msgid "Checks whether the given script can successfully be evaluated against the annotated element. In order to use this constraint, an implementation of the Java Scripting API as defined by JSR 223 (\"Scripting for the Java<superscript>TM</superscript> Platform\") must part of the class path. This is automatically the case when running on Java 6. For older Java versions, the JSR 223 RI can be added manually to the class path.The expressions to be evaluated can be written in any scripting or expression language, for which a JSR 223 compatible engine can be found in the class path."
-msgstr ""
+msgstr "要使用这个约束条件,必须先要保证Java Scripting API 即JSR 223 (\"Scripting for the Java<superscript>TM</superscript> Platform\")的实现在类路径当中. 如果使用的时Java 6的话,则不是问题, 如果是老版本的话, 那么需要把 JSR 223的实现添加进类路径. 这个约束条件中的表达式可以使用任何兼容JSR 223的脚本来编写. (更多信息请参考javadoc)"
 
 #. Tag: entry
 #: usingvalidator.xml:1030
 #, no-c-format
 msgid "@URL(protocol=, host=, port=)"
-msgstr ""
+msgstr "@URL(protocol=, host=, port=)"
 
 #. Tag: entry
 #: usingvalidator.xml:1037
 #, no-c-format
 msgid "Check if the annotated string is a valid URL. If any of parameters <parameter>protocol</parameter>, <parameter>host</parameter> or <parameter>port</parameter> is specified the URL must match the specified values in the according part."
-msgstr ""
+msgstr "判断该值是否是一个有效的URL, 如果给出了约束中的<parameter>protocol</parameter>, <parameter>host</parameter> 或 <parameter>port</parameter> 参数的话,那个被校验的值需要和其匹配."
 
 #. Tag: entry
 #: usingvalidator.xml:1047
 #, no-c-format
 msgid "@Valid"
-msgstr ""
+msgstr "@Valid"
 
 #. Tag: entry
 #: usingvalidator.xml:1051
 #, no-c-format
 msgid "field/property. Any non-primitive types are supported."
-msgstr ""
+msgstr "字段或属性. 支持所有的非原始类型."
 
 #. Tag: entry
 #: usingvalidator.xml:1054
 #, no-c-format
 msgid "Performs validation recursively on the associated object. If the object is a collection or an array, the elements are validated recursively. If the object is a map, the value elements are validated recursively."
-msgstr ""
+msgstr "递归的对关联对象进行校验, 如果关联对象是个集合或者数组, 那么对其中的元素进行递归校验,如果是一个map,则对其中的值部分进行校验."
 
 #. Tag: para
 #: usingvalidator.xml:1066
 #, no-c-format
 msgid "On top of the parameters indicated in <xref linkend=\"table-builtin-constraints\"/> each constraint supports the parameters <parameter>message</parameter>, <parameter>groups</parameter> and <parameter>payload</parameter>. This is a requirement of the Bean Validation specification."
-msgstr ""
+msgstr "除了<xref linkend=\"table-builtin-constraints\"/>中列出的各个约束包含的参数外,所有的约束条件还都有<parameter>message</parameter>, <parameter>groups</parameter> 和 <parameter>payload</parameter>三个参数, 这个是Bean Validation 规范规定的."
 
 #. Tag: para
 #: usingvalidator.xml:1073
 #, no-c-format
 msgid "In some cases these built-in constraints will not fulfill your requirements. In this case you can literally in a minute write your own constraints. We will discuss this in"
-msgstr ""
+msgstr "如果这些内置的约束不能满足你的需求的话, 那么你可以创建你自己的约束条件, 我们接下来会详细介绍, 请继续阅读"
 



More information about the hibernate-commits mailing list