###############################################################################
# Copyright (c) 2007, 2009 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
###############################################################################


SchedulerStartup_day=Every day
SchedulerStartup_Monday=Every Monday
SchedulerStartup_Tuesday=Every Tuesday
SchedulerStartup_Wednesday=Every Wednesday
SchedulerStartup_Thursday=Every Thursday
SchedulerStartup_Friday=Every Friday
SchedulerStartup_Saturday=Every Saturday
SchedulerStartup_Sunday=Every Sunday
SchedulerStartup_1AM=1:00 AM
SchedulerStartup_2AM=2:00 AM
SchedulerStartup_3AM=3:00 AM
SchedulerStartup_4AM=4:00 AM
SchedulerStartup_5AM=5:00 AM
SchedulerStartup_6AM=6:00 AM
SchedulerStartup_7AM=7:00 AM
SchedulerStartup_8AM=8:00 AM
SchedulerStartup_9AM=9:00 AM
SchedulerStartup_10AM=10:00 AM
SchedulerStartup_11AM=11:00 AM
SchedulerStartup_12PM=12:00 PM
SchedulerStartup_1PM=1:00 PM
SchedulerStartup_2PM=2:00 PM
SchedulerStartup_3PM=3:00 PM
SchedulerStartup_4PM=4:00 PM
SchedulerStartup_5PM=5:00 PM
SchedulerStartup_6PM=6:00 PM
SchedulerStartup_7PM=7:00 PM
SchedulerStartup_8PM=8:00 PM
SchedulerStartup_9PM=9:00 PM
SchedulerStartup_10PM=10:00 PM
SchedulerStartup_11PM=11:00 PM
SchedulerStartup_12AM=12:00 AM
AutomaticUpdatesPopup_PrefLinkOnly=Set up <a>Reminder options</a>
AutomaticUpdatesPopup_RemindAndPrefLink=You will be reminded in {0}.\nSet reminder <a href="{1}">preferences</a>
AutomaticUpdatesPopup_ReminderJobTitle=Update reminder job
AutomaticUpdatesPreferencePage_findUpdates=Automatically &find new updates and notify me
AutomaticUpdateScheduler_30Minutes=30 minutes
AutomaticUpdateScheduler_60Minutes=Hour
AutomaticUpdateScheduler_240Minutes= 4 Hours
AutomaticUpdateScheduler_UpdateNotInitialized=The update checker service is not initialized
AutomaticUpdatesPopup_UpdatesAvailableTitle=Updates Available
AutomaticUpdater_AutomaticDownloadOperationName=Automatic updates download
AutomaticUpdater_ClickToReviewUpdates=Updates are available.  Click here to review and install them.
AutomaticUpdater_ClickToReviewUpdatesWithProblems=Updates are available, but there may be some compatibility problems.  Click here to review them.
AutomaticUpdater_ErrorCheckingUpdates=Unexpected error while checking the validity of updates.
AutomaticUpdater_ResolutionOperationLabel=Computing Automatic Updates
AutomaticUpdatesPreferencePage_UpdateSchedule=&Update schedule
AutomaticUpdatesPreferencePage_findOnStart=Look for updates each time &platform is started
AutomaticUpdatesPreferencePage_findOnSchedule=Look for updates on the following &schedule:
AutomaticUpdatesPreferencePage_downloadOptions=&Download options
AutomaticUpdatesPreferencePage_searchAndNotify=Search for updates and &notify me when they are available
AutomaticUpdatesPreferencePage_downloadAndNotify=Down&load new updates automatically and notify me when ready to install them
AutomaticUpdatesPopup_ClickToReviewDownloaded=Software updates have been downloaded.\nClick to review and install updates.
AutomaticUpdatesPopup_ClickToReviewNotDownloaded=Updates are available for your software.\nClick to review and install updates.
AutomaticUpdatesPreferencePage_at=at
AutomaticUpdatesPreferencePage_RemindGroup=&When updates are found
AutomaticUpdatesPreferencePage_RemindSchedule=&Remind me about updates every:
AutomaticUpdatesPreferencePage_RemindOnce=Notify me &once about updates
ErrorSavingPreferences=Error saving update preferences
ErrorSavingClassicPreferences=Error saving classic update preferences
ErrorLoadingPreferenceKeys=Error loading preference keys