blob: b0e2c6a991779f56806180d900013f38e9e2e28c [file] [log] [blame]
# $Id$
#
# 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 wrapped by a Form component.
invalid-null-parameter=Parameter {0} may not be null.
# net.sf.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-load-spec=Could not locate application specification {0}.
ApplicationServlet.could-not-parse-spec=Unable to parse application specification {0}.
ApplicationServlet.no-engine-class=Application specification does not specify an engine class name.
ApplicationServlet.get-app-path-not-overriden=Application servlet {0} does not provide an implementation of method getApplicationServletPath().
ApplicationServlet.could-not-open-spec=Unable to open application specification {0}.
ApplicationServlet.app-spec-path-not-provided=Servlet init parameter ''{0}'' was not specified.
BaseComponent.undefined-embedded-component=Template for component {0} references undefined embedded component {1}.
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.and=and
BodylessComponentException.message=This component may not have a body.
Gesture.unknown-parameter-name=Unknown parameter name ''{0}''.
NoSuchComponentException.message=Component {0} does not contain a component {1}.
RenderOnlyPropertyException.message=Property {0} of {1} may only be accessed while the component is rendering.
RequiredParameterException.message=No value for parameter {0} in component {1}.
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.
# net.sf.tapestry.asset
AssetExternalizer.externalize-failure=Could not externalize asset {0} to {1}.
AssetService.exception-report-title=Failure to export asset {0}.
ContextAsset.resource-missing=Could not access context asset {0}.
ContextAsset.resource-unavailable=Could not locate context asset {0} for locale {1}.
ExternalAsset.resource-missing=Could not access external asset {0}.
PrivateAsset.resource-unavailable=Could not locate private asset {0} for locale {1}.
PrivateAsset.resource-missing=Could not access private asset {0}.
# net.sf.tapestry.bean
BeanProvider.bean-not-defined=Component {0} does not define a bean name {1}.
# net.sf.tapestry.binding
AbstractBinding.wrong-type=Parameter {0} ({1}) is not type {2}.
AbstractBinding.wrong-interface=Parameter {0} ({1}) does not implement interface {2}.
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}.
# net.sf.tapestry.callback
DirectCallback.wrong-type=Component {0} does not implement the IDirect interface.
ExternalCallback.page-not-compatible=Page {0} does not implement the IExternalPage interface.
# net.sf.tapestry.component
Insert.unable-to-format=Unable to format object {0}.
# net.sf.tapestry.param
ParameterManager.no-accessor=Component {0} does not have accessor methods for property {1}.
ParameterManager.property-not-read-write=Property {1} of component {0} is not read-write.
ParameterManager.java-type-not-specified=No 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}.
# net.sf.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 name {0}.
AbstractEngine.unable-to-begin-request=Tapestry unable to begin processing request.
AbstractEngine.action-context-parameters=Service action requires either three or four service contect parameters.
AbstractEngine.action-component-wrong-type=Component {0} dopes not implement the IAction interface.
AbstractEngine.direct-context-parameters=Service direct requires two or three service context parameters.
AbstractEngine.direct-component-wrong-type=Component {0} does not implement the IDirect interface.
AbstractEngine.unable-to-cleanup-page=Unable to cleanup page {0}.
AbstractEngine.visit-class-property-not-specified=Could not create visit object because property {0} was not specified in the application specification.
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 registerred 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.
DefaultScriptSource.unable-to-parse-script=Unable to parse script {0}.
DefaultScriptSource.unable-to-read-script=Unable to read script {0}.
DefaultScriptSource.unable-to-find-script=Unable to find script {0} within the classpath.
DefaultSpecificationSource.no-match-for-alias=Could 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}.
DefaultTemplateSource.no-template=Could not find template for component {0}.
DefaultTemplateSource.no-template-in-locale=Could not find template for component {0} in locale {1}.
DefaultTemplateSource.unable-to-parse-template=Could not parse template {0}.
DefaultTemplateSource.unable-to-read-template=Could not read template {0}.
Namespace.no-such-page=Page ''{0}'' not found in {1}.
Namespace.no-such-alias=Component ''{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 {0}.
RequestCycle.invalid-null-name=Parameter name may not be null in RequestCycle.getPage(String).
RequestCycle.could-not-acquire-page=Failed to acquire page {0}.
RequestCycle.form-rewind-failure=Failure to rewind form {0}.
ResourceResolver.unable-to-load-class=Could not load class {0} from {1}: {2}
SimpleEngine.recorder-has-uncommited-changes=Could not forget changes to page {0} because the page's recorder has uncommitted changes.
SimpleEngine.duplicate-page-recorder=Could not create a second page recorder for page {0}.
ExternalService.page-not-compatible=Page {0} does not implement the IExternalPage interface.
DirectService.stale-session-exception=Component {0} is stateful, but the HttpSession has expired (or has not yet been created).
# net.sf.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.
# net.sf.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.bad-element-count=Incorrect number of elements within form {0}.
Form.needs-body-for-event-handlers=A Form with event handlers must be wrapped by a Body component.
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.
ListEdit.unable-to-convert-source=Unable to convert {0} to a source for ListEdit 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.
# net.sf.tapestry.html
Body.may-not-nest=Body components may not be nested.
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 IServiceLink component.
Script.must-be-contained-by-body=Script components must be contained within a Body component.
# net.sf.tapestry.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.
# net.sf.tapestry.link
GestureLink.missing-service=No engine service name {0}.
AbstractServiceLink.no-nesting=IServiceLink components may not be nested.
AbstractServiceLink.events-need-body=A link component with multiple functions for a single event type must be contained within a Body.
# net.sf.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}
# net.sf.tapestry.multipart
MultipartDecoder.wrong-content-type=Unexpected content type ''{0}'' for multipart/form-data decoding.
MultipartDecoder.io-exception-reading-input=IO Exception reading multipart request data: {0}.
MultipartDecoder.missing-initial-boundary=Initial multipart boundary not present in input.
MultipartDecoder.invalid-content-disposition=Unable to interpret content disposition ''{0}''.
MultipartDecoder.missing-content-disposition=Missing content disposition.
UploadPart.unable-to-open-content-file=Unable to open uploaded file ''{0}'' (as temporary file {1}).
UploadPart.temporary-file-not-deleted=Temporary file {1} not deleted.
# net.sf.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}.
PageLoader.page-not-allowed=Component {0} may not implement the IPage interface.
PageLoader.class-not-page=Class {0} does not implement the IPage interface.
# net.sf.tapestry.parse
RenderTemplateHTML.bad-range={0}: offset and/or length arguments out of range.
RenderTemplateHTML.error-trimming={0}: Failure trimming leading and trailing whitespace.
SpecificationParser.fail-convert-boolean=Could not convert ''{0}'' to boolean.
SpecificationParser.fail-convert-int=Could not convert '{0}' to integer.
SpecificationParser.fail-convert-double=Could not convert '{0}' to double.
SpecificationParser.fail-convert-long=Could 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.unable-to-convert-node-to-boolean={0} cannot be converted to boolean (in element {1}).
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-alias=''{0}'' is not a valid component alias. Aliases must start with a letter and consist only of letters, numbers, period, dash and underscore.
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.not-allowed-for-page=Page specifications may not include the <{0}> element, as it only makes sense for components.
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.
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-attiribute-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.
TemplateToken.range-error={0}: out of range for template length {1}.
TemplateToken.may-not-render={0} tokens may not render.
# net.sf.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}.
RollbackException.message=Unable to set property {0} of component {1} to {2}.
# net.sf.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}.
# net.sf.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.
LibrarySpecification.no-such-extension=No extension named ''{0}'' exists in this namespace.
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}''.
ExtensionSpecification.duplicate-property={0}: already contains property configuration for ''{1}''.
Direction.IN=in
Direction.FORM=form
Direction.CUSTOM=custom
# net.sf.tapestry.util
AdaptorRegistry.duplicate-registration=A registration for class {0} already exists.
AdaptorRegistry.adaptor-not-found=Could not find an adaptor for class {0}.
Enum.duplicate-registration=Enum.register(): {0} is already registered. The enumerationId property must be unique within the class.
Enum.deserialize-error={0} does not map to a known instance in this JVM. This instance of {1} was serialized in a JVM that defined a different set of values.
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.
MultiKey.no-keys=No keys for this MultiKey.
# net.sf.tapestry.util.io
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.
ComponentAddressAdaptor.no-separator=Invalid ComponentAddress encoding -- separator not present
# net.sf.tapestry.util.prop
PropertyFinder.unable-to-introspect-class=Unable to instrospect properties of class {0}.
# net.sf.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}).
# net.sf.tapestry.valid
FieldLabel.no-display-name=Display name not specified and not provided by field {0}.
ValidField.no-delegate=No IValidationDelegate is available to ValidField {0}; it is specified as the delegate parameter of Form {1}.
ValidField.no-type=The type parameter for field {0} was not specified and is required by the field''s validator.
ValidField.must-be-contained-by-body=A ValidField using client-side validation must be wrapped by a Body component.
NumberValidator.no-adaptor-for-field=Unable to provide validation for field {0} (value type {1}).