blob: f93733822d093bc5c9b86d29f413b074b563c106 [file] [log] [blame]
# $Id$
# Copyright 2004, 2008 The Apache Software Foundation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# See the License for the specific language governing permissions and
# limitations under the License.
# Contains String contants used throughout the Tapestry framework.
# To keep things organized, each key is in two parts: the simple class name
# and a subkey within the class name.
# Some general messages
service-no-parameters=Service {0} requires no service parameters.
service-single-parameter=Service {0} requires exactly one service parameter.
service-single-context-parameter=Service {0} requires exactly one context parameter.
service-requires-parameters=Service {0} requires at least one service parameter.
service-incorrect-parameter-count=Service {0} requires exactly {1} service parameters.
missing-resource=Could not locate resource {0}.
invalid-field-name=Invalid field name: {0}.
unable-to-resolve-class=Unable to resolve class {0}.
field-not-defined=Field {0} does not exist.
illegal-field-access=Cannot access field {0}.
field-is-instance=Field {0} is an instance variable, not a class variable.
deprecated-component-param=Parameter ''{1}'' of component {0} is deprecated, use parameter ''{2}'' instead.
must-be-wrapped-by-form={1} components must be enclosed by a Form component.
invalid-null-parameter=Parameter ''{0}'' may not be null.
null-value-for-binding=Binding value is null.
no-such-component=Component {0} does not contain a component {1}.
required-parameter=Value for parameter ''{0}'' in component {1} is null, and a non-null value is required.
render-only-property=Property ''{0}'' of {1} may only be accessed while the component is rendering.
unsupported-property=Property ''{1}'' is not supported by {0}.
must-be-contained-by-body={0} components must be contained by a Body component.
illegal-encoding=The encoding ''{0}'' is not recognized.
unable-to-parse-expression=Unable to parse OGNL expression ''{0}'': {1}
unable-to-read-expression=Unable to read OGNL expression ''{0}'' of {1}: {2}
unable-to-write-expression=Unable to update OGNL expression ''{0}'' of {1} to {2}: {3}
is-constant-expression-error=Error evaluating OGNL expression ''{0}'': {1}
unable-to-lookup=Unable to lookup {0}: {1}
# org.apache.tapestry
AbstractComponent.attempt-to-change-container=Attempt to change existing container.
AbstractComponent.attempt-to-change-component-id=Attempt to change existing component id.
AbstractComponent.null-container={0} container is null.
AbstractComponent.attempt-to-change-page=Attempt to change existing containing page.
AbstractComponent.attempt-to-change-spec=Attempt to change existing component specification.
AbstractPage.attempt-to-change-locale=Attempt to change existing locale for a page.
AbstractPage.attempt-to-change-name=Attempt to change existing name for a page.
AbstractMarkupWriter.missing-constructor-parameters=Incomplete parameters to AbstractMarkupWriter constructor.
AbstractMarkupWriter.tag-not-open=A tag must be open before attributes may be set in an IMarkupWriter.
ApplicationServlet.could-not-locate-engine=Could not locate an engine to service this request.
ApplicationServlet.could-not-parse-spec=Unable to parse application specification {0}.
ApplicationServlet.get-app-path-not-overriden=Application servlet {0} does not provide an implementation of method getApplicationServletPath(). application without an application specification.
ApplicationServlet.engine-stateful-without-session=Engine {0} is stateful even though there is no HttpSession. Discarding the engine.
BaseComponent.multiple-component-references=Template for component {0} contains multiple references to embedded component {1}.
BaseComponent.unbalanced-close-tags=More closing tags the open tags in template.
BaseComponent.unbalance-open-tags=Not all tags closed in template.
BaseComponent.missing-component-spec-single=Template for component {0} does not reference embedded component:
BaseComponent.missing-component-spec-multi=Template for component {0} does not reference embedded components:
BaseComponent.dupe-template-expression=An expression for parameter ''{0}'' of component {1} in the template for {2} conflicts with an existing binding in the specification.
BaseComponent.template-expression-for-informal-parameter=The template for {2} contains an expression for parameter ''{0}'' of component {1}, but {1} does not allow informal parameters.
BaseComponent.template-expression-for-reserved-parameter=The template for {2} contains an expression for parameter ''{0}'' of component {1}, but ''{0}'' is a reserved parameter name.
BaseComponent.dupe-string=A localized string reference for parameter ''{0}'' of component {1} in the template for {2} conflicts with an existing binding in the specification.
BaseComponentTemplateLoader.dupe-component-id=Component {0} (at {1}) conflicts with a prior declaration in the specification (at {2}).
BaseComponentTemplateLoader.bodyless-component=This component may not have a body.
RedirectServlet.redirect-path=Redirecting to servlet at path {0}.
RedirectServlet.redirecting=Redirecting servlet context URL to {0}.
ResponseOutputStream.content-type-not-set=Content type of response never set.
StaleLinkException.action-mismatch=Action id {0} matched component {1}, not {2}.
StaleLinkException.component-mismatch=Action id {0} does not match component {1}.
Tapestry.even-sized-array=An even-sized array of keys and values is required.
Tapestry.missing-method-invocation=Class {0} overrides method ''{1}'' but does not invoke the super-class implementation.
# org.apache.tapestry.asset
AssetExternalizer.externalize-failure=Could not externalize asset {0} to {1}.
AssetService.exception-report-title=Failure to export asset {0}.
AssetService.checksum-failure=Checksum {0} does not match that of resource {1}.
AssetService.checksum-compute-failure=Failed to compute checksum for resource {1}.
ExternalAsset.resource-missing=Could not access external asset {0}.
# org.apache.tapestry.bean
BeanProvider.bean-not-defined=Component {0} does not define a bean name {1}.
BeanProvider.instantiation-error=Unable to instantiate bean ''{0}'' (for component {1}) as class {2}: {3}
AbstractBeanInitializer.unable-to-set-property=Unable to set property ''{0}'' of {1} to {2}.
# org.apache.tapestry.binding
AbstractBinding.wrong-type=Parameter {0} ({1}) is an instance of {2}, which does not inherit from {3}.
AbstractBinding.wrong-interface=Parameter {0} ({1}) is an instance of {2}, which does not implement interface {3}. value may not be updated.
ExpressionBinding.unable-to-resolve-expression=Unable to resolve expression ''{0}'' for {1}.
ExpressionBinding.unable-to-update-expression=Unable to update expression ''{0}'' for {1} to {2}.
ListenerBinding.invalid-access=Inappropriate invocation of {0} on instance of ListenerBinding.
ListenerBinding.bsf-exception=Unable to execute listener script "{0}": {1}
ListenerBinding.unable-to-undeclare-bean=Unable to undeclare bean ''{0}'' after executing "{0}".
# org.apache.tapestry.callback
DirectCallback.wrong-type=Component {0} does not implement the IDirect interface.
# org.apache.tapestry.component
Insert.unable-to-format=Unable to format object {0}.
Any.element-not-defined=The Any component is not used in a template and the 'element' property is not bound.
# org.apache.tapestry.param {0} does not have accessor methods for property {1}. {1} of component {0} is not read-write. Java type was specified for parameter {0} of component {1}.
ParameterManager.type-mismatch=Parameter {0} of component {1} is declared as {2}, but the property is {3}.
ParameterManager.static-initialization-failure=Unable to set property {0} of component {1} from {2}.
ParameterManager.incompatible-direction-and-binding=Parameter {0} of component {1} is direction {2} which is incompatible with {3}.
# org.apache.tapestry.engine
AbstractEngine.unable-to-process-client-request=Unable to process client request.
AbstractEngine.unable-to-present-exception-page=Unable to present exception page.
AbstractEngine.unknown-specification=<Unknown specification>
AbstractEngine.unknown-service=Engine does not implement a service named ''{0}''.
AbstractEngine.unable-to-begin-request=Tapestry unable to begin processing request.
AbstractEngine.unable-to-cleanup-page=Unable to cleanup page {0}.
AbstractEngine.unable-to-instantiate-visit=Unable to instantiate visit object from class {0}.
AbstractEngine.unable-to-instantiate-global=Unable to instantiate global object from class {0}.
AbstractEngine.unable-to-redirect=Unable to redirect to {0}.
AbstractEngine.service-name-mismatch=Class {1} is registered as service {0} but provides service {2} instead.
AbstractEngine.unable-to-instantiate-service=Unable to instantiate class {1} as service {0}.
AbstractEngine.unable-to-find-dispatcher=Unable to find a request dispatcher for local resource ''{0}''.
AbstractEngine.unable-to-forward=Unable to forward to local resource ''{0}''.
AbstractEngine.unable-to-create-cleanup-context=Unable to create an instance of RequestContext to process end-of-session page cleanups.
AbstractEngine.exception-during-cleanup=Exception during post-request cleanup.
AbstractEngine.exception-during-cache-clear=Exception while clearing caches after request.
AbstractEngine.validate-cycle=A validate cycle during page activation was detected: {0}.
ActionService.context-parameters=Service action requires either three or four service contect parameters.
ActionService.action-component-wrong-type=Component {0} does not implement the IAction interface.
DefaultScriptSource.unable-to-parse-script=Unable to parse script {0}. not find a component matching alias {0}.
DefaultSpecificationSource.unable-to-locate-specification=Could not locate resource {0} in the classpath.
DefaultSpecificationSource.unable-to-open-specification=Could not open specification {0}.
DefaultSpecificationSource.unable-to-parse-specification=Could not parse specification {0}. not find template for component {0} in locale {1}. not find template for page {0} in locale {1}.
DefaultTemplateSource.unable-to-parse-template=Could not parse template {0}.
DefaultTemplateSource.unable-to-read-template=Could not read template {0}.
DirectService.context-parameters=Service direct requires either three or four service context parameters.
DirectService.component-wrong-type=Component {0} does not implement the IDirect interface.
DirectService.stale-session-exception=Component {0} is stateful, but the HttpSession has expired (or has not yet been created).
EngineServiceLink.unknown-parameter-name=Unknown parameter name ''{0}''. ''{0}'' not found in {1}. ''{0}'' not found in {1}.
Namespace.application-namespace=application namespace
Namespace.framework-namespace=framework namespace
Namespace.nested-namespace=namespace ''{0}''
Namespace.library-id-not-found=Library ''{0}'' not found in {1}.
RequestCycle.invalid-null-name=Parameter name may not be null in RequestCycle.getPage(String).
RequestCycle.form-rewind-failure=Failure to rewind form {0}.
ResourceResolver.unable-to-load-class=Could not load class {0} from {1}: {2}
TagSupportService.service-only=The tagsupport service does not support tag generation.
TagSupportService.null-attribute=Request attribute ''{0}'' is required by the tagsupport service, but the value is null.
TagSupportService.attribute-not-string=Request attribute ''{0}'' is an instance of {1}, not a string.
TagSupportService.attribute-not-array=Request attribute ''{0}'' is an instance of {0}, not an object array.
BaseEngine.recorder-has-uncommited-changes=Could not forget changes to page {0} because the page's recorder has uncommitted changes.
BaseEngine.duplicate-page-recorder=Could not create a second page recorder for page {0}. {0} does not implement the IExternalPage interface.
# org.apache.tapestry.enhance
ComponentClassFactory.bad-property-type=Unable to convert ''{0}'' to a property type. to enhance class {0} because it contains property ''{1}'' of type {2}, not the expected type {3}.
ComponentClassFactory.non-abstract-read=Unable to enhance class {0} because it implements a non-abstract read method for property ''{1}''.
ComponentClassFactory.non-abstract-write=Unable to enhance class {0} because it implements a non-abstract write method for property ''{1}''.
ComponentClassFactory.unable-to-introspect-class=Unable to introspect properties of class {0}. ''{0}'' must be required or have a default value as it uses direction ''auto''.
ComponentClassFactory.code-generation-error=A code generation error occured while enhancing class {0}.
EnhancedClassLoader.unable-to-define-class=Unable to define class {0}: {1} more arguments may be added once any local variables are added. ''{0}'' (declared in {1}) has no implementation in class {2} (or enhanced subclass {3}).
# org.apache.tapestry.event
ObservedChangeEvent.null-property-name=Must specify a non-null propertyName when creating ObservedChangeEvent for {0}.
ObservedChangeEvent.must-be-serializable=Must specify a serializable object as the new value of property when creating an ObservedChangeEvent.
# org.apache.tapestry.form
AbstractFormComponent.must-be-contained-by-form=This component must be contained within a Form.
Form.forms-may-not-nest=Forms may not be nested.
Form.needs-body-for-event-handlers=A Form with event handlers must be enclosed by a Body component.
Form.too-many-ids=Rewind of form {0} expected only {1} form elements, but an additional id was requested by component {2}.
Form.too-few-ids=Rewind of form {0} expected {1} more form elements, starting with id ''{2}''. of form {0} expected allocated id #{1} to be ''{2}'', but was ''{3}'' (requested by component {4}).
Form.encoding-type-contention=Components within Form {0} have requested conflicting encoding types ''{1}'' and ''{2}''.
ListEdit.unable-to-convert-value=Unable to convert {0} to an external string in ListEdit component.
ListEdit.unable-to-convert-string=Unable to convert {0} back into an object in ListEdit component.
FormConditional.unable-to-convert-value=Unable to convert {0} to an external string in FormConditional component.
FormConditional.unable-to-convert-string=Unable to convert {0} back into an object in FormConditional component.
Option.must-be-contained-by-select=Option component must be contained within a Select.
Radio.must-be-contained-by-group=Radio component must be contained within a RadioGroup.
RadioGroup.may-not-nest=RadioGroup components may not be nested.
Select.may-not-nest=Select components may not be nested.
LinkSubmit.may-not-nest=LinkSubmit components may not be nested.
# org.apache.tapestry.html
Body.may-not-nest=Body components may not be nested.
Body.include-classpath-script-only=Unable to include external script {0}: only classpath resources are supported.
InsertText.conversion-error=Error converting text to lines (for InsertText component).
Rollover.must-be-contained-by-body=Rollover components must be contained within a Body component.
Rollover.must-be-contained-by-link=Rollover components must be contained within an ILinkComponent.
Script.must-be-contained-by-body=Script components must be contained within a Body component.
# org.apache.tapestry.contrib.inspector
ShowEngine.could-not-serialize=Could not serialize the application engine.
InspectorButton.must-be-contained-by-body=InspectorButton component must be contained within a Body component.
# org.apache.tapestry.jsp
URLRetriever.unable-to-find-dispatcher=Unable to find request dispatcher for servlet at ''{0}''. exception messaging servlet {0}: {1}
URLRetriever.servlet-exception=Servlet exception messaging servlet {0}: {1} exception writing output: {1}
AbstractTapestryTag.unable-to-evaluate-expression=Unable to evaluate OGNL expression ''{0}'': {1}
GestureLink.missing-service=No engine service name {0}. may not be nested. link component with multiple functions for a single event type must be contained within a Body.
# org.apache.tapestry.listener
ListenerMap.object-missing-method=Object {0} does not implement a listener method named ''{1}''.
ListenerMap.unable-to-invoke-method=Unable to invoke method {0} on {1}: {2}
# org.apache.tapestry.multipart
UploadPart.unable-to-open-content-file=Unable to open uploaded file ''{0}''.
UploadPart.write-failure=Error writing uploaded content to {0}: {1}
DefaultMultipartDecoder.unable-to-decode=Unable to decode request: {0}
DefaultMultipartDecoder.encoding-not-set=No encoding has been set for this request.
# org.apache.tapestry.pageload
PageLoader.formal-parameters-only=Component {0} allows only formal parameters, binding {1} is not allowed.
PageLoader.required-parameter-not-bound=Required parameter {0} of component {1} is not bound.
PageLoader.unable-to-load-specification=Unable to load component specification.
PageLoader.class-not-component=Class {0} does not implement the IComponent interface.
PageLoader.unable-to-instantiate=Unable to instantiate an instance of class {0}. {0} may not implement the IPage interface.
PageLoader.class-not-page=Class {0} does not implement the IPage interface.
PageLoader.unable-to-instantiate-component=Unable to instantiate component {0}: {1}
PageLoader.missing-asset=Unable to locate asset ''{0}'' of component {1} as {2}.
PageLoader.unable-to-initialize-property=Unable to initialize property {0} of {1}: {2}
PageLoader.inherit-informal-invalid-component-formal-only=Component {0} allows only formal parameters, but has inherit-informal-parameters set.
PageLoader.inherit-informal-invalid-container-formal-only=Component {0} allows only formal parameters, but it contains component {1} that has inherit-informal-parameters set.
EstablishDefaultParameterValuesVisitor.parameter-must-have-no-default-value=Parameter {1} of component {0} is required and must not have a default value.
# org.apache.tapestry.parse
TextToken.error-trimming={0}: Failure trimming leading and trailing whitespace. not convert ''{0}'' to boolean. not convert ''{0}'' to integer. not convert ''{0}'' to double. not convert ''{0}'' to long.
SpecificationParser.unexpected-component-public-id=Unexpected component specification with public identifier {0}.
SpecificationParser.unexpected-application-public-id=Unexpected application specification with public identifier {0}.
SpecificationParser.both-type-and-copy-of=Contained component {0} contains both type and copy-of attributes.
SpecificationParser.missing-type-or-copy-of=Contained component {0} does not specify attribute type or copy-of.
SpecificationParser.unable-to-copy=Unable to copy component {0}, which does not exist.
SpecificationParser.invalid-parameter-name=Parameter ''{0}'' is an invalid name. Parameter names should be valid Java identifiers.
SpecificationParser.invalid-page-name=''{0}'' is not a valid page name. Page names must start with a letter and consist only of letters, numbers, period, dash and underscore.
SpecificationParser.invalid-component-type=''{0}'' is not a valid component type. Types must be valid Java identifiers.
SpecificationParser.invalid-property-name=''{0}'' is not a valid JavaBean property name. Property names must be valid Java identifiers.
SpecificationParser.invalid-bean-name=''{0}'' is not a valid helper bean name. Helper bean names must be valid Java identifiers.
SpecificationParser.unknown-static-value-type=Unknown <static-value> type: ''{0}''.
SpecificationParser.invalid-component-id=''{0}'' is not a valid component id. Component ids must be valid Java identifiers.
SpecificationParser.invalid-asset-name=''{0}'' is not a valid asset name. Asset names must be valid Java identifiers.
SpecificationParser.invalid-service-name=''{0}'' is not a valid service name. Service names must start with a letter, and contain only letters, numbers, dash, underscore and period.
SpecificationParser.invalid-library-id=''{0}'' is not a valid library id. Library ids must be valid Java identifiers.
SpecificationParser.invalid-extension-name=''{0}'' is not a valid extension name. Extension names must start with a letter, and contain only letters, numbers, dash and underscore.
SpecificationParser.invalid-component-type=''{0}'' is not a valid component type.
SpecificationParser.framework-library-id-is-reserved=The library id ''{0}'' is reserved and may not be used. is not valid to specify a value for attribute ''{0}'' of <{1}> and provide a value in the body of the element.
SpecificationParser.required-extended-attribute=Element <{0}> does not specify a value for attribute ''{1}'', or contain a body value.
SpecificationParser.error-reading-resource=Unable to read {0}: {1} {0} does not define a public id.
TemplateParser.comment-not-ended=Comment on line {0} did not end.
TemplateParser.unclosed-tag=Tag <{0}> on line {1} is never closed.
TemplateParser.unclosed-unknown-tag=Tag on line {1} is never closed.
TemplateParser.missing-attribute-value=Tag <{0}> on line {1} is missing a value for attribute {2}.
TemplateParser.content-block-may-not-be-ignored=Tag <{0}> on line {1} is the template content, and may not be in an ignored block.
TemplateParser.content-block-may-not-be-empty=Tag <{0}> on line {1} is the template content, and may not be empty.
TemplateParser.unknown-component-id=Tag <{0}> on line {1} references unknown component id ''{2}''.
TemplateParser.component-may-not-be-ignored=Tag <{0}> on line {1} is a dynamic component, and may not appear inside an ignored block.
TemplateParser.nested-ignore=Tag <{0}> on line {1} should be ignored, but is already inside an ignored block (ignored blocks may not be nested).
TemplateParser.incomplete-close-tag=Incomplete close tag on line {0}.
TemplateParser.improperly-nested-close-tag=Closing tag </{0}> on line {1} is improperly nested with tag <{2}> on line {3}.
TemplateParser.unmatched-close-tag=Closing tag </{0}> on line {1} does not have a matching open tag.
TemplateParser.component-id-invalid=Tag <{0}> on line {1} contains an invalid jwcid ''{2}''.
TemplateParser.duplicate-tag-attribute=Tag <{0}> on line {1} contains more than one ''{2}'' attribute.
TextToken.range-error={0}: out of range for template length {1}.
TemplateToken.may-not-render={0} tokens may not render.
# org.apache.tapestry.record
PageRecorder.change-after-lock=Page recorder for page {0} is locked after a commit(), but received a change to property {1} of component {2}.
PageRecorder.unable-to-persist=Unable to persist property {0} of component {1} as {2}.
PageRecorder.null-property-name=A change event for component {0} failed to specify the name of the updated property.
PageRecorder.unable-to-rollback=Unable to set property {0} of component {1} to {2}: {3}
# org.apache.tapestry.resource
ContextResourceLocation.unable-to-reference-context-path=Unable to reference context path ''{0}''.
# org.apache.tapestry.script
ScriptParser.unknown-public-id=Script uses unknown public indentifier {0}.
ScriptParser.invalid-key=''{0}'' is not a valid key. Symbol keys must be valid Java identifiers.
ScriptParser.unable-to-resolve-class=''{0}'' is not a resolvable class name.
InputSymbolToken.required=Script symbol ''{0}'' is required, but not specified.
InputSymbolToken.wrong-type=Script symbol ''{0}'' is {1}, not {2}.
# org.apache.tapestry.spec
LibrarySpecification.duplicate-child-namespace-id=A child namespace with id ''{0}'' already exists.
LibrarySpecification.duplicate-page-name=A page named ''{0}'' already exists in this namespace.
LibrarySpecification.duplicate-component-alias=A component alias ''{0}'' already exists in this namespace.
LibrarySpecification.duplicate-service-name=A service named ''{0}'' already exists in this namespace.
LibrarySpecification.duplicate-extension-name=An extension named ''{0}'' already exists in this namespace. extension named ''{0}'' exists in this namespace.
LibrarySpecification.extension-does-not-implement-interface=Extension ''{0}'' (class {1}) does not implement interface {2}.
LibrarySpecification.extension-not-a-subclass=Extension ''{0}'' (class {1}) does not inherit from class {2}.
ComponentSpecification.duplicate-asset={0}: already contains asset ''{1}''.
ComponentSpecification.duplicate-component={0}: already contains component ''{1}''.
ComponentSpecification.duplicate-parameter={0}: already contains parameter ''{1}''.
ComponentSpecification.duplicate-bean={0}: already contains bean definition for ''{1}''.
ComponentSpecification.duplicate-property-specification={0}: already contains property specification for property ''{1}''.
ExtensionSpecification.duplicate-property={0}: already contains property configuration for ''{1}''.
ExtensionSpecification.bad-class=Unable to locate class {0}.
# org.apache.tapestry.util
AdaptorRegistry.duplicate-registration=A registration for class {0} already exists.
AdaptorRegistry.adaptor-not-found=Could not find an adaptor for class {0}.
JanitorThread.interval-locked=The interval for this janitor thread is locked.
JanitorThread.illegal-interval=The interval for a janitor thread may not be less than 1 millisecond.
MultiKey.null-keys=Must pass in non-empty array of keys.
MultiKey.first-element-may-not-be-null=First element of keys may not be null. keys for this MultiKey.
Pool.unable-to-instantiate-instance=Unable to instantiate new instance of class {0}.
DataSqueezer.short-prefix=The adaptor prefix must contain at least one character.
DataSqueezer.null-class=The dataClass may not be null.
DataSqueezer.null-adaptor=The adaptor may not be null.
DataSqueezer.prefix-out-of-range=DataSqueezer prefix must be in the range ''!'' to ''z''.
DataSqueezer.adaptor-prefix-taken=An adaptor for prefix ''{0}'' is already registered.
SerializableAdaptor.class-not-found=Class {0} not found.
SerializableAdaptor.unable-to-convert=Cannot convert {0} into a modified Base64 character.
SerializableAdaptor.unable-to-interpret-char=Cannot interpret ''{0}'' as a modified Base64 character. ComponentAddress encoding -- separator not present
# org.apache.tapestry.util.prop
PropertyFinder.unable-to-introspect-class=Unable to instrospect properties of class {0}.
OgnlUtils.unable-to-update-expression=Unable to update expression ''{0}'' of {1} to {2}.
OgnlUtils.unable-to-read-expression=Unable to read expression ''{0}'' of {1}.
OgnlUtils.unable-to-parse-expression=Unable to parse expression ''{0}''.
# org.apache.tapestry.util.xml
AbstractDocumentParser.incorrect-document-type=Incorrect document type; expected {0} but received {1}.
AbstractDocumentParser.unable-to-parse=Unable to parse {0}: {1}
AbstractDocumentParser.unable-to-read=Error reading {0}: {1}
AbstractDocumentParser.unable-to-construct-builder=Unable to construct DocumentBuilder: {0}
AbstractDocumentParser.invalid-identifier={0} is not a valid identifier (in element {1}).
AbstractDocumentParser.missing-resource=Resource at {0} does not exist.
AbstractDocumentParser.unknown-public-id=Document {0} has an unexpected public id of ''{1}''. rule is defined for parsing element ''{0}''.
RuleDrivenParser.resource-missing=Unable to find resource {0}.
RuleDrivenParser.unable-to-open-resource=Unable to open resource {0}.
RuleDrivenParser.parse-error=Unable to parse {0}: {1}
# org.apache.tapestry.valid name not specified and not provided by field {0}.
FieldLabel.must-be-contained-by-form=This component must be contained within a Form. IValidationDelegate is available to ValidField {0}; it is specified as the delegate parameter of Form {1}. IValidationDelegate is available to ValidField {0}; it is specified as the delegate parameter of Form {1}.
ValidField.must-be-contained-by-body=A ValidField using client-side validation must be enclosed by a Body component.
NumberValidator.unknown-type=Unknown value type {0}. to provide validation for field {0} (value type {1}).
PatternValidator.pattern-match-error=Unable to match pattern {0} for field {1}.
# org.apache.tapestry.wml may not be nested.
Postfield.must-be-contained-by-go=This postfield must be contained within a Go.
# org.apache.tapestry.contrib.components
When.must-be-contained-by-choose=When component must be contained within a Choose.