###############################################################################
# Copyright (c) 2009, 2010 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
###############################################################################
BugzillaConnectorUi__In_reply_to_comment_X_=(In reply to comment \#{0})
BugzillaConnectorUi__In_reply_to_X_comment_X_=(In reply to {0} comment \#{1})
BugzillaConnectorUi__In_reply_to_comment_0_=(In reply to comment \#0)
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=\nExample: 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_Error_updating_repository_configuration=Error updating repository configuration
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_supports_bugzilla_X=Supports Bugzilla {0}
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_Updating_repository_configuration_for_X=Updating repository configuration for {0}
BugzillaRepositorySettingsPage_UseXmlRpc=Use xmlrpc.cgi
BugzillaRepositorySettingsPage_Validating_server_settings=Validating server settings
BugzillaTaskAttachmentPage_Advanced=Advanced
