############################################################################
# Copyright (c) 2004, 2013 Sybase, Inc. and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     Sybase, Inc. - initial API and implementation
############################################################################
plugin.name=JSF Tools - FacesConfig UI
plugin.provider=Eclipse Web Tools Platform

# Editors
facesConfigEditor=Faces Config Editor
facesConfigEditorIcon=icons/facesconfig/FacesConfig_Plugin.gif

# Introduction
pageflow.editor.intro.name = Introduction
pageflow.editor.intro.description =
pageflow.editor.intro.section.heading = The Faces Configuration Editor
pageflow.editor.intro.section.description = The faces configuration editor helps you to complete the JSF web application development process by allowing you to edit faces configuration. Use the pages in this editor to define and edit page navigations, managed beans, component, converter, validator, renderkit and other element configurations.
pageflow.editor.intro.cheatsheets.link = Tutorial
pageflow.editor.intro.cheatsheets.text = Launch the cheat sheet for guidance in working with the editor.
pageflow.editor.intro.help.link = Help
pageflow.editor.intro.help.text = Launch the help system and review topics about working with faces configuration descriptor.
pageflow.editor.intro.start.link = Start
pageflow.editor.intro.start.text = Start working with the editor by selecting PageFlow and defining page navigations.

#overview Section
pageflow.editor.overview.name = Editor Information
pageflow.editor.overview.description = This page summaries the editors information.
pageflow.editor.overview.pageflow.link = PageFlow Editor
pageflow.editor.overview.pageflow.text = Editor to create or modify Navigation Rules.

pageflow.editor.intro.overview.mbean.text = Editor to create or modify Managed Beans.
pageflow.editor.overview.mbean.link = ManagedBeans Editor
pageflow.editor.intro.overview.components.text = Editor to create or modify component elements.
pageflow.editor.overview.components.link = Components Editor
pageflow.editor.intro.overview.others.text = Editor to create or modify other elements.
pageflow.editor.overview.others.link = Others Editor
pageflow.editor.intro.overview.source.text = Text Editor source.
pageflow.editor.overview.source.link = Source Editor

contentType.defaultFacesConfig.name = Default FacesConfig File
contentType.webdotxmlfile.name = Web Application Description File

#property tab's name
propertyTab.general=Attributes
propertyTab.attribute=Quick Edit

# Cheatsheets
cheatsheet.pagefloweditor.name = Pageflow Editor Cheat Sheet
cheatsheet.pagefloweditor.description = Cheat Sheet for using the Pageflow Editor
cheatsheet.jsf.title=JSF Development
cheatsheet.jsf.facesconfig.title=Faces Configuration Editor

#preference page
preferencepage.jsffacesconfigui.name=FacesConfig Editor

# Key Binding Context
editor.binding.context.name=In Faces Config Editor
editor.binding.context.description=Key binding context when using the Faces Config Editor
