###############################################################################
# Copyright (c) 2009, 2013 Tasktop Technologies and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#      Tasktop Technologies - initial API and implementation
###############################################################################
BugzillaCustomQueryDialog_Bugzilla_Query_Category_Name=Bugzilla Query Category Name
BugzillaCustomQueryDialog_Max_Hits_Returned__1_means_all_=Max Hits Returned (-1 means all)
BugzillaCustomQueryDialog_Query_URL=Query URL

BugzillaCustomQueryWizardPage_Create_query_from_URL=Create query from URL
BugzillaCustomQueryWizardPage_Enter_the_title_and_URL_for_the_query=Enter the title and URL for the query
BugzillaCustomQueryWizardPage_No_Valid_Buglist_URL=Please specify a valid Buglist URL (../buglist.cgi)
BugzillaCustomQueryWizardPage_Please_specify_Query_URL=Please specify Query URL
BugzillaCustomQueryWizardPage_Query_Title=&Query Title:
BugzillaCustomQueryWizardPage_Query_URL=Query &URL:

BugzillaQueryTypeWizardPage_Choose_query_type=Choose query type
BugzillaQueryTypeWizardPage_Create_query_from_existing_URL=&Create query from existing URL
BugzillaQueryTypeWizardPage_Create_query_using_form=Cre&ate query using form
BugzillaQueryTypeWizardPage_Select_from_the_available_query_types=Select from the available query types.

BugzillaRepositorySettingsPage_All=All
BugzillaRepositorySettingsPage_AUTOTETECT_PLATFORM_AND_OS=Autodetect platform and os
BugzillaRepositorySettingsPage_admin_parameter=Task Editor Attributes to Suppress
BugzillaRepositorySettingsPage_available_once_repository_created=Available once repository has been created.
BugzillaRepositorySettingsPage_Browse_descriptor=Browse
BugzillaRepositorySettingsPage_browseToolTip=Select an local File
BugzillaRepositorySettingsPage_bugzilla_repository_settings=Bugzilla Repository Settings
BugzillaRepositorySettingsPage_Custom_Workflow=Custom Workflow
BugzillaRepositorySettingsPage_example_do_not_include=Example: https://bugs.eclipse.org/bugs (do not include index.cgi)
BugzillaRepositorySettingsPage_Language_=Language:
BugzillaRepositorySettingsPage_descriptor_file=Description file:
BugzillaRepositorySettingsPage_DescriptorFileNotExists=Descriptor File does not exist
BugzillaRepositorySettingsPage_DownloadText=Download From Server
BugzillaRepositorySettingsPage_DownloadToolTip=The Administrator must create the file\nso this may fail\!
BugzillaRepositorySettingsPage_insiderGroup=Enable private comments:
BugzillaRepositorySettingsPage_insiderGroup_ToolTip=User ID is member of the insider group\nso private comments are supported
BugzillaRepositorySettingsPage_local_users_enabled=Local users enabled:
BugzillaRepositorySettingsPage_override_auto_detection_of_platform=Override auto detection of Platform and OS for new bug reports.
BugzillaRepositorySettingsPage_RequiresBugzilla3_6=Requires Bugzilla > 3.6\nThe description file is not used
BugzillaRepositorySettingsPage_Retrieving_repository_configuration=Retrieving repository configuration
BugzillaRepositorySettingsPage_SelectDescriptorFile=Select descriptor file
BugzillaRepositorySettingsPage_Server_URL_is_invalid=Server URL is invalid.
BugzillaRepositorySettingsPage_suppressToolTip=set checked to suppress
BugzillaRepositorySettingsPage_use_see_also=See also
BugzillaRepositorySettingsPage_usebugaliases=Bug Aliases
BugzillaRepositorySettingsPage_useclassification=Classification
BugzillaRepositorySettingsPage_useqacontact=QA Contact
BugzillaRepositorySettingsPage_usestatuswhiteboard=Status Whiteboard
BugzillaRepositorySettingsPage_usetargetmilestone=Target Milestone
BugzillaRepositorySettingsPage_UseXmlRpc=Use xmlrpc.cgi
BugzillaRepositorySettingsPage_Validating_server_settings=Validating server settings
BugzillaTaskAttachmentPage_Advanced=Advanced
