###############################################################################
# Copyright (c) 2000, 2012 IBM Corporation 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:
#     IBM Corporation - initial API and implementation
#     Trevor S. Kaufman - <endante@gmail.com> - bug 156152
###############################################################################
###############################################
# Message catalog for org.eclipse.team.ui
###############################################

information=Information messages were reported during this operation

ConfigureProjectAction_configureProject=Configure Project
ConfigureProjectWizard_configureProject=Share Project
ConfigureSynchronizeScheduleComposite_0=Pin {0} Synchronization?
ConfigureSynchronizeScheduleComposite_1=This {0} synchronization is not pinned which means it may be removed the next time a synchronize of the same type is performed. Do you want to pin it to prevent it from being replaced by a future synchronize?
ConfigureProjectWizard_description=Select the repository plug-in that will be used to share the selected project.
ConfigureProjectWizard_title=Share Project
ConfigureProjectWizardMainPage_selectRepository=Select a repository type:


IgnorePreferencePage_description=Use this page to specify a list of resource name patterns to exclude from version control.
IgnorePreferencePage_add=Add &Pattern...
IgnorePreferencePage_enterPatternLong=Enter a name or path pattern (* = any string, ? = any character):
IgnorePreferencePage_enterPatternShort=Add Ignore Pattern
IgnorePreferencePage_ignorePatterns=&Ignore Patterns:
IgnorePreferencePage_patternExistsLong=The entered pattern already exists.
IgnorePreferencePage_patternExistsShort=Pattern Already Exists
IgnorePreferencePage_remove=&Remove


simpleInternal=Internal error
exception=An exception occurred




SyncInfoCompareInput_localLabel=Local File
SyncInfoCompareInput_localLabelExists=Local File {0}
SyncInfoCompareInput_localLabelAuthorExists=Local File {0} ({1})
SyncInfoCompareInput_remoteLabel=Remote File
SyncInfoCompareInput_baseLabel=Common Ancestor
SyncInfoCompareInput_remoteLabelExists=Remote File {0}
SyncInfoCompareInput_remoteLabelAuthorExists=Remote File {0} ({1})
SyncInfoCompareInput_baseLabelExists=Common Ancestor {0}
SyncInfoCompareInput_baseLabelAuthorExists=Common Ancestor {0} ({1})
SyncInfoCompareInput_title={0}
SyncInfoCompareInput_0=File Changed
SyncInfoCompareInput_1=File has changed outside of this compare editor. What do you want to do?
SyncInfoCompareInput_2=Save
SyncInfoCompareInput_3=Opening Compare Editor
SyncInfoCompareInput_tooltip={0}: {1}

TeamAction_internal=Internal error occurred.

TextPreferencePage_add=Add &Extension...
TextPreferencePage_0=Add &Name...
TextPreferencePage_2=The extension cannot contain any wildcards
TextPreferencePage_3=The extension cannot contain the . character.
TextPreferencePage_5=The file name cannot contain *
TextPreferencePage_6=New File Type
TextPreferencePage_7=Enter a file name:
TextPreferencePage_1=Note that some of these entries are built in and can only be changed, but not removed.
TextPreferencePage_change=&Change
TextPreferencePage_enterExtensionLong=Please enter a file extension:
TextPreferencePage_enterExtensionShort=Enter File Extension
TextPreferencePage_extensionExistsLong=The entered extension already exists.
TextPreferencePage_extensionExistsShort=Extension Already Exists
TextPreferencePage_ExtensionNotCompleted=The extension pattern is not completed
TextPreferencePage_remove=&Remove


SynchronizationViewPreference_defaultPerspectiveNone=None
SynchronizationViewPreference_defaultPerspectiveDescription=This setting controls which perspective to open when resources are synchronized.\nTo indicate that a perspective should not be opened select 'None'.
SynchronizationViewPreference_defaultPerspectiveLabel=&Perspective:


ExportProjectSetMainPage_Select_the_projects_to_include_in_the_project_set__2=&Select the projects to include in the Team Project Set:
ExportProjectSetMainPage_Project_Set_File_Name__3=Select the export destination:
ExportProjectSetMainPage_WorkspaceDialogMessage=Export Team Project Set to Workspace
ExportProjectSetMainPage_WorkspaceDialogFilename=&Filename
ExportProjectSetMainPage_Browse_4=B&rowse...
ExportProjectSetMainPage_SelectAll=S&elect All
ExportProjectSetMainPage_SelectButton=Select the &working sets to include in the Team Project Set:
ExportProjectSetMainPage_Browse=Bro&wse ...
ExportProjectSetMainPage_You_have_specified_a_folder_5=You have specified a folder
ExportProjectSetMainPage_A_project_must_be_selected=A project must be selected.
ExportProjectSetMainPage_A_working_set_must_be_selected=A working set must be selected.
ExportProjectSetMainPage_None_of_the_selected_working_sets_have_an_available_project_to_export=None of the selected working sets have an available project to export.
ExportProjectSetMainPage_WorkspaceDialogTitleMessage=Select a folder in the workspace and enter a filename.
ExportProjectSetMainPage_WorkspaceDialogErrorNoFilename=Enter a filename.
ExportProjectSetMainPage_WorkspaceDialogErrorFilenameSegments=Filename cannot contain any segments.
ExportProjectSetMainPage_Project_Set_Files_3=Team Project Set Files (*.psf)
ExportProjectSetMainPage_WorkspaceDialogTitle=Team Project Set Save Location
ExportProjectSetMainPage_default=projectSet.psf
ExportProjectSetMainPage__File_name__1=&File name:
ExportProjectSetMainPage_WorkspaceButton=W&orkspace
ExportProjectSetMainPage_ExportWorkingSets=E&xport working sets
ExportProjectSetMainPage_Initial_description=Define which projects or working sets should be exported into the team project file.
ExportProjectSetMainPage_specifyFile=Please specify the destination file.

ImportProjectSetMainPage_Project_Set_File=F&ile
ImportProjectSetMainPage_Project_Set_Url=&URL
ImportProjectSetMainPage_Browse_3=B&rowse...
ImportProjectSetMainPage_Browse=Br&owse...
ImportProjectSetMainPage_The_given_URL_cannot_be_loaded=File from given URL cannot be loaded
ImportProjectSetMainPage_The_specified_file_does_not_exist_4=The specified file does not exist
ImportProjectSetMainPage_You_have_specified_a_folder_5=You have specified a folder
ImportProjectSetMainPage_workingSetNameEmpty=The working set name must not be empty
ImportProjectSetMainPage_createWorkingSetLabel=&Create a working set containing the imported projects
ImportProjectSetMainPage_workingSetLabel=&Working Set Name:
ImportProjectSetMainPage_AddToWorkingSet=&Add the imported team project set to a working set
ImportProjectSetMainPage_runInBackground=Run the import in the bac&kground
ImportProjectSetMainPage_jobName=Importing project set...
ImportProjectSetMainPage_specifyFile=Please specify a file to import.
ImportProjectSetMainPage_specifyURL=Please specify an URL to import.
ImportProjectSetMainPage_selectWorkingSet=Select a working set.
ImportProjectSetMainPage_projectSetFileInvalid=The specified file is not a valid Team Project Set file.
ImportProjectSetDialog_duplicatedWorkingSet_title=Working Set Exists
ImportProjectSetDialog_duplicatedWorkingSet_message=Working Set ''{0}'' already exists. What would you like to do?
ImportProjectSetDialog_duplicatedWorkingSet_replace=&Replace
ImportProjectSetDialog_duplicatedWorkingSet_merge=&Merge
ImportProjectSetDialog_duplicatedWorkingSet_skip=&Skip
ImportProjectSetDialog_duplicatedWorkingSet_applyToAll=&Apply to all working sets in this import
ImportProjectSetDialog_malformed_url=Malformed URL

ProjectSetContentHandler_Element_provider_must_be_contained_in_element_psf_4=Element provider must be contained in element psf
ProjectSetContentHandler_Element_project_must_be_contained_in_element_provider_7=Element project must be contained in element provider

ProjectSetExportWizard_Project_Set_1=Team Project Set
ProjectSetExportWizard_Export_a_Project_Set_3=Export a Team Project Set
ProjectSetExportWizard_Question_4=Question
ProjectSetExportWizard_Target_directory_does_not_exist__Would_you_like_to_create_it__5=Target directory does not exist. Would you like to create it?
ProjectSetExportWizard_Export_Problems_6=Export Problems
ProjectSetExportWizard_An_error_occurred_creating_the_target_directory_7=An error occurred creating the target directory
ProjectSetExportWizard_Question_8=Question
ProjectSetExportWizard_Target_already_exists__Would_you_like_to_overwrite_it__9=Target already exists. Would you like to overwrite it?
ProjectSetImportWizard_Project_Set_1=Team Project Set
ProjectSetImportWizard_0=Projects for repository type {0} could not be loaded as the type could not be found.
ProjectSetImportWizard_2=An error occurred while parsing the project set file: {0}
ProjectSetImportWizard_1=The following errors occurred while importing projects. Some projects may not be loaded.
ProjectSetImportWizard_3=An error occurred while performing the project set import: {0}
ProjectSelectionPage_0={0} does not directly support multiple project sharing. Select a project and click Share Project to share each project individually
ProjectSelectionPage_1={0} Project Selection Page
ProjectSelectionPage_2=&Share Project...
ProjectSetImportWizard_Import_a_Project_Set_3=Import a Team Project Set
ProjectSetImportWizard_workingSetExistsTitle=Working Set Exists
ProjectSetImportWizard_workingSetExistsMessage=Working set ''{0}'' already exists. Overwrite?

ImportProjectSetMainPage_allFiles=All Files (*.*)
ImportProjectSetAction_0=An error occurred importing this project set.
ImportProjectSetMainPage_Project_Set_Files_2=Team Project Set Files (*.psf)

SyncViewPreferencePage_lastRefreshRunNever=Never

###############################################
# Misc
###############################################

SynchronizeView_13=\ items selected
SynchronizeView_14=Error opening perspective
SynchronizeView_16=Error opening view
SynchronizeView_statusLine={0} [{1}]
SynchronizeView_linkWithEditor=Lin&k with Editor
SynchronizeView_linkWithEditorDescription=Link with active editor
SynchronizeView_linkWithEditorTooltip=Link with Editor and Selection
SynchronizeView_fileMustNotBeNull=File must not be null
SynchronizeView_noActiveWorkbenchPage=No active workbench page

StatisticsPanel_outgoing=Outgoing
StatisticsPanel_conflicting=Conflicting
StatisticsPanel_incoming=Incoming
StartupPreferencePage_0=Startup
StartupPreferencePage_1=Preferences that determine what happens after a Platform startup
StartupPreferencePage_2=How should this synchronization be initialized after a restart
StartupPreferencePage_3=Automatically populate this synchronization
StartupPreferencePage_4=Automatically synchronize this synchronization
StartupPreferencePage_5=Do nothing until population is manually requested
StatisticsPanel_noWorkingSet=<No Working Set>
StatisticsPanel_numbersTooltip=The number of ''{0}'' changes in the entire workspace.
StatisticsPanel_numberTotalSingular={0} change
StatisticsPanel_numberTotalPlural={0} changes

SyncViewerPreferencePage_0=Choose the presentation to be used when displaying Workspace projects
SyncViewerPreferencePage_1=&Flat
SyncViewerPreferencePage_2=T&ree
SyncViewerPreferencePage_3=&Compressed Folders
SyncViewerPreferencePage_6=&Team
SyncViewerPreferencePage_7=General Team Preferences:
SyncViewerPreferencePage_13=Open the associated perspective when a synchronize operation completes
SyncViewerPreferencePage_14=Al&ways
SyncViewerPreferencePage_15=Perspectives
SyncViewerPreferencePage_16=Pro&mpt
SyncViewerPreferencePage_19=&Show all synchronization information in a resource\'s text label
SyncViewerPreferencePage_42=&Never
SyncViewerPreferencePage_43=Show the &file author in compare editors
SyncViewerPreferencePage_44=When &editing file in non-shared projects, automatically make files writable if prompting is not possible
SyncViewerPreferencePage_45=Re&use open compare editors when opening comparisons
SyncViewerPreferencePage_46=Run Project Set import in the &background
SyncViewerPreferencePage_47=&Apply patch in Synchronize view

PreferencePageContainerDialog_6=Synchronize Preferences

RefreshSubscriberJob_2a=No Changes
RefreshSubscriberJob_2b=Show ''{0}'' in Synchronize View
RefreshSubscriberJob_3=An error occurred while performing a scheduled synchronization

ReplaceLocalHistory_0=&Replace
ReplaceLocalHistory_1=Replace with Local History
SynchronizeManager_7=Error notifying of added/removal of synchronization
SynchronizeManager_8=Error initializing Synchronization
SynchronizeManager_9=Synchronization with id {0} is not in the registry
SynchronizeManager_10=Error saving synchronization
TeamSubscriberSyncPage_labelWithSyncKind={0} {1}
AbstractSynchronizeParticipant_4=Cannot initialize synchronization. Wrong descriptor type

SynchronizeManager_11=Error creating Synchronization {0}:
AbstractSynchronizeParticipant_5=Exception notifying participant listeners of changes.
AbstractSynchronizationLabelProvider_0={0} [{1}]

ChangesSection_filterHides=The current ''{0}'' mode is empty. {1}
ChangesSection_filterHidesSingular=However there is {0} change in the ''{1}'' mode.
ChangesSection_filterHidesPlural=However there are {0} changes in the ''{1}'' mode.
ChangesSection_filterChange=Change to ''{0}'' mode.
ChangesSection_noChanges=No changes in ''{0}''.
Utils_22=Incoming
Utils_23=Outgoing
Utils_24=Incoming/Outgoing
Utils_25=Conflicting
Utils_26=unknown mode
Utils_19=1 item
Utils_18={0} items
Utils_17=Could not open editor of type {0}
RefreshCompleteDialog_4=Synchronize Complete - {0}
RefreshCompleteDialog_4a=Scheduled Synchronize Complete - {0}
RefreshCompleteDialog_changesSingular={0}: {1} change found ({2}{3}{4}).
RefreshCompleteDialog_changesPlural={0}: {1} changes found ({2}{3}{4}).
RefreshCompleteDialog_newChangesSingular={0}: {1} new change found ({2}{3}{4}).
RefreshCompleteDialog_newChangesPlural={0}: {1} new changes found ({2}{3}{4}).
RefreshCompleteDialog_incomingChanges=incoming {0}
RefreshCompleteDialog_outgoingChanges=outgoing {0}
RefreshCompleteDialog_6={0}: No changes found.
ConfigureRefreshScheduleDialog_0=Configure Synchronize Schedule - {0}
ConfigureRefreshScheduleDialog_1=You can configure how to automatically synchronize ''{0}'' in the background on this dialog.
ConfigureRefreshScheduleDialog_2=The last synchronize started at: {0}
ConfigureRefreshScheduleDialog_3=&Synchronize automatically
ConfigureRefreshScheduleDialog_3a=Synchronize &at:
ConfigureRefreshScheduleDialog_4=&Repeat every:
ConfigureRefreshScheduleDialog_5=hour(s)
ConfigureRefreshScheduleDialog_6=minute(s)
ConfigureRefreshScheduleDialog_7=Number must be a positive number greater than 0
ConfigureMultipleProjectsWizard_0=Unshared Projects
ConfigureMultipleProjectsWizard_1=There are still projects that have not been shared. Finishing the wizard now will leave them in that state.
RefreshSchedule_changesSingular=\ ({0} change found)
RefreshSchedule_changesPlural=\ ({0} changes found)
RefreshSchedule_7=\ (No changes found)
RefreshSchedule_9=hours
RefreshSchedule_10=minutes
RefreshSchedule_11=hour
RefreshSchedule_12=minute
RefreshSchedule_13=Every {0} {1}
RefreshSchedule_14=Scheduled Synchronize
RefreshSchedule_15={0} {1}
RefreshSchedule_16=Run Once
ChangesSection_8=Show Errors
ChangesSection_9=Reset View
ChangesSection_10=Errors have occurred calculating the synchronization state for {0}
ChangesSection_11=Errors Populating View
ChangesSection_12=Multiple errors occurred while attempting to populate the view.

OpenComparedDialog_noChangeTitle=Operation Complete
OpenComparedDialog_noChangesMessage=No Changes Found.
GlobalRefreshAction_4=Synchronize...
GlobalRefreshAction_5=Synchronize {0}
ParticipantCompareDialog_1=&Remember this result by placing it in the Synchronize view
ParticipantCompareDialog_2=Confirm Save
ParticipantCompareDialog_3=Do you want to save changes?
SynchronizeManager_27=Confirm Open Perspective
SynchronizeManager_30=The Synchronize View is associated with the {0} perspective. Do you want to open that perspective now?
SynchronizeManager_31=&Remember my decision
SynchronizeManager_32 =The Synchronize View is associated with the {0} perspective.\n\n{1}\n\nDo you want to open this perspective now?
ParticipantPagePane_0=Error creating Synchronize Page
Participant_synchronizing=Synchronizing
ParticipantPageSaveablePart_0=Changes
Participant_synchronizingDetails=Synchronizing {0}
Participant_synchronizingMoreDetails=Synchronizing {0} ({1})
Participant_synchronizingResources=Synchronizing {0} ({1} items)
ParticipantPageCompareEditorInput_0=&Save
GlobalRefreshResourceSelectionPage_1=Synchronize
GlobalRefreshResourceSelectionPage_2=Select the resources to synchronize or select a scope to automatically select a group of resources.
GlobalRefreshResourceSelectionPage_3=Synchronize
GlobalRefreshResourceSelectionPage_5=Available resources to Synchronize:
GlobalRefreshResourceSelectionPage_6=Scope
GlobalRefreshResourceSelectionPage_7=W&orkspace
GlobalRefreshResourceSelectionPage_8=&Selected Resources
GlobalRefreshResourceSelectionPage_10=&Working Set:
GlobalRefreshResourceSelectionPage_11=&Choose...
GlobalRefreshResourceSelectionPage_12=Select &All
GlobalRefreshResourceSelectionPage_13=&Deselect All
GlobalRefreshParticipantSelectionPage_0=Synchronize
GlobalRefreshParticipantSelectionPage_1=Select the type of synchronization
GlobalRefreshParticipantSelectionPage_2=Synchronize
GlobalRefreshParticipantSelectionPage_3=Available synchronization types:

GlobalRefreshSubscriberPage_0=Synchronize
GlobalRefreshSubscriberPage_1=Synchronize {0}
GlobalRefreshSubscriberPage_2=Select the resources or working sets to be synchronized.

SynchronizeManager_18=Could not cast {0} as ISynchronizeView
GlobalSynchronizeWizard_11=Synchronize
SynchronizeManager_19=Could not create synchronization: {0}
SynchronizeModelProvider_0=Synchronize View: Processing label changes
SynchronizeModelUpdateHandler_0=Errors occurred while updating problem markers
SynchronizationLabelProvider_0={0} (Initializing)
SynchronizationCompareAdapter_0=Workspace
WorkspaceScope_0=Workspace
WorkingSetScope_0=Workspace
WorkingSetsDialog_Title=Select a Working Set
WorkingSetsDialog_Message=Select an existing working set or enter a new name to create a Resource Working Set
WorkingSetsDialog_Label=Working Set:
SubscriberParticipant_namePattern={0} ({1})
SubscriberParticipantWizard_0=There are no {0} resources to synchronize
SubscriberParticipantWizard_1=Before you can synchronize resources you will have to import resources into your workspace using the ''{0}'' wizard.

RemoveFromView_warningTitle=Confirm Remove
RemoveFromView_warningMessage=The selected resources will be removed from the view. A resource will reappear if it is modified or if its synchronization state changes.
RemoveFromView_warningDontShow=Don't show me this again
ResourceMappingSelectionArea_0=&Select All
ResourceMappingSelectionArea_1=&Deselect All
RevisionAnnotationController_0=Could not find an appropriate editor for showing the revision ruler
ResourceMarkAsMergedHandler_0=Marking 1 resource as merged.
ResourceMarkAsMergedHandler_1=Marking {0} resources as merged.
ResourceModelLabelProvider_0={0} - {1}
ResourceModelPreferencePage_0=Workspace Model Preferences
ResourceMappingOperation_0=Selection Adjustment Required
ResourceMergeHandler_0=Overwriting 1 resource.
ResourceMergeHandler_1=Overwriting {0} resources.
ResourceMergeHandler_2=Merging 1 resource.
ResourceMergeHandler_3=Merging {0} resources.
ResourceMergeHandler_4=Overwrite Local Changes?
ResourceMergeHandler_5=Do you want to overwrite local changes?
ResourceMergeHandler_6=No Changes
ResourceMergeHandler_7=There are no changes to merge.
ResourceMappingMergeOperation_0=No Incoming Changes
ResourceMappingMergeOperation_1=There are no incoming changes for the selected elements
ResourceMappingMergeOperation_2=&Done
ResourceMappingMergeOperation_3=Multiple potential side effects of this operation have been detected.
ResourceMappingMergeOperation_4=Preview the merge before it is performed

CompressedFoldersModelProvider_0=&Compressed Folders
HierarchicalModelProvider_0=&Tree
UIProjectSetSerializationContext_0=Project {0} exists in the workspace. Overwrite {0}?
UIProjectSetSerializationContext_1=Overwrite projects?
UIProjectSetSerializationContext_2=Project {0} exists in the file system. Overwrite {1}?
RemoveSynchronizeParticipantAction_0=Remove Pinned Synchronization?
RemoveSynchronizeParticipantAction_1=The current synchronization is pinned. Are you sure you want to remove it?
RemoveSynchronizeParticipantAction_2={0} contains unsaved changes. Would you like to save them?
RemoveSynchronizeParticipantAction_3=Save Changes
RemoveSynchronizeParticipantAction_4=There are unsaved changes.
RemoveSynchronizeParticipantAction_5=Save Changes

ConfigureProjectWizard_showAll=&Show All Wizards
ImportProjectSetMainPage_description=Import the team project file.
ExportProjectSetMainPage_description=Export selected resources into the team project file.
ExportProjectSetMainPage_warning=Some projects from the selected working sets cannot be exported. 
ExportProjectSetMainPage_DeselectAll=&Deselect All
ExportProjectSetMainPage_FileButton=F&ile
ExportProjectSetMainPage_EditButton=Edit...

DefaultUIFileModificationValidator_0=Read-only Files Encountered
DefaultUIFileModificationValidator_1=Some of the files being modified by the current operation are read-only. Do you wish to make them writable?
DefaultUIFileModificationValidator_2=The following files are read-only:
DefaultUIFileModificationValidator_3=Read-only File Encountered
DefaultUIFileModificationValidator_4=File ''{0}'' is read-only. Do you wish to make it writable?


CopyToClipboardAction_1=&Copy
CopyToClipboardAction_2= Copy
CopyToClipboardAction_3=Problem Copying to Clipboard
CopyToClipboardAction_4=There was a problem when accessing the system clipboard. Retry?

PasteAction_1=&Paste Patch
PasteAction_2=Paste a Patch
PasteAction_3=Cannot paste the clipboard contents.
PasteAction_4=Clipboard does not contain a valid patch.

FlatModelProvider_6=Sort &Resources By
FlatModelProvider_7=&Name
FlatModelProvider_8=&Path
FlatModelProvider_9=&Parent Name
FlatModelProvider_0=Flat

ChangeLogModelProvider_0a=Sort Incoming &Change Sets By
ChangeLogModelProvider_1a=&Comment
ChangeLogModelProvider_2a=&Date
ChangeLogModelProvider_3a=&User
ChangeLogModelProvider_0=&New Change Set...
ChangeLogModelProvider_12=Reassign Changes &To
ChangeLogModelProvider_13=Assign Changes &To
ChangeLogModelProvider_5=Commit &Sets
ChangeLogModelProvider_6=Ed&it Change Set...
ChangeLogModelProvider_7=Make Changes Unassigned
ChangeLogModelProvider_9=Mark Change Set as De&fault
ChangeLogModelProvider_10=Don't Use a De&fault Change Set
ChangeLogModelManager_0=Show Change Sets
ChangeSetActionGroup_0=Confirm Remove
ChangeSetActionGroup_1=Are you sure you want to remove {0}?
ChangeSetActionGroup_2=No Set
CommitSetDiffNode_0={0} (default)
FileTypeTable_0=Binary
FileTypeTable_1=ASCII Text
FileTypeTable_2=Yes
FileTypeTable_3=No
FileTypeTable_4=Name/Extension
FileTypeTable_5=Content
FileTypeTable_6=Remember decision?
OpenWithActionGroup_0=Open Wit&h

nameAndRevision={0} {1}
internal=An internal error has occurred, consult the error log for details.
TeamCompareEditorInput_repository=Repository: {0} {1}
TeamCompareEditorInput_titleAncestor=Compare {0} {1}-{2} and {3}
TeamCompareEditorInput_titleNoAncestor=Compare {0} {1} and {2}
TeamCompareEditorInput_titleNoAncestorDifferent=Compare {0} {1} and {2} {3}

TeamCompareEditorInput_comparing=Comparing...
TeamCompareEditorInput_different=Cannot compare resources of different kind.
TeamCompareEditorInput_new=File is new
TeamCompareEditorInput_deleted=File has been deleted
TeamContentProviderDescriptor_1=Attribute {0} of extension point {1} missing for extension with identifier {2}
TeamContentProviderDescriptor_2=Wrong number of {0} elements for extension with identifier {1}.

TeamCompareEditorInput_fileProgress=Comparing file: {0}

GenericHistoryView_ShowCommentViewer=Show Comment Viewer
GenericHistoryView_PinCurrentHistory=Pin current history view
GenericHistoryTableProvider_Revision=Revision
GenericHistoryTableProvider_Comment=Comment
GenericHistoryView_GenericFileHistoryFetcher=Fetching File History
GenericHistoryView_Refresh=Refresh
GenericHistoryView_0=Pin this History View
GenericHistoryView_1=Show {0}
GenericHistoryView_2=Show Previous Histories
GenericHistoryView_GetPredecessor=Get Predecessor
GenericHistoryView_LinkWithEditor=Link with Editor
GenericHistoryView_RefreshTooltip=Refresh
GenericHistoryView_LinkWithTooltip=Link with Editor and Selection
GenericHistoryTableProvider_Author=Author
GenericHistoryView_ShowTagViewer=Show Tag Viewer
GenericHistoryView_GetDirectDescendents=Get Direct Descendents
GenericHistoryView_ErrorFetchingEntries=Error fetching entries for {0}
GenericHistoryTableProvider_RevisionTime=Revision Time
GenericHistoryView_WrapComments=Wrap Comments
OpenRevisionAction_DeletedRevisionTitle=Deleted Revision
OpenRevisionAction_DeletedRevisionMessage=This revision represents a deletion and cannot be opened.
MergeIncomingChangesAction_0=Merge Failures
AdditionalMappingsDialog_0=Additional elements must be included in the current operation due to the relationship between the selected elements and the files in which they are stored.
AdditionalMappingsDialog_1=These are the elements you &selected:
AdditionalMappingsDialog_2=These are the elements that will be included in the &operation:
LocalHistoryTableProvider_localRevision=<local revision>
LocalHistoryPage_openRevision=Open Revision
LocalHistoryPage_CompareAction=&Compare
LocalHistoryPage_OpenAction=&Open
LocalHistoryPage_OpenWithMenu=Open &With
LocalHistoryPage_OpenWithMenu_Other=Other...
LocalHistoryPage_OpenWithMenu_OtherDialogDescription=Choose the editor for opening {0}:
LocalHistoryPage_OpenWithMenu_DefaultEditorDescription=&Default Editor
LocalHistoryPage_OpenEditorError=A problem occurred while opening the editor
LocalHistoryPage_0=Local History ({0})
LocalHistoryPage_1=Workspace File
LocalHistoryPage_GetContents=Get Contents
LocalHistoryPage_fetchingLocalHistory=Fetching Local History
LocalHistoryPage_FetchLocalHistoryMessage=Fetching local history revisions
LocalHistoryPage_GroupRevisionsByDateAction=Group Revisions by Date
LocalHistoryPage_GroupRevisionsByDateTip=Group Revisions by Date
LocalHistoryPage_NoRevisionsFound=No revisions found
LocalHistoryPage_OverwriteMessage=Do you wish to overwrite the current revision with the selected revision?
LocalHistoryPage_CollapseAllAction=Collapse All
LocalHistoryPage_CollapseAllTip=Collapse All
LocalHistoryPage_CompareModeAction=Compare Mode
LocalHistoryPage_CompareModeTip=Compare Mode
LocalHistoryPage_OverwriteTitle=Overwrite Current Revision?

CompareFileRevisionEditorInput_compareResourceAndVersions=Compare {0} {1} and {2}
CompareFileRevisionEditorInput_repository={0} {1} ({2})
CompareFileRevisionEditorInput_repositoryWithoutAuthor={0} {1}
CompareFileRevisionEditorInput_workspace=Local: {0}
CompareFileRevisionEditorInput_workspace_authorExists=Local: {0} ({1})
CompareFileRevisionEditorInput_0=Local Revision
CompareFileRevisionEditorInput_1=Current Revision
CompareFileRevisionEditorInput_2=Current
CompareFileRevisionEditorInput_localRevision=Local history: {0} {1}
ShowLocalHistory_1=Problem showing Local History
ShowLocalHistory_0=No local history available for selected resource.
ShowLocalHistory_2=Show Local History
DiffTreeChangesSection_0=However {0} has changes in {1} mode.
DiffTreeChangesSection_1=There are no more {0} changes for {1}. {2}
DiffTreeChangesSection_10={0} All models contained in this synchronization are all disabled.
DiffTreeChangesSection_11={0} The models that contain the changes may be disabled.
DiffTreeChangesSection_12=Enable All Participating Models
DiffTreeChangesSection_13=Show All Models
DiffTreeChangesSection_14=Perform the chosen operation automatically on subsequent restarts
DiffTreeChangesSection_2=Change to {0}.
DiffTreeChangesSection_3=This view is not populated on startup. You can choose to populate {0} without contacting the server or to synchronize with the server.
DiffTreeChangesSection_4=Populate
DiffTreeChangesSection_5=Synchronize
DiffTreeChangesSection_6=Synchronizing {0}
DiffTreeChangesSection_7=Updating {0}
DiffTreeChangesSection_8=There is 1 hidden change.
DiffTreeChangesSection_9=There are {0} hidden changes.
ModelParticipantPageDialog_0=&Replace
ModelParticipantAction_0=Save Changes
ModelParticipantAction_1={0} has unsaved changes. Do you want to save them?
ModelCompareEditorInput_0=Mark &as Merged
ModelCompareEditorInput_1=&Merge
ModelCompareEditorInput_2=&Overwrite
ModelSelectionDropDownAction_0=All Models
ModelSelectionDropDownAction_1=Show {0}
ModelSelectionDropDownAction_2=Flat Presentation
ModelEnablementPreferencePage_0=Models
ModelEnablementPreferencePage_1=&Select the model types that should be available when synchronizing
ModelSynchronizeParticipant_0={0} failed to initialize due to missing data during restore.
ModelSynchronizeParticipant_1=Participant {0} is not capable of restoring its context
ModelElementSelectionPage_0=Synchronization Wizard
ModelElementSelectionPage_AllModelsDisabledTitle=Models Disabled
ModelElementSelectionPage_AllModelsDisabledMessage=All of the model types involved in this synchronization are disabled which means there are no elements to display. Would you like to enable them?
ModelMergeOperation_0=Confirm Merge
ModelMergeOperation_1=The following potential side effects have been identified. Would you like to continue with the merge?
ModelMergeOperation_2=Merges should only be attempted for operations that have a merge context
ModelMergeOperation_3=The &following items were selected
ShowModelProviderAction_0={0} for {1}
MergeAllActionHandler_0=Merging all changes in {0}
MergeAllActionHandler_1=Are you sure you want to merge {0} resources?
MergeAllActionHandler_2=Are you sure you want to merge {0} resource?
MergeAllActionHandler_3=Confirm Merge

HistoryPage_Today=Today
HistoryPage_Yesterday=Yesterday
HistoryPage_ThisMonth=This Month
HistoryPage_Previous=Older than This Month

OpenRevisionAction_DeletedRevTitle=Deleted Revision
OpenRevisionAction_ErrorTitle=Open Revision
OpenRevisionAction_ErrorMessage=An error occurred while trying to open the revision.
OpenRevisionAction_DeletedRevMessage=This revision represents a deletion and cannot be opened.

CompareRevisionAction_DeleteCompareMessage=One of the revisions represents a deletion and cannot be compared.
CompareRevisionAction_CompareWithCurrent=&Compare with Current Revision
CompareRevisionAction_CompareWithOther=&Compare with Each Other
CompareRevisionAction_Revision=Compare Current with {0}
CompareRevisionAction_Local=Compare Current with Local
CompareInputChangeNotifier_0=Updating Compare Editor
CompareInputChangeNotifier_1=Error updating compare editor
WorkingSetsDialog_TitleBar=Working Sets
WorkingSetsDialog_ErrorMessage=Please select or type in a working set
CompareLocalHistory_0=Compare with Local History
EditionHistoryPage_0=No differing versions of ''{0}'' were found in the local history
EditionHistoryPage_1=No differing versions of the element were found in the local history
EditionHistoryPage_2=Local History for ''{0}''
HistoryPageCompareEditorInput_0=&Replace
RegistryReader_0=Cannot create extension {0} {1}

TeamAction_errorTitle=Errors occurred
TeamAction_handlerNotEnabledTitle=Warning
TeamAction_handlerNotEnabledMessage=The action doesn't apply to the current selection.
SaveableCompareEditorInput_0=Show In

NotFound={0} not found
SaveablesCompareEditorInput_twoWayTitle=Compare (''{0}'' - ''{1}'')
SaveablesCompareEditorInput_twoWayTooltip=Two-way compare of ''{0}'' with ''{1}''
SaveablesCompareEditorInput_threeWayTitle=Compare (''{0}'' - ''{1}'' - ''{2}'')
SaveablesCompareEditorInput_threeWayTooltip=Three-way compare of ''{1}'' and ''{2}'' relative to common ancestor ''{0}''

SelectAncestorDialog_title=Select Common Ancestor
SelectAncestorDialog_message=Which resource would you like to use as the common ancestor in the three-way compare?
SelectAncestorDialog_option=''{0}''
#
# PatchParsedPage
#
PatchParsedPage_title=Patch Parsed
PatchParsedPage_description=The patch has been processed.
PatchParsedPage_clickFinishToGoToSynchronizeView=Click finish button to go to Synchronize view.
#
# PatchInaccessibleProjectsPage
#
PatchInaccessibleProjectsPage_title=Inaccessible Projects
PatchInaccessibleProjectsPage_message=Select projects to open before applying the patch. Inaccessible projects will not appear in the Synchronize view.
PatchInaccessibleProjectsPage_projectDoesNotExistInWorkspace={0} (Project does not exist in workspace)
PatchInaccessibleProjectsPage_selectExisting=Select Existing
PatchInaccessibleProjectsPage_deselectAll=Deselect All
PatchInaccessibleProjectsPage_openingProjects=Opening projects
#
# IgnoreLeadingPathSegmentsDialog
#
IgnoreLeadingPathSegmentsDialog_title=Ignore Leading Path Segments
IgnoreLeadingPathSegmentsDialog_message=Enter path segments to ignore (0..{0}):
IgnoreLeadingPathSegmentsDialog_notANumber=Not a number
IgnoreLeadingPathSegmentsDialog_numberOutOfRange=Number out of range
#
# FuzzFactorDialog
#
FuzzFactorDialog_title=Fuzz Factor
FuzzFactorDialog_message=Enter Fuzz Factor:
FuzzFactorDialog_guess=&Guess
FuzzFactorDialog_notANumber=Not a number
FuzzFactorDialog_numberOutOfRange=Number out of range

LoadingTeamCapabilities=Loading team capabilities support