| # $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}). |
| |
| |