/**************************************************************
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 *
 *************************************************************/

#include "updatehdl.hrc"

String RID_UPDATE_STR_CHECKING
{
	Text [ en-US ] = "Checking..." ;
};

String RID_UPDATE_STR_CHECKING_ERR
{
	Text [ en-US ] = "Checking for an update failed." ;
};

String RID_UPDATE_STR_NO_UPD_FOUND
{
	Text [ en-US ] = "There is currently no update available for %PRODUCTNAME %PRODUCTVERSION\nor a newer version wasn't released to the wider public yet." ;
};

String RID_UPDATE_STR_UPD_FOUND
{
	Text [ en-US ] = "%PRODUCTNAME %NEXTVERSION is available.\n\nThe installed version is %PRODUCTNAME %PRODUCTVERSION.\n\nNote: Before downloading an update, please ensure that you have sufficient access rights to install it.\nA password, usually the administrator's or root password, may be required." ;
};

String RID_UPDATE_STR_DLG_TITLE
{
	Text [ en-US ] = "Check for Updates" ;
};

String RID_UPDATE_STR_DOWNLOAD_PAUSE
{
	Text [ en-US ] = "Downloading %PRODUCTNAME %NEXTVERSION paused at" ;
};

String RID_UPDATE_STR_DOWNLOAD_ERR
{
	Text [ en-US ] = "Downloading %PRODUCTNAME %NEXTVERSION stalled at" ;
};

String RID_UPDATE_STR_DOWNLOAD_WARN
{
	Text [ en-US ] = "The download location is: %DOWNLOAD_PATH.\n\nUnder 'Tools - Options - %PRODUCTNAME - Online Update' you can change the download location." ;
};

String RID_UPDATE_STR_DOWNLOAD_DESCR
{
	Text [ en-US ] = "%FILE_NAME has been downloaded to %DOWNLOAD_PATH." ;
};

String RID_UPDATE_STR_DOWNLOAD_UNAVAIL
{
	Text [ en-US ] = "The automatic download of the update is currently not available.\n\nClick 'Download' to download %PRODUCTNAME %NEXTVERSION manually from the web site." ;
};

String RID_UPDATE_STR_DOWNLOADING
{
	Text [ en-US ] = "Downloading %PRODUCTNAME %NEXTVERSION..." ;
};

String RID_UPDATE_STR_READY_INSTALL
{
	Text [ en-US ] = "Download of %PRODUCTNAME %NEXTVERSION completed. Ready for installation." ;
};

String RID_UPDATE_STR_CANCEL_TITLE
{
	Text [ en-US ] = "%PRODUCTNAME %PRODUCTVERSION" ;
};

String RID_UPDATE_STR_CANCEL_DOWNLOAD
{
	Text [ en-US ] = "Do you really want to cancel the download?" ;
};

String RID_UPDATE_STR_BEGIN_INSTALL
{
	Text [ en-US ] = "To install the update, %PRODUCTNAME %PRODUCTVERSION needs to be closed. Do you want to install the update now?" ;
};

String RID_UPDATE_STR_INSTALL_NOW
{
	Text [ en-US ] = "Install ~now" ;
};

String RID_UPDATE_STR_INSTALL_LATER
{
	Text [ en-US ] = "Install ~later" ;
};

String RID_UPDATE_STR_INSTALL_ERROR
{
	Text [ en-US ] = "Could not run the installer application, please run %FILE_NAME in %DOWNLOAD_PATH manually." ;
};

String RID_UPDATE_STR_OVERWRITE_WARNING
{
	Text [ en-US ] = "A file with that name already exists! Do you want to overwrite the existing file?" ;
};

String RID_UPDATE_STR_RELOAD_WARNING
{
	Text [ en-US ] = "A file with the name '%FILENAME' already exists in '%DOWNLOAD_PATH'! Do you want to continue with the download or delete and reload the file?" ;
};

String RID_UPDATE_STR_RELOAD_RELOAD
{
	Text [ en-US ] = "Reload File" ;
};

String RID_UPDATE_STR_RELOAD_CONTINUE
{
	Text [ en-US ] = "Continue" ;
};

String RID_UPDATE_STR_PERCENT
{
	Text [ en-US ] = "%PERCENT%" ;
};

String RID_UPDATE_FT_STATUS
{
	Text [ en-US ] = "Status" ;
};

String RID_UPDATE_FT_DESCRIPTION
{
	Text [ en-US ] = "Description" ;
};

String RID_UPDATE_BTN_CLOSE
{
	Text [ en-US ] = "Close" ;
};

String RID_UPDATE_BTN_DOWNLOAD
{
	Text [ en-US ] = "~Download" ;
};

String RID_UPDATE_BTN_INSTALL
{
	Text [ en-US ] = "~Install" ;
};

String RID_UPDATE_BTN_PAUSE
{
	Text [ en-US ] = "~Pause" ;
};

String RID_UPDATE_BTN_RESUME
{
	Text [ en-US ] = "~Resume" ;
};

String RID_UPDATE_BTN_CANCEL
{
	Text [ en-US ] = "Cancel" ;
};

String RID_UPDATE_BUBBLE_T_UPDATE_AVAIL
{
	Text [ en-US ] = "%PRODUCTNAME update available" ;
};

String RID_UPDATE_BUBBLE_UPDATE_AVAIL
{
	Text [ en-US ] = "Click here to start the download." ;
};

String RID_UPDATE_BUBBLE_T_UPDATE_NO_DOWN
{
	Text [ en-US ] = "%PRODUCTNAME update available" ;
};

String RID_UPDATE_BUBBLE_UPDATE_NO_DOWN
{
	Text [ en-US ] = "Click here for more information." ;
};

String RID_UPDATE_BUBBLE_T_AUTO_START
{
	Text [ en-US ] = "%PRODUCTNAME update available" ;
};

String RID_UPDATE_BUBBLE_AUTO_START
{
	Text [ en-US ] = "Download of update begins." ;
};

String RID_UPDATE_BUBBLE_T_DOWNLOADING
{
	Text [ en-US ] = "Download of update in progress" ;
};

String RID_UPDATE_BUBBLE_DOWNLOADING
{
	Text = "" ;
};

String RID_UPDATE_BUBBLE_T_DOWNLOAD_PAUSED
{
	Text [ en-US ] = "Download of update paused" ;
};

String RID_UPDATE_BUBBLE_DOWNLOAD_PAUSED
{
	Text [ en-US ] = "Click here to resume." ;
};

String RID_UPDATE_BUBBLE_T_ERROR_DOWNLOADING
{
	Text [ en-US ] = "Download of update stalled" ;
};

String RID_UPDATE_BUBBLE_ERROR_DOWNLOADING
{
	Text [ en-US ] = "Click here for more information." ;
};

String RID_UPDATE_BUBBLE_T_DOWNLOAD_AVAIL
{
	Text [ en-US ] = "Download of update completed" ;
};

String RID_UPDATE_BUBBLE_DOWNLOAD_AVAIL
{
	Text [ en-US ] = "Click here to start the installation." ;
};

String RID_UPDATE_BUBBLE_T_EXT_UPD_AVAIL
{
	Text [ en-US ] = "Updates for extensions available" ;
};

String RID_UPDATE_BUBBLE_EXT_UPD_AVAIL
{
	Text [ en-US ] = "Click here for more information." ;
};

// ********************************************************************** EOF
