###############################################################################
# Copyright (c) 2005 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
###############################################################################
#
#Tue Nov 08 15:35:59 EST 2005
SynchronizationManager_deleted_title=File Deleted
CompositeEditorManager_Could_not_find_editor=Could not find editor\: {0}
ModelMarkerUtil_8=Multiple content providers for marker type {0}
ModelMarkerUtil_5=Marker not subtype of graphicalMarker
ModelMarkerUtil_6=Could not instantiate marker content provider from the extension {0}
ModelMarkerUtil_7=Marker content provider with null markerType from the extension {0}
EditPartMarkerEectorator_1=There are {0} issues here:
SynchronizationManager_deleted_message=The file has been deleted from the file system. Do you want to save your changes or close the editor without saving?
CalendarPopup_todayButton_text=&Today
EditModelCommandStack_validateEdit_message1=The files {0} can not be changed. {1}
EditModelCommandStack_validateEdit_message0=The file {0} can not be changed. {1}
CompositeEditor_3=The editor is not connected to this composite editor.
CompositeEditor_2=Saving...
DatePicker_button_text=...
CompositeEditor_0=The active editor cannot be removed
EditModelCommandStack_validateEdit_title=Can not change files.
CalendarPopup_noneButton_text=&No Date
CalendarControl_title={0} {1}
SynchronizationManager_refresh_title=File Changed
CompositeEditor_Cannot_disconnect_active_editor=Cannot disconnect active editor\: {0}
# Bugzilla 330513
SynchronizationManager_refresh_message=The file {0} \n\
     has been changed on the file system.\n\
     Do you want to load the changes?
SynchronizationManager_saveButtonLabel=Save
CompositeEditorManager_5=Embedded editors must provide an id. Ignoring editor.
DatePicker_noDateSelected=None
