inspection.javafx.color.component.out.of.range.problem=Color component has to be a number between 0.0 and 1.0, inclusively
inspection.javafx.default.tag.could.be.removed=Default property tag could be removed
inspection.javafx.default.tag.unwrap.tag.fix.family.name=Unwrap tag
inspection.javafx.default.tag.unwrap.tag.fix.name=Unwrap ''{0}''
inspection.javafx.event.handler.ambiguous.problem=Ambiguous event handler name: more than one matching method found
inspection.javafx.event.handler.change.parameter.type=Change parameter type of event handler method
inspection.javafx.event.handler.create.options.panel=Detect event handler method having non-void return type
inspection.javafx.event.handler.incompatible.generic.parameter.problem=Incompatible generic parameter of event handler argument: {0} is not assignable from {1}
inspection.javafx.event.handler.incompatible.handler.argument=Incompatible event handler argument: {0} is not assignable from {1}
inspection.javafx.event.handler.return.type.problem=Return type of event handler should be void
inspection.javafx.redundant.property.values.problem=Attribute is redundant because it contains default value
inspection.javafx.redundant.property.values.redundant.tag.problem=Tag is redundant because it contains default value
inspection.javafx.unresolved.fx.id.reference.problem=Unresolved fx:id reference
inspection.javafx.unused.imports.problem=Unused import

javafx.annotator.duplicate.child.added=Duplicate child added
javafx.annotator.page.language.not.specified=Page language not specified.
javafx.annotator.property.is.read.only=Property ''{0}'' is read-only
javafx.annotator.should.be.public=\ should be public
javafx.annotator.should.be.public.or.fxml.annotated=\ should be public or annotated with @FXML
javafx.annotator.value.not.found={0} not found

javafx.app.dialog.linux.icon=&Linux Icon
javafx.app.dialog.mac.icon=&Mac Icon
javafx.app.dialog.windows.icon=&Windows Icon

javafx.application.icons.choose.icons=Choose Application Icons
javafx.application.icons.file.should.be.inside.project.content={0} icon file should be inside the project content
javafx.application.icons.icon.file.should.exist={0} icon file should exist
javafx.application.icons.select.icon.file.description=Select icon file (*.{0}) for the resulting application
javafx.application.icons.select.icon.file.title=Choose Icon File

javafx.artifact.properties.editor.application.class=A&pplication class:
javafx.artifact.properties.editor.application.icon=Application icon
javafx.artifact.properties.editor.application.parameters=Application Pa&rameters:
javafx.artifact.properties.editor.build.output.level=Build output level:
javafx.artifact.properties.editor.choose.file.run.in.browser.description=Parameters for the resulting application to run in the browser.
javafx.artifact.properties.editor.choose.file.run.in.browser.title=Choose Properties File
javafx.artifact.properties.editor.choose.file.standalone.description=Parameters for the resulting application to run standalone.
javafx.artifact.properties.editor.choose.file.standalone.title=Choose Properties File
javafx.artifact.properties.editor.choose.html.file.description=HTML template for application entry point to run in browser
javafx.artifact.properties.editor.choose.html.file.title=Choose HTML File
javafx.artifact.properties.editor.convert.css.to.bin.option=Convert css to bin
javafx.artifact.properties.editor.custom.manifest.attributes=Custom manifest attributes
javafx.artifact.properties.editor.description=&Description:
javafx.artifact.properties.editor.edit.attributes.button=Edit  &Attributes
javafx.artifact.properties.editor.edit.certificates.button=Edit &Certificates
javafx.artifact.properties.editor.edit.custom.manifest.attributes=Edit Custom Manifest Attributes
javafx.artifact.properties.editor.edit.icons.button=Edit Ico&ns
javafx.artifact.properties.editor.height=&Height:
javafx.artifact.properties.editor.html.parameters=HTM&L Parameters:
javafx.artifact.properties.editor.html.placeholder.id=HTML Placeh&older Id:
javafx.artifact.properties.editor.html.template=HT&ML Template:
javafx.artifact.properties.editor.native.bundle=Nat&ive bundle:
javafx.artifact.properties.editor.signing.option=Enable &signing
javafx.artifact.properties.editor.title=&Title:
javafx.artifact.properties.editor.update.in.background.option=Update in &background
javafx.artifact.properties.editor.vendor=&Vendor:
javafx.artifact.properties.editor.version=V&ersion:
javafx.artifact.properties.editor.width=&Width:

javafx.certificates.dialog.alias.should.be.non.empty.error=Alias should be non-empty
javafx.certificates.dialog.choose.certificate.title=Choose Certificate
javafx.certificates.dialog.keystore.file.should.exist.error=Keystore file should exist
javafx.certificates.dialog.passwords.should.be.set.error=Passwords should be set
javafx.certificates.dialog.path.to.keystore.file.error=Path to the keystore file should be set
javafx.certificates.dialog.select.file.with.generated.keys=Select file containing generated keys

javafx.collapse.subtag.to.attribute.intention=Collapse tag ''{0}'' to attribute
javafx.collapse.subtag.to.attribute.intention.family.name=Collapse tag to attribute
javafx.create.new.fxml.file.description=Create New FXML File
javafx.create.new.fxml.file.title=FXML File
javafx.edit.certificates.dialog.alias=&Alias:
javafx.edit.certificates.dialog.keypass=K&eypass:
javafx.edit.certificates.dialog.keystore=Ke&ystore:
javafx.edit.certificates.dialog.self.signed.radio=&Self signed
javafx.edit.certificates.dialog.signed.by.key.radio=Signed by &key
javafx.edit.certificates.dialog.signed.storepass=Store&pass:
javafx.entry.point.javafx.app=JavaFX Applications
javafx.expand.attribute.to.tag.intention=Expand ''{0}'' to tag
javafx.expand.attribute.to.tag.intention.family.name=Expand attribute to tag
javafx.failed.to.start.scene.builder.error=Failed to start SceneBuilder: {0}
javafx.field.to.property.intention.search.for.usages=Searching for usages of ''{0}''
javafx.inject.page.language.intention.family.name=Specify page language
javafx.preloader.artifact.properties.editor.preloader.class=&Preloader class:
javafx.project.sdk.setup.validator.runtime.not.configured.error=The JavaFX runtime is not configured. Either use a JDK that has the JavaFX built in, or add a JavaFX library to the classpath
javafx.property.rename.handler.error.message=Cannot rename built-in property
javafx.property.rename.handler.error.title=Cannot rename
javafx.refactoring.property.element.type.name=property
javafx.root.tag.descriptor.cannot.resolve.class=Cannot resolve class {0}

javafx.scene.builder.editor.download.scene.builder.kit=Download Scene Builder Kit
javafx.scene.builder.editor.failed.to.download.kit.error=Failed to download Scene Builder Kit
javafx.scene.builder.editor.failed.to.open.file.error=Failed to open the file in the Scene Builder. 
javafx.scene.builder.editor.scene.builder.edit.operation=JavaFX Scene Builder edit operation

javafx.settings.configurable.path.to.scenebuilder=&Path to SceneBuilder:
javafx.settings.configurable.scene.builder.configuration.description=Select path to SceneBuilder executable
javafx.settings.configurable.scene.builder.configuration.title=SceneBuilder Configuration

javafx.wrap.id.with.fx.define.intention=Wrap \"{0}\" with fx:define
javafx.wrap.with.fx.define.intention.family.name=Wrap with fx:define